@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-ext-700-normal-Do0rx6yy.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-700-normal-BaW-xaxb.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-cyrillic-700-normal-SLG_-a_c.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-700-normal-D3uyJ5DH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-vietnamese-700-normal--OtHbi1I.woff2) format("woff2"),url(/assets/cormorant-garamond-vietnamese-700-normal-GOTdnRS1.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-ext-700-normal-CNjt5vTB.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-700-normal-qRbaVVD7.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-garamond-latin-700-normal-DajfzrDU.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-700-normal-O25Qpphb.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-ext-400-normal-El6lRT8b.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-400-normal-fk07B0hk.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-400-normal-DUb-KqT8.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-400-normal-DDHmqnIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-vietnamese-400-normal-V2dSmW1H.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-400-normal-D5dwM7ZL.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-400-normal-CHwj-NZB.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2) format("woff2"),url(/assets/nunito-sans-latin-400-normal-DY9yCUyQ.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-ext-600-normal-CVjnjZn6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-600-normal-DZXkk6dX.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-600-normal-D4TuIAT6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-600-normal-CKMyzy87.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-vietnamese-600-normal-DD7cNabE.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-600-normal-BW3IEr32.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-ext-600-normal-nHO2odcJ.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-600-normal-DEh-VjuY.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2) format("woff2"),url(/assets/nunito-sans-latin-600-normal-DLks-Kj1.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-ext-700-normal-GO46tfsI.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-700-normal-Cqve7k0J.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-700-normal-BJ2iHHyS.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-700-normal-DG2UZxR9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-vietnamese-700-normal-CZwaiz_e.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-700-normal-BwTSkH1V.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-700-normal-jHN8vCOt.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2) format("woff2"),url(/assets/nunito-sans-latin-700-normal-CLVG92B9.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-cyrillic-ext-800-normal-suUH8DVf.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-800-normal-DlIrhRQ2.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-cyrillic-800-normal-COys2OwR.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-800-normal-x7mxdBjZ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-vietnamese-800-normal-CfdX2BhI.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-800-normal-hO2TqS3m.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-latin-ext-800-normal-DWckPAf3.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-800-normal-DG0lbXwA.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:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-latin-800-normal-MgCk9Q3Y.woff2) format("woff2"),url(/assets/nunito-sans-latin-800-normal-DOf_K5Iw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbAAA8AAAAACKAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFAAAABgF8xca1NUQVQAAAIIAAAAMQAAADbkK8oAY21hcAAAAjwAAABRAAAAdAyHCodnYXNwAAACkAAAAAgAAAAIAAAAEGdseWYAAAKYAAAB8gAAAl6l3qsraGVhZAAABIwAAAA2AAAANhSS8UNoaGVhAAAExAAAAB8AAAAkAcwBB2htdHgAAATkAAAAHwAAADoe+QK+bG9jYQAABQQAAAAgAAAAIATcBZ9tYXhwAAAFJAAAABwAAAAgAIcCb25hbWUAAAVAAAABEAAAAl4y3VjQcG9zdAAABlAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpiimBgZWBg6gLSDAzeEJoxjsGI0QEoysDAyQAFTOwMSMDLCUgcYOBlecn8598VBgbmP4w6CgyM8+9fB6pUY7oFlFVgYAUA/6gNn3jaY2AEQg4GJgYGBhEGRiCpwsBUnp5RAmJmliTmMPIzMAJlmUEkowADCAClAG7/A9gAAAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabdA1mNRAFADgNzOQrO9m9dzCJecWmXX7jgZ3dz9pcLcaaXGnQxq8wt1dGhxqvLqEWVxu3P/5HhAYA4AM/ISNOLACKEK5UFkuIFQ+Bu01dqM64xSr9/CTLqkFxwzAMcAgA+BmdocHD4DiU3yiLPI+RZYkmeN4+cTGEwtqL9WktjU4BEI8jtzlI0dQ4Ko6xOMZrIJpfn+BHMUSIAAmO0u6W3WxFkEBW00yjc0UgSi+YDCk69SnEOH9o8VLnIwQHAsXP0J2dNP4UqS63WoRshrNxifT/HkXc9ADAAj0Nz9jO37F3gpBGUDPCkkTVF1pCQYEP8fJLbqmiQF/kCiaKokVXADVtS1Y0Na2QJ/Wm0aeRaPPIpRGbPOnocTU+fOnGmezk/UZSTpnDk2ivlPCiUSYmfVmP1yLJWZa/zCbQGC/Eb+Zkqapek4NBgJ/svJvtnUapdNav7c09ioefxWjetymTc6sy0zStEnp9ZnJ2pREuLQ0nHhbSBMJCuinDF6AkMYiVYJDIZrEuVgF3p9f1MnbLRhhzNv5toXnDh/GkrE/WF1mtdmsZdUBNLzryWEABBdJDTpIjgIB8FGFv9i2Yg6pWbuW7awmInrIdpwAiEVO8QeVFp11HKrrN3Fsba/K+jETiDg4W1FTU5EdDF8BJQaE9AAAAAEAAAACNgQzGROsXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9LWCYBRVABHwCttwbRAHjaY4pgiAJidSQsBcW+QKyLRDNAMQgcZ2gEAOKlB9IAAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqVkANuhVEQhb/aCMqgCGrbtt342faL0aiL6Eq6lK6gq+hJqmfkZnK+e+bM/ACaeKWKiuoG4L2i+4crmOTzhytp5eOHq9jk7YerUzI19PLyw7WM8/zDrSwy+M0V0EznD7eJG3+4XQS3+PFixMcJEakHJ2aesErtOOSpdAKEWWWKKamZkLoBIuJJwmKP1C/Xrv4Vh5xzilX9XXlG9X1KXSjhU01wp55X7q5uHiw86h5Ce1CCfmaZVM3o/NMap8qvlbX3Vnc7UbFR+ezJ/r/Z/qzZPWmAJKG//6D3YhqV6F6OVVp45zUhqUsZM5pnh6jUIS+Ekgxn/Vs7TpRQzsQkZiW9crOfMlXgP4x8AWVxW9542mNgYgCD/6kMRkCKkQEd8AOxCsNJRiYGG0ZmRhZGVkY2RnYGZkYORk5GLkZuNsekotSyVPbSvEwDE0dXCO1qAeW7QfmWrOmJubmJYJ6BowGTcxBfYnJpSWpyfm6SXnJicSoPSMbYwAzMAQCg7RyY) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAA+cABAAAAAALLwAAA88AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUNgCDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUiB4xODAcbAiYzozactEpURMVmRMX/5YAeEbZcwG/CMMAQKoJWtdookZoS3aytxmC050sOI7cCAow302fVqlctEo2fsCH8NF7hT+iw0j9ChNjZ8mDDCKqxsmf2gdUroKACZgVMClhYtHG58kFWiUIXox5+nrb1f+4MUcKgDUhpU2kUtTpEWk2URbgiu+1zX2fy3o9MUYVLx3hhubmNsFpCMdsEk1F5+8ezc+v/smvX9vzNVygBp/rnXWMsECqg7HGvu2v3ux/JGhqUxXWMZcyPTSxsB6q1KNuR9/YiPE/t+m+wjit3IdpAssXS2tAXBVLadh69dFxz5v/mSpvZnzkuAERVVbgpkvF9Pvcvmd3p3KVAySEUCHOcEigE2ToCFrZqdZl0fZWxhefrTM7sf7FF/7NYSgxz0ya9TirWLutNmVKxwRKXQOv7pmo+oJFsPTEkTMMUODQyz6PtqbkAATQBkAjo6nmv1gQRaoZIKCAqJohFL6TfKMQtBImYgEyJQuLWIZvykB07cLvKcMfsKc64q0BAg1Z62MLFnghwj+wsrAMXBTAIAmIlTQADCEnRfB0FBpRXxn+ZeuBILJs5dGcQP+L7PDFcjHgb87y5DRqvxlP0zuuYU9SNJ6My5+oi3AuOtcbt8RCGyguGENEyhmPtIK84ABAjgC5OpyEVeFwMIyFx3o0AQEAjCKETdGACG5DghZlTreIC24ANwHoYjoN4QBZrc4HpBlCRgILbnCRdVdkXIArtCKJMwFDe9QAsog1VtFzNF7iRMCXI3bvXNoFLKJ4AKGiSPDy4+FtpQBJhwSGtkDsRQDUcCJcL1RBQBYM55Tqfw4kDAyaNHq9wzXXntjsaw546SDX1oFXxaa8NT6fVIiiBbueAzuWY4064oiqncgoV5F2vMlhxobGNvmGQoB5AD1gjDI66/AC81NxzX+kbAPeXGEopoEf/To7AKuhBhbZ5IaAVAobBzu9PFhCAf4obDfEAwUYNCwKAHzmmogK9BEpsmowsRUFRhW8/4mavoiA+6kKpuCUqJXAKzsRbxP+S+kFAe5REBOpEybg5nhT4JBiAm4NMiXz30zxI69/t1+5uFsC/rwJO3UZETEquFWDIzX9gKfoRxjSbYLKu3SKNpB0ntDiEZxSTDZsDh1MVFxY7igE0Q+iGMYygGtQgoFFQk5BqbrW86vjU86vhITJOKKLVvDYLJKbIzJCb1WKO1LQOS7qs6LZKIarTMpU4tQStFL0MgyyjNTppVlssNvXI6ZWHoEF4APcgJgPYAqrOg+o3VL2ndACgwAYRrWou4vJCYQmzVC4clmyOc162TWEtg4xpy1UwqC8Mk+cc+6zCcQaTwmFxONXcPlDdT8lrZjdwKQIWK5wq5DZQhgBn2jWFQueKKDxfcE9X5/K5Qn20+XSh25sgZn0IkfjsCLqIzqZWUVaaqVFsm0QD9axu1Y7qv3z+un/s0KGZV/wHZFLsra4ozHo2uzQRCZxjisobHSwnjAIfdQPlRE490vB5eRYOMundUNGTQgrrJgRGqlTmlWMdkp7nh8WsNcdUtq3WVzj7+L/pqJmp3RzQi0S/LcxLKzYyMkZ7xmgLifQMrK4v/TmpT6qTDB02pFJBYptugyGMR4IGxhk32qNz/ggNUVm7WWhGI25xZlv3YkNFbyYYx1Epq0zMcy8aQXOx3seiAXt6FWqNvlpf9urn76aj5WSLa6jSoRC+4sFvQqVvigXIidDMZuS6aoOGqs4xalavbgJTaVFsNwFIR0+7nQUHMXpSjNvtfayp8p0O6DCo/CivjYoLqfHo7F82L0q5gSnLE+zx8iQ7Ui7abLlly6Tccdo+i/rXNDHJjsiBCZoVhtmvQievtFzZ1bX9ZxkNNXu50Q3JTLIjS5vAXeSBWZqa0SKWl+O6aI6L1GD2C2OVRdxEUnnoql3o8UyeInQmknvgvk0nz33y3jvLL/fEHXfs6gwbYcozlIEX+O2cLmfyWcxUbq/M65R9QweKXiV0PP3N1bOr2u5+/O2uxwdrb1C9+xgR1Gh4gceASYYbw5+SlauzS1v6os46Z18sbSHn0vO9I0PWOst4ob3zMFt5JD74ljAu/NFgHBYSl3EuS1zf7x0UTGfUYFoasdlMizepTteqwdOFwIis8x+PM25KmWzmpMmUNNtMJTiTCcgIOeFe9Bls/dbTxcu/gYKZLuSjnALbPGcyZs3sAieaz8NT5wT0iy7y9cuUR/0z+6vvpRLjvaJW489tM0rS88qGjzm+MuUNpCcXL9F1L2oVe/4cw70zPRfNr05s51ZqLAOzrrZJi8uqdF3U+d/2rmMA9eGlzaW5paXNsMPntp0rwE58XajkUk3n2nxuQVSXMYVMGZ1hxhwyz8BXoZUQKJiOmNGyNHzhsGUpZnQ4o91dW40o+h6wqjayeY6zFG5ySPou7LE81NvwG7A6/Ur47lTj8w+mQcFIUQy27Vzb3DgcncNGzkOcVcx4jeVc69VGw93Wcy33wNFXAmr+hMewY+z9lv13L78f3cz4dj46VZy0ZHT6smWyOBXdyYP3vZnirKlLqe4yza6aKwsP+4iFFc1vLa/ktuDux7yfvk87keko/MZu+E003lFmfsO48NLGYuvS4nrE4fOM7BC98a78I0y/OP3DP+inTQLTtN4wZRaYp7TXhbQhuOm0LCKVjcuksVlYlKELMnYzQgQUp9su76pf0dZ2xdleDsK9/Hkn0+fBm3vJ845tnQeZvXPOy7Kd945NDwIURz0LAduM/JnWtnfkM7b5AGydkoSvyRNViBCSMm1KSTW4B0Tz3ZiGU1fOhmbh33uiTzg1zQEy1d3dKutYBMX32q6QSq9sa7vSHfcKEODdsvEKlVhIbMg48F/rbimRk+/uAzR5xrv46tda+mqz8ntWu6Gls49nGIb6F8d7TPzbH3OqxV5yVnNtm7hH0380iuO+lbH+KeGfurr+JJzqXx67cC+3v1HaP11+e6/UotxZnN5754Uq1rstQ4cCynQL9/prOcrypzwLE46LPu7o/KFovF84If0Oabi0SnAPeCJSoC6qRlvcLO72r9qGG/5RbHeOnHdL7ux1Vy+SY277/X+cjHSze97H7+POf/xmbPavWoYPeTW7rdxrrldddtaoDbheGjq8nKt+I9mg2tYlsYLyTWSdV3O//kfn3rafKG5uFO0lZ9A1EGwekfXJRpqDAwGXC4ifcE79VEOlpWJ6pgi81854dhhMzqGRFVm/kHfPrtuVsDnqY5xhsrcn2Phl02jTl43BntC5DyvPNN/3x+cIzv+raCStW6sQX/+H54mqPzT1wXcR0PTZfrJY2ijeUqp1T6Ka/UJxZ634+qn3Ingte/U1bKLGYZvu+Jms6poz71y7uBOLe9vlxXKtZ9Lpu2eycEEwWDsgEDWQiYXqBQDlMiUh8OyDJoIs9nL3FWCvZK8q+Cwb9mr2GnrtzEkmjVwLAD7cO0p+3H0WUPmuWq52AbB3UZ4ktpZlFAQeUqhMzUelDwoWt6OKOfnBilmxKrZY4KWg3ZPVApUcZdKv/e2r7b6/q0oLwNnSvOYKoKUOK4qise/HrEbVUPALYC5Dlt+ANbNm6PNYKnJbACNkhu6mxtMBsT07yNGmI45Q2YmdF2OBJAnKR9r7KCrpA5ZkSUrOAbEAJ8NF+pb45OND2A0BXL7JpnygTloscLCTdHL2SSZg0aNrGZUcZdTXs0qKcH9XYxaAMyQ9ug7V+A8op77hbBgz/wBHNobUAuEuybBw/VgoAzriBwOYczD0vf/9/X9/8Oj3///PsReAkQCpw5/0lP8ucCAXZ4+Cjqupnlr9ZmWwStIvbE4mHcKhs8jUanFUOpli3JdsPw0LlIr+jVUQBlAG/3Lw0+A52Jy+oIhAplbgIORPGYEsFUkiWN2iCfql8zR4VQ4bq0A5Ev+yQhZ/kmSNsgnO8mkQthCo7UGsgjAAHSbolzpIbxIL54OcX5BcRNAn4cEVz8f3WA4SbjruXop9TNUf03LSAJDJhCRcSlISIbiIUekwGYGeUwM+2CqcQDgAHRA1KIg5RbGIBiAqqXF+sho7IZoeHcDiuJkq7eBDqpDA+Upe7HIRQQeghrBkdxHRDumBARhA3AgCkWbK/TrDHYu8/r8xcPyX8OvTO6/FhVc+/jPYgRw7H/8vQA2EIAiQr3ttOaUJ+19hJYBgEhfjYoZKq8MhrFadbd5Cm/C0Dm+LBG2il3hblWyer02QrcPXom42bji2Fzjpex774IiTrg3iu1jwyVFepionHYXDPU/QvhBwzygUQWd5BEgWim92qz9VFRPA0xYKGqKuXsNwg6HhBr3rpig1KoGHNRqlPY3LzKcRRPSN+QjysRBAk3oQHmUJgo8F1tuwZtm6MQWv6ayUVZNiTkIyIsIs1sZ/N5sNWVGkmAKbnGUp6/KkvDas25BUULApr5eGRt6qnJRNBXlqeSlZahtyEjT8XDy2fChY1QKZEDkdpIKV0lPT09H5g/uQbO48MichJ6EorP6y3EYLlho4dhv3ySW5g4tpTmodRyoik9hcGDsBORZppVw1cUYUPZk8LtQX3HnACQkpnVO0ci9XX83CNKWKqjmMjC6Yqf5g9PSe4U9wD8O8sxXEdHqDYjSZLVab3eFMJwJftRq16tRriFKjJoLoCYk0E5OQkpFr0apNu45YderSTUFJRU1Dm346egbGOJiYWVj16NWn34BBQ4aNQBllY+fg5HLIqLF8RZKbJyFePn4BQSFhEeMmTJoynSkzZs2Zt2DRkmUrmbMqKiYe3CMpJS0ja826DZu25OQVFG07bEfJrrIjjjrmuBMokcrkCqVKrdHqSny/tr9tXvyOGG30rJMAJDy0eCQaC1xQ5qiv+/KzmMSJlwAg4dZprHjr7ZnOxv7jZbNFEDKgIXiZtaTTOPW/99dNI7aOqXiJkwgefCmn4xYFia6TFus9PmM2XvF34tn0/wtZBr30OjpbflFIKBCGKEFAYXBgaSJp4hVAmAjrDE6C9a5jstSrAWJgCBQhmqYbOBiBBCKialrEgDhCLGXFmMhKqMzqJ4CFkf2aRNttL24YaB6pMvXxl0fuyuX6/TwUCk88kmW++/g5b5Ptfl6u7unbJto+f9aUhYo86S+abLrrPFhkKuCbYg/3RjZd2QeF4e1FA4WqntdRyb62TJw2Chq0gQWkUYM272xWJMurZi8h7DSKFU9P4QSnMWz/788ruR4A) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.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{--font-display: "Cormorant Garamond", "Georgia", serif;--font-display-solid: "Georgia", "Times New Roman", serif;--font-body: "Nunito Sans", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", monospace;--color-primary-lavender: #a897d2;--color-primary-pale-blue: #8caec9;--color-primary-dusty-rose: #b88faa;--color-primary-moss-green: #8da97b;--color-primary-soft-gold: #bea873;--color-neutral-deep-mist: #22293c;--color-neutral-soft-fog: #6f7da1;--color-neutral-cloud: #d8def1;--text-primary: #dbe3f8;--text-secondary: #aebada;--text-tertiary: #9fb0d8;--text-disabled: #7f89a8;--text-heading: #d4ddf5;--text-bright: #dde6ff;--text-placeholder: #98a5c6;--text-white: #fff;--text-muted: var(--text-tertiary);--accent-primary: var(--color-primary-pale-blue);--color-hp-light: #c5d8a8;--color-hp-dark: #9ebf75;--color-mana-light: #b8d8e8;--color-mana-dark: #7fb6cf;--color-xp-light: #e8d8a8;--color-xp-dark: #ddb86f;--color-status-online: #cde6bf;--color-status-offline: #ecc4ce;--color-status-ready: #cde6bf;--color-cooldown: #d9c8a1;--color-error: #e8a0a0;--color-damage: #d4888a;--color-heal: #8abf8a;--color-info: #8caec9;--color-dodge: #d9c8a1;--color-xp: #bea873;--line-soft: rgb(151 166 204 / 36%);--line-faint: rgb(140 154 193 / 24%);--glass-edge: rgb(236 242 255 / 18%);--surface-panel-a: rgb(54 63 90 / 95%);--surface-panel-b: rgb(43 53 79 / 92%);--surface-subpanel: rgb(50 60 88 / 94%);--surface-chip: rgb(62 74 108 / 90%);--surface-input: rgb(45 56 84 / 96%);--surface-terminal: #2f3446;--surface-reading-veil: rgb(34 41 60 / 84%);--surface-reading-veil-soft: rgb(34 41 60 / 56%);--bg-primary: #2a3149;--bg-secondary: #262f47;--bg-elevated: #313a56;--bg-deep: #141828;--color-gold-bright: #d4b85c;--color-gold-coin-light: #ffe580;--color-gold-coin-dark: #c8a230;--color-toast-text: #f0d0e0;--color-accent-violet: #ce93d8;--line-panel: rgb(88 89 114 / 30%);--button-gradient-primary: linear-gradient(135deg, rgb(96 81 116 / 90%), rgb(76 99 132 / 88%));--button-gradient-secondary: linear-gradient(135deg, rgb(77 88 121 / 92%), rgb(64 79 112 / 88%));--button-gradient-tertiary: linear-gradient(135deg, rgb(62 74 108 / 80%), rgb(54 63 90 / 76%));--shadow-sm: 0 2px 7px rgb(8 10 18 / 30%);--shadow-md: 0 10px 26px rgb(8 10 18 / 36%);--shadow-lg: 0 16px 40px rgb(8 10 18 / 44%);--shadow-glow: 0 0 22px rgb(103 116 170 / 28%);--shadow-reading-text: 0 1px 2px rgb(8 10 18 / 92%), 0 0 8px rgb(8 10 18 / 82%), 0 0 20px rgb(8 10 18 / 68%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--ease-in-soft: cubic-bezier(.25, .46, .45, .94);--ease-out-soft: cubic-bezier(.33, .66, .66, 1);--ease-in-out-smooth: cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-hud: 80;--z-popout: 100;--z-drawer: 120;--z-terminal: 160;--z-inspect: 1000;--z-critical: 1100}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}@media(hover:none)and (pointer:coarse){input,textarea,select{font-size:16px!important}button,a,input,textarea,select,[role=button]{touch-action:manipulation}}body{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 16% 10%,rgb(96 84 138 / 36%),transparent 46%),radial-gradient(circle at 84% 14%,rgb(76 110 146 / 28%),transparent 50%),radial-gradient(circle at 50% 108%,rgb(85 74 124 / 24%),transparent 62%),linear-gradient(165deg,#252c42,#222a3f 48%,#252e45);font-family:var(--font-body);line-height:1.5;text-rendering:optimizeLegibility}.app-shell{position:relative;isolation:isolate;max-width:1600px;margin:0 auto;padding:var(--space-4) var(--space-4) calc(var(--space-4) + 72px)}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 22% 22%,rgb(124 110 172 / 22%) 0,transparent 35%),radial-gradient(circle at 76% 32%,rgb(102 131 171 / 18%) 0,transparent 38%),repeating-radial-gradient(circle at 50% 50%,rgb(255 255 255 / 2%) 0 1px,transparent 1px 15px);opacity:.28}.ambient-orb{position:fixed;z-index:0;pointer-events:none;border-radius:50%;filter:blur(4px);opacity:.4;animation:drift 11s var(--ease-out-soft) infinite alternate}.ambient-orb-a{top:-100px;right:-80px;width:260px;height:260px;background:radial-gradient(circle,#d8c5e8c7,#d8c5e800)}.ambient-orb-b{left:-90px;bottom:10%;width:220px;height:220px;background:radial-gradient(circle,#b8d8e8b8,#b8d8e800);animation-duration:13s}.top-banner,.dashboard{position:relative;z-index:1}.top-banner{isolation:isolate;overflow:visible;display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--line-soft);background:linear-gradient(145deg,#474f6de5,#374463d6),linear-gradient(0deg,#161a286b,#161a286b);box-shadow:var(--shadow-sm),inset 0 1px 0 var(--glass-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-3) var(--space-4)}.top-banner:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;overflow:hidden;background-image:url(/assets/banner-magic-v2-CRQt8Cg4.webp);background-size:cover;background-position:center 36%;background-repeat:no-repeat;opacity:.62}.top-banner:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;overflow:hidden;background:linear-gradient(102deg,#70649e4d,#5d668c3d 34%,#54719238 63%,#5e7b9e47),linear-gradient(180deg,#10121e5c,#10121e2e)}.top-banner>*{position:relative;z-index:1}.top-banner-title{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,2.45vw,2.45rem);font-weight:700;letter-spacing:.02em;color:var(--text-primary);text-shadow:0 1px 0 rgb(14 18 30 / 58%),0 0 10px rgb(137 155 214 / 30%)}.connection-cluster{display:flex;gap:var(--space-3);align-items:center}.connection-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 13px;font-size:.86rem;font-weight:700;border:1px solid var(--line-soft);color:var(--text-primary);background:linear-gradient(135deg,#4b5675e5,#3f4d6ddb);box-shadow:var(--shadow-sm);transition:color .3s var(--ease-out-soft),background-color .3s var(--ease-out-soft)}.reconnect-btn{opacity:.5;transition:opacity .2s var(--ease-out-soft),transform .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),background-color .18s var(--ease-out-soft),border-color .18s var(--ease-out-soft)}.reconnect-btn:hover{opacity:.85}.reconnect-btn-needed{opacity:1;background:linear-gradient(135deg,#b88faacc,#a87896c2);border-color:#b88faa7f;animation:reconnectPulse 2s ease-in-out infinite}@keyframes reconnectPulse{0%,to{box-shadow:0 0 4px #b88faa33}50%{box-shadow:0 0 12px #b88faa7f}}.connection-pill-online{color:var(--color-status-online);background:#5b795494}.connection-pill-offline{color:var(--color-status-offline);background:#79515d94}.audio-controls{position:relative;display:flex;align-items:center;gap:2px}.audio-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.audio-toggle-btn.audio-enabled{background:linear-gradient(135deg,#5b7954c7,#496b50bd);border-color:#78a06e66}.audio-toggle-icon{width:18px;height:18px}.audio-expand-btn{width:22px;height:36px;padding:0;border-radius:var(--radius-md);font-size:.7rem;line-height:1;display:flex;align-items:center;justify-content:center}.audio-sliders{position:absolute;top:calc(100% + 8px);right:0;z-index:100;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line-soft);background:linear-gradient(145deg,#373e58f5,#2a3248f0);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:180px}.audio-slider-row{display:flex;align-items:center;gap:var(--space-2)}.audio-slider-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.audio-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff1f;border-radius:2px;outline:none;cursor:pointer}.audio-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-lavender),var(--color-primary-pale-blue));border:1px solid rgb(255 255 255 / 20%);cursor:pointer;box-shadow:0 1px 4px #0000004d}.audio-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-lavender),var(--color-primary-pale-blue));border:1px solid rgb(255 255 255 / 20%);cursor:pointer;box-shadow:0 1px 4px #0000004d}.soft-button{position:relative;overflow:hidden;border:1px solid var(--line-soft);border-radius:999px;padding:8px 14px;background:var(--button-gradient-secondary);color:var(--text-primary);font-weight:700;cursor:pointer;transition:transform .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),background-color .18s var(--ease-out-soft),border-color .18s var(--ease-out-soft);box-shadow:var(--shadow-sm)}.soft-button:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,rgb(255 255 255 / 12%),transparent 70%);opacity:0;pointer-events:none;transition:opacity .2s ease-out}.soft-button:active:after{opacity:1}.soft-button:hover{background:linear-gradient(135deg,#605174eb,#4c6384e0);border-color:#7e88ab8a;box-shadow:var(--shadow-md),var(--shadow-glow)}@media(hover:hover){.soft-button:hover{transform:translateY(-1px)}}.soft-button:active{transform:translateY(0) scale(.98);background:linear-gradient(135deg,#486082eb,#584e78e5)}.soft-button:disabled{transform:none;cursor:not-allowed;opacity:.62;background:linear-gradient(135deg,#444b61db,#3c4459d6);box-shadow:none}.soft-button:focus-visible,.command-input:focus-visible,.chip-button:focus-visible,.chat-channel-tab:focus-visible,.character-detail-tab:focus-visible,.chat-input:focus-visible,.chat-target-input:focus-visible,.mail-compose-button:focus-visible,.mail-back-button:focus-visible,.mail-compose-send:focus-visible,.mail-compose-abort:focus-visible,.mail-compose-textarea:focus-visible,.mail-delete-button:focus-visible,.mail-inbox-row:focus-visible,.mail-compose-input:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.dashboard{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.panel{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--line-panel);background:linear-gradient(162deg,var(--surface-panel-a),var(--surface-panel-b)),linear-gradient(0deg,#1a182614,#1a182614);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),0 0 24px #8270a433;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-3);transition:transform .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft)}.panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at 0% 0%,rgb(175 148 206 / 28%),transparent 50%),radial-gradient(100% 80% at 100% 0%,rgb(142 177 203 / 24%),transparent 55%)}.panel:after{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:calc(var(--radius-xl) - 1px);border:1px solid rgb(236 229 255 / 26%);-webkit-mask:linear-gradient(to bottom,rgb(255 255 255 / 50%),rgb(255 255 255 / 4%));mask:linear-gradient(to bottom,rgb(255 255 255 / 50%),rgb(255 255 255 / 4%))}.panel:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 28px #8270a43d}.panel>*{position:relative;z-index:1}.panel-header h2{margin:0;font-family:var(--font-display);font-size:1.3rem;color:var(--text-heading)}.panel-header-icon-title{display:inline-flex;align-items:center;gap:8px;justify-content:center;line-height:1}.panel-header-avatar-icon{width:24px;height:24px;color:var(--text-heading)}.panel-header-inline-label{font-family:var(--font-display);font-size:1.18rem;font-weight:700;letter-spacing:.01em;color:var(--text-heading)}.panel-header-with-actions{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;padding-bottom:6px;border-bottom:1px solid var(--line-faint)}.panel-header-with-actions>div{min-width:0}.panel-action-row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.panel-action-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-soft);border-radius:999px;background:linear-gradient(135deg,#545f81e0,#455679d1);color:var(--text-primary);font-size:.78rem;font-weight:700;padding:6px 10px;cursor:pointer;transition:background-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),transform .18s var(--ease-out-soft)}.panel-action-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,#65547eeb,#4f6789e0);box-shadow:var(--shadow-sm),0 0 12px #6674aa4d}.panel-action-button:active{transform:scale(.98);background:linear-gradient(135deg,#4c6687e0,#5d547be0)}.panel-action-button:disabled{transform:none;cursor:not-allowed;opacity:.62;background:linear-gradient(135deg,#444b61db,#3c4459d6);box-shadow:none}.panel-action-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.panel-action-icon{width:14px;height:14px;flex-shrink:0}.panel-action-button-icon{width:34px;height:34px;padding:0;border-radius:11px;justify-content:center}.panel-action-button-icon .panel-action-icon{width:16px;height:16px}.map-icon-trigger{width:46px;height:46px;border-radius:13px;border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(150deg,#546084eb,#44567adb),linear-gradient(0deg,#0e101c4d,#0e101c4d);box-shadow:inset 0 1px #e1e8ff2e,var(--shadow-sm);padding:7px;cursor:pointer;transition:transform .17s var(--ease-out-soft),box-shadow .17s var(--ease-out-soft),background-color .17s var(--ease-out-soft)}.map-icon-trigger:hover:enabled{transform:translateY(-1px);background:linear-gradient(150deg,#64547deb,#4e6788e5),linear-gradient(0deg,#0e101c4d,#0e101c4d);box-shadow:var(--shadow-md),0 0 14px #6674aa52}.map-icon-trigger:active:enabled{transform:scale(.98)}.map-icon-trigger:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.map-icon-trigger:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.map-icon-svg{width:100%;height:100%;color:var(--text-heading)}.terminal-card{position:relative;border-radius:var(--radius-lg);border:1px solid var(--line-panel);background:linear-gradient(180deg,#424d6cf2,#354261ed),linear-gradient(0deg,#0c0e1847,#0c0e1847);box-shadow:inset 0 1px #e8efff29,inset 0 -18px 30px #343d5c38,0 0 0 1px #dae2ff24,var(--shadow-sm);padding:var(--space-2);overflow:hidden}.prelogin-banner{border:1px solid rgb(106 96 136 / 22%);border-radius:var(--radius-lg);background:linear-gradient(140deg,#4d5a7edb,#405075d1),linear-gradient(0deg,#0c0e183d,#0c0e183d);box-shadow:inset 0 1px #e8efff2e,var(--shadow-sm);padding:10px 12px}.prelogin-banner-title{margin:0;font-family:var(--font-display);font-size:1.08rem;font-weight:700;color:var(--text-heading)}.prelogin-banner-text{margin:3px 0 0;color:var(--text-secondary);font-size:.86rem}.terminal-host{width:100%;min-height:clamp(250px,34vh,520px);max-height:52vh}.terminal-host .xterm,.terminal-host .xterm-screen,.terminal-host .xterm-viewport{border-radius:9px}.terminal-host .xterm-viewport{background:var(--surface-terminal)!important}.chip-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-soft);border-radius:999px;background:linear-gradient(135deg,#536386e5,#5c4e7ad6);color:var(--text-primary);font-weight:700;min-height:44px;height:36px;padding:0 12px;flex:0 0 auto;text-transform:capitalize;white-space:nowrap;cursor:pointer;font-size:.84rem;transition:background-color .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.chip-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,#4a6082e5,#675380db);box-shadow:var(--shadow-sm)}.chip-button:active{transform:scale(.98)}.chip-button-utility{background:linear-gradient(135deg,#62547ee5,#6f536cdb)}.chip-button-utility:hover{background:linear-gradient(135deg,#5a4c77e5,#664b64e0)}.chip-direction-icon{width:14px;height:14px;flex-shrink:0}.chip-label{line-height:1}.command-form{display:flex;gap:var(--space-2);border:1px solid var(--line-faint);border-radius:var(--radius-lg);background:linear-gradient(180deg,#4a5679d6,#3e4f72cc);padding:4px}.command-input{width:100%;border-radius:var(--radius-lg);border:1px solid rgb(107 107 123 / 20%);background:var(--surface-input);color:var(--text-primary);padding:8px 12px;font:inherit;font-size:.93rem;transition:border-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),background-color .18s var(--ease-out-soft)}.command-input::placeholder{color:var(--text-placeholder)}.command-input:focus-visible{border-color:#7b84aacc;background:#3a4566f5;box-shadow:0 0 0 2px #7e6ba23d,0 0 0 4px #6581af3d}.panel-chat{min-height:0}.social-tabs{display:flex;gap:0;padding:0;border-bottom:1px solid rgb(131 147 186 / 30%)}.social-tab{flex:1 1 0;padding:8px 6px 7px;font-family:var(--font-display);font-size:.92rem;font-weight:700;letter-spacing:.02em;color:#b4bedab8;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;text-align:center;transition:color .17s var(--ease-out-soft),border-color .17s var(--ease-out-soft)}.social-tab:hover{color:var(--text-heading)}.social-tab-active{color:var(--text-bright);border-bottom-color:#8c9cceb8}.chat-shell{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}.chat-channel-tabs{display:flex;flex-wrap:nowrap;gap:2px;align-items:flex-end;overflow:hidden;padding:0 2px 1px;border-bottom:1px solid rgb(131 147 186 / 26%)}.chat-channel-tab{position:relative;border:1px solid rgb(131 147 186 / 30%);border-bottom:0;border-radius:11px 11px 0 0;padding:6px 7px 5px;font-size:.73rem;font-weight:700;color:var(--text-primary);background:linear-gradient(160deg,#48567ce0,#414c70d6);white-space:nowrap;flex:1 1 0;min-width:0;text-align:center;cursor:pointer;transform-origin:bottom center;transition:transform .17s var(--ease-out-soft),box-shadow .17s var(--ease-out-soft),background-color .17s var(--ease-out-soft),color .17s var(--ease-out-soft)}.chat-channel-tab:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:transparent}.chat-channel-tab:hover{transform:translateY(-1px);background:linear-gradient(160deg,#564d78e5,#4d6387db);box-shadow:0 4px 10px #5e6ea242}.chat-channel-tab-active{color:var(--text-bright);background:linear-gradient(165deg,#625788f2,#51678eeb),linear-gradient(0deg,#0a0c164d,#0a0c164d);transform:translateY(1px);box-shadow:0 6px 16px #56669a47;z-index:1}.chat-channel-tab-active:after{background:#56638bfa}.chat-feed{min-height:0;overflow:auto;border:1px solid rgb(131 147 186 / 24%);border-radius:var(--radius-lg);background:linear-gradient(165deg,#404d6ff0,#374565eb),linear-gradient(0deg,#0a0c163d,#0a0c163d);box-shadow:inset 0 1px #e4ecff29,inset 0 -20px 30px #242e4a3d;margin-top:-1px;padding:10px 10px 8px;border-top:1px solid rgb(131 147 186 / 20%);background:linear-gradient(180deg,rgb(81 92 129 / 30%),transparent 28px),linear-gradient(165deg,#404d6ff0,#374565eb),linear-gradient(0deg,#0a0c163d,#0a0c163d);scrollbar-width:thin;scrollbar-color:rgb(101 90 137 / 86%) transparent}.chat-feed::-webkit-scrollbar{width:10px}.chat-feed::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#655a89db,#546d95d1)}.chat-message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.chat-feed-panel{display:grid;gap:var(--space-2)}.chat-feed-panel-flip{animation:detailFlipIn .22s var(--ease-out-soft);transform-origin:top center;backface-visibility:hidden}.chat-message-item{border:1px solid rgb(106 96 136 / 18%);border-radius:var(--radius-md);background:linear-gradient(140deg,#465375eb,#3c4c6fe0);box-shadow:inset 0 1px #e8efff24;padding:8px 10px;display:grid;gap:5px}.chat-message-item-self{border-color:#70835f42;background:linear-gradient(140deg,#4e6a54e0,#455e4bd1)}.chat-message-item-whisper{border-color:#8978af3d;background:linear-gradient(140deg,#50486ce5,#443f64db)}.chat-message-item-whisper .chat-message-body{font-style:italic}.chat-whisper-tag{font-size:.7rem;font-weight:700;font-style:italic;color:var(--color-primary-lavender);margin-right:5px;text-transform:uppercase;letter-spacing:.03em}.chat-message-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.chat-message-sender{font-size:.82rem;font-weight:800;color:var(--text-heading)}.chat-message-time{font-size:.74rem;color:var(--text-secondary)}.chat-message-body{margin:0;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.who-filter-bar{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border-bottom:1px solid rgb(106 96 136 / 18%)}.who-filter-input{flex:1;min-width:0;font-size:.82rem;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 24%);background:#282e44b3;color:var(--text-primary)}.who-filter-input::placeholder{color:var(--text-muted)}.who-filter-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #b8d8e84d}.who-table{width:100%;border-collapse:collapse;font-size:.82rem}.who-th{position:sticky;top:0;z-index:1;text-align:left;padding:5px 6px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#262b3ef2;border-bottom:1px solid rgb(106 96 136 / 22%);white-space:nowrap}.who-th-level,.who-th-idle{text-align:center;width:3.2em}.who-th-action{width:36px}.who-sort-btn{all:unset;cursor:pointer;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;min-height:44px}.who-sort-btn:hover{color:var(--text-primary)}.who-row{border-bottom:1px solid rgb(106 96 136 / 10%);transition:background .12s ease}.who-row:hover{background:#4653754d}.who-td{padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who-td-name{font-weight:500;color:var(--text-primary)}.who-td-level,.who-td-idle{text-align:center;color:var(--text-secondary)}.who-td-race,.who-td-class{color:var(--text-secondary)}.who-td-info{color:var(--text-muted);font-size:.78rem;max-width:10em}.who-td-action{text-align:center}.who-tell-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:28px;height:28px;border-radius:999px;border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(140deg,#d3b4cee5,#bfcfe2e0);color:var(--text-primary);cursor:pointer;box-shadow:inset 0 1px #ffffff7f,var(--shadow-sm);transition:transform .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),background-color .16s var(--ease-out-soft)}.who-tell-button:hover{transform:translateY(-1px) scale(1.03);background:linear-gradient(140deg,#c594afeb,#a2b8d1e5);box-shadow:var(--shadow-md),0 0 10px #967cb55c}.who-tell-button:active{transform:scale(.97)}.who-tell-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.who-tell-icon{width:12px;height:12px}.who-refresh-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:28px;height:28px;padding:0;flex-shrink:0}.who-refresh-icon{width:14px;height:14px}.who-status-bar{display:flex;align-items:center;justify-content:center;padding:5px 8px;border-top:1px solid rgb(106 96 136 / 18%);font-size:.75rem;color:var(--text-muted)}.group-member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.group-member-item{border-radius:var(--radius-md);padding:8px 10px;background:linear-gradient(140deg,#465375eb,#3c4c6fe0);border:1px solid rgb(106 96 136 / 16%);box-shadow:inset 0 1px #e8efff24;display:flex;flex-direction:column;gap:4px}.group-member-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.group-member-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-leader-badge{color:#e4c878e5;margin-right:4px}.group-member-class{font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.group-member-hp-track{height:4px}.group-member-hp-text{font-size:.68rem;color:var(--text-secondary);text-align:right}.guild-panel-content{display:flex;flex-direction:column;gap:var(--space-3)}.guild-info-header{display:flex;align-items:baseline;gap:var(--space-2)}.guild-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--text-primary)}.guild-tag{font-size:.78rem;font-weight:600;color:var(--color-primary-soft-gold)}.guild-rank{font-size:.78rem;color:var(--text-secondary)}.guild-motd{border-radius:var(--radius-md);padding:8px 10px;background:#323c58b3;border:1px solid var(--line-faint)}.guild-motd-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px}.guild-motd-text{margin:0;font-size:.82rem;font-style:italic;color:var(--text-primary);line-height:1.4}.guild-roster-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.guild-member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.guild-member-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:5px 8px;border-radius:6px;transition:background .14s var(--ease-out-soft)}.guild-member-item:hover{background:#505e884d}.guild-member-offline{opacity:.55}.guild-member-name{font-weight:600;font-size:.82rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guild-member-details{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:.72rem;color:var(--text-secondary)}.guild-member-status{width:7px;height:7px;border-radius:50%;flex-shrink:0}.guild-member-status-online{background:var(--color-primary-moss-green);box-shadow:0 0 4px #8da97b99}.guild-member-status-offline{background:var(--text-disabled)}.guild-member-rank{white-space:nowrap}.guild-member-level{white-space:nowrap;color:var(--text-disabled)}.guild-tab-layout,.group-tab-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:100%;gap:0}.guild-tab-info,.group-tab-members{overflow-y:auto;max-height:45%;padding:var(--space-3);border-bottom:1px solid var(--line-faint);display:flex;flex-direction:column;gap:var(--space-2)}.guild-compact-header{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.guild-compact-rank{font-size:.72rem;color:var(--text-secondary);margin-left:auto}.guild-roster-scroll{overflow-y:auto;flex:1 1 0}.embedded-chat-feed{overflow-y:auto;padding:var(--space-3);min-height:0}.friends-panel-content{display:flex;flex-direction:column;gap:var(--space-3)}.friend-notifications{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.friend-notification{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:.75rem;font-style:italic;animation:friend-notify-fade 30s ease-out forwards}.friend-notification-online{color:var(--color-primary-moss-green)}.friend-notification-offline{color:var(--text-disabled)}@keyframes friend-notify-fade{0%{opacity:1}80%{opacity:1}to{opacity:.3}}.friend-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.friend-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:5px 8px;border-radius:6px;transition:background .14s var(--ease-out-soft)}.friend-item:hover{background:#505e884d}.friend-item-offline{opacity:.55}.friend-item-left{display:flex;align-items:center;gap:6px;min-width:0}.friend-item-name{font-weight:600;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:.72rem;color:var(--text-secondary)}.friend-item-zone{white-space:nowrap;color:var(--color-primary-pale-blue);font-style:italic}.friend-item-level{white-space:nowrap;color:var(--text-disabled)}.friend-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.friend-status-dot-online{background:var(--color-primary-moss-green);box-shadow:0 0 4px #8da97b99}.friend-status-dot-offline{background:var(--text-disabled)}.friend-notification-text{white-space:nowrap}.social-action-bar{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border-bottom:1px solid rgb(106 96 136 / 18%)}.social-action-input{flex:1;min-width:0;font-size:.82rem;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 24%);background:#282e44b3;color:var(--text-primary)}.social-action-input::placeholder{color:var(--text-muted)}.social-action-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #b8d8e84d}.social-action-btn{flex-shrink:0;font-size:.78rem;min-height:44px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(140deg,#465375eb,#3c4c6fe0);color:var(--text-primary);cursor:pointer;transition:background .12s ease,transform 80ms ease}.social-action-btn:hover:not(:disabled){background:linear-gradient(140deg,#55648ceb,#485a82e0)}.social-action-btn:active:not(:disabled){transform:scale(.97)}.social-action-btn:disabled{opacity:.5;cursor:default}.social-accept-btn{background:linear-gradient(140deg,#3c5a46eb,#32503ce0);border-color:#50785a4d}.social-accept-btn:hover:not(:disabled){background:linear-gradient(140deg,#466950eb,#3a5c44e0)}.social-decline-btn{background:transparent;border-color:#9664644d;color:var(--text-secondary)}.social-decline-btn:hover:not(:disabled){border-color:#b478787f;color:var(--text-primary)}.invite-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid rgb(80 120 90 / 30%);border-radius:var(--radius-md);background:#3c5a461f}.invite-card-text{margin:0;font-size:.82rem;color:var(--text-primary)}.invite-card-actions{display:flex;gap:var(--space-2)}.social-danger-btn{background:linear-gradient(140deg,#643c3ceb,#5a3232e0);border-color:#8c50504d}.social-danger-btn:hover:not(:disabled){background:linear-gradient(140deg,#784646eb,#693a3ae0)}.social-cancel-btn{background:transparent;border-color:transparent;color:var(--text-muted)}.social-cancel-btn:hover:not(:disabled){color:var(--text-secondary);background:#46537566}.social-edit-btn{all:unset;cursor:pointer;font-size:.78rem;color:var(--text-muted);padding:2px 4px;border-radius:var(--radius-sm);transition:color .12s ease}.social-edit-btn:hover{color:var(--text-primary)}.social-empty-action{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);align-items:center}.social-empty-action .social-action-bar{border:none;padding:0;width:100%;max-width:320px}.social-inline-btn{all:unset;cursor:pointer;font-size:.72rem;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:color .12s ease,background .12s ease}.social-inline-btn:hover{color:var(--text-primary);background:#46537599}.social-inline-btn-danger:hover{color:var(--color-accent-faded-crimson);background:#64323266}.social-remove-btn{all:unset;cursor:pointer;font-size:.9rem;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-disabled);transition:color .12s ease}.social-remove-btn:hover{color:var(--color-accent-faded-crimson)}.social-confirm-inline{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-secondary)}.social-confirm-yes{all:unset;cursor:pointer;font-size:.75rem;padding:2px 8px;border-radius:var(--radius-sm);background:#64323299;color:var(--color-accent-faded-crimson);transition:background .12s ease}.social-confirm-yes:hover{background:#783c3cb3}.social-confirm-no{all:unset;cursor:pointer;font-size:.82rem;padding:2px 6px;border-radius:var(--radius-sm);color:var(--text-muted);transition:color .12s ease}.social-confirm-no:hover{color:var(--text-primary)}.guild-create-form{display:flex;gap:var(--space-2);width:100%;max-width:320px}.guild-tag-input{max-width:60px;text-align:center}.guild-invite-bar{border-top:none;padding-top:0}.guild-motd-edit{display:flex;gap:var(--space-2);align-items:center}.guild-motd-edit .social-action-input{flex:1}.guild-motd-display{display:flex;align-items:flex-start;gap:var(--space-2)}.guild-motd-display .guild-motd-text{flex:1}.guild-member-actions{display:inline-flex;gap:2px;margin-left:4px}.guild-hall-section{padding:6px 8px;border-top:1px solid rgb(106 96 136 / 18%)}.guild-hall-header{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:4px}.guild-hall-label{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary)}.guild-hall-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.guild-hall-room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.guild-hall-room-item{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;border-radius:var(--radius-sm);background:#6a608814;font-size:var(--fs-xs)}.guild-hall-room-title{color:var(--text-primary)}.guild-hall-room-template{color:var(--text-secondary);font-style:italic}.guild-hall-actions{display:flex;gap:var(--space-2);margin-top:6px}.guild-footer-actions{display:flex;gap:var(--space-2);padding:6px 8px;border-top:1px solid rgb(106 96 136 / 18%);justify-content:flex-end}.group-invite-bar{border-bottom:1px solid rgb(106 96 136 / 18%)}.group-footer-actions{display:flex;gap:var(--space-2);padding:6px 8px;border-top:1px solid rgb(106 96 136 / 18%);justify-content:flex-end}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2);border:1px solid rgb(131 147 186 / 24%);border-radius:var(--radius-lg);background:linear-gradient(180deg,#424e72e5,#374668db);padding:3px}.chat-form-targeted{grid-template-columns:minmax(110px,.45fr) minmax(0,1fr) auto auto}.emote-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;transition:color .12s ease,background .12s ease;flex-shrink:0}.emote-toggle-btn:hover:not(:disabled){color:var(--text-primary);background:#46537566}.emote-toggle-btn-active{color:var(--text-primary);background:#4653757f}.emote-toggle-btn:disabled{opacity:.4;cursor:default}.emote-picker{display:flex;flex-direction:column;gap:var(--space-2);padding:6px 8px;border-top:1px solid rgb(106 96 136 / 18%);animation:emote-picker-in .15s var(--ease-out-soft)}@keyframes emote-picker-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.emote-presets{display:flex;flex-wrap:wrap;gap:4px}.emote-preset-btn{display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 18%);background:#323a527f;color:var(--text-secondary);cursor:pointer;font-size:.75rem;line-height:1.2;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.emote-preset-btn:hover{background:#46537599;border-color:var(--accent-primary);color:var(--text-primary)}.emote-preset-btn:active{transform:scale(.96)}.emote-preset-emoji{font-size:.9rem;line-height:1}.emote-preset-label{font-weight:500}.emote-custom-form{display:flex;gap:var(--space-2);align-items:center}.emote-name-btn{padding:4px 8px;min-height:44px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:#7864a01f;color:var(--color-primary-lavender);font-family:var(--font-mono);font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.emote-name-btn:hover{background:#7864a038;border-color:var(--color-primary-lavender)}.chat-input,.chat-target-input{width:100%;border-radius:var(--radius-lg);border:1px solid rgb(107 107 123 / 20%);background:var(--surface-input);color:var(--text-primary);padding:8px 12px;font:inherit;font-size:.9rem;transition:border-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),background-color .18s var(--ease-out-soft)}.chat-input::placeholder,.chat-target-input::placeholder{color:var(--text-placeholder)}.chat-input:disabled{opacity:.68;cursor:not-allowed}.subpanel{position:relative;border:1px solid rgb(107 107 123 / 20%);border-radius:var(--radius-lg);padding:10px;background:linear-gradient(170deg,var(--surface-subpanel),rgb(56 69 101 / 88%)),linear-gradient(0deg,#0c0e183d,#0c0e183d);box-shadow:var(--shadow-sm),inset 0 1px #e8efff2e,inset 0 -18px 28px #303a582e;min-width:0;transition:transform .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft)}.panel-world .subpanel,.panel-character .subpanel{background:linear-gradient(170deg,#3f4967f2,#374363e5),linear-gradient(0deg,#0c0e1847,#0c0e1847)}.subpanel-fill{width:100%;height:100%}.world-stack,.character-stack{display:grid;gap:var(--space-3);min-height:0}.world-stack>.subpanel,.character-stack>.subpanel{min-height:0;display:flex;flex-direction:column}.subpanel:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),inset 0 1px #f2ebff66}.prelogin-card{display:flex;flex-direction:column;min-height:100%}.prelogin-card-title{margin:0;font-family:var(--font-display);font-size:1.38rem;line-height:1.2;color:var(--text-heading)}.prelogin-runes{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:var(--space-3)}.prelogin-runes span{width:7px;height:7px;border-radius:999px;background:linear-gradient(180deg,#a99259eb,#8170a7e0);box-shadow:0 0 10px #b5a16957;opacity:.7;animation:runePulse 2.9s var(--ease-in-out-smooth) infinite}.prelogin-runes span:nth-child(2){animation-delay:.26s}.prelogin-runes span:nth-child(3){animation-delay:.52s}.subpanel h3{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:1.12rem;color:var(--text-heading)}.room-title{margin:0;font-weight:700;font-size:1.5rem;font-family:var(--font-display);color:var(--text-bright)}.room-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2)}.room-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-2);min-height:0;height:100%}.room-banner{overflow:hidden;border-radius:var(--radius-md);margin:0 var(--space-2) var(--space-1)}.room-banner-image{display:block;width:100%;max-height:180px;object-fit:cover}.room-description-wrap{position:relative;min-height:0;overflow:hidden;padding-bottom:44px}.room-description{margin:0;color:var(--text-primary);font-size:.92rem;line-height:1.55;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:11;-webkit-box-orient:vertical;text-overflow:ellipsis}.room-map-trigger{width:40px;height:40px;margin-top:1px}.room-expand-trigger{position:absolute;right:0;bottom:0;width:36px;height:36px;border-radius:11px;padding:6px}.room-expand-icon{color:var(--text-secondary)}.compass-block{margin-top:0;display:grid;gap:var(--space-2)}.compass-rose{position:relative;width:min(100%,142px);aspect-ratio:1 / 1;margin:0 auto;border-radius:50%;border:1px solid rgb(106 96 136 / 24%);background:radial-gradient(circle at 50% 45%,#22273beb,#131828f5),linear-gradient(0deg,#ab90cd1a,#91aed314);box-shadow:inset 0 1px #eee7ff24,inset 0 -20px 24px #695f8c42,var(--shadow-sm)}.compass-rose:before,.compass-rose:after{content:"";position:absolute;left:50%;top:50%;background:linear-gradient(180deg,#6c658b57,#7292ad4d);transform:translate(-50%,-50%);border-radius:999px}.compass-rose:before{width:2px;height:72%}.compass-rose:after{width:72%;height:2px}.compass-core{position:absolute;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border-radius:999px;display:grid;place-items:center;color:var(--text-secondary);border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(145deg,#293148eb,#1d253ae5);box-shadow:inset 0 1px #ece5ff2e,var(--shadow-sm)}.compass-core-icon{width:15px;height:15px}.compass-node{display:grid;place-items:center;position:absolute;width:28px;height:28px;padding:0;border-radius:999px;border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(140deg,#262e45eb,#1b2339e0);color:var(--text-tertiary);font-weight:800;font-size:.8rem;cursor:pointer;box-shadow:inset 0 1px #ece5ff24,var(--shadow-sm);transition:transform .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),background-color .16s var(--ease-out-soft)}.compass-node:hover:enabled{transform:scale(1.06);background:linear-gradient(140deg,#614970f0,#425c7ce5);color:var(--text-primary);box-shadow:var(--shadow-md),0 0 12px #806ca352}.compass-node:active:enabled{transform:scale(.98)}.compass-node:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.compass-node:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.compass-node-icon{width:13px;height:13px}.compass-node-north{left:calc(50% - 14px);top:7px}.compass-node-east{right:7px;top:calc(50% - 14px)}.compass-node-south{left:calc(50% - 14px);bottom:7px}.compass-node-west{left:7px;top:calc(50% - 14px)}.compass-node-up{right:21px;top:21px}.compass-node-down{right:21px;bottom:21px}.compass-caption{margin:0;text-align:center;color:var(--text-tertiary);font-size:.8rem;line-height:1.35}.mini-map{display:block;width:100%;height:180px;border-radius:var(--radius-md);border:1px solid rgb(58 64 96 / 50%);background:var(--bg-deep)}.split-list{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.dialogue-panel{display:grid;grid-template-rows:auto 1fr auto;gap:.5rem;padding:.75rem 1rem}.dialogue-npc-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--color-primary-soft-gold);letter-spacing:.02em}.dialogue-text{border-left:3px solid var(--color-primary-soft-gold);padding:.6rem .75rem;background:#22293c7f;border-radius:0 6px 6px 0;font-family:var(--font-display);font-size:.95rem;line-height:1.5;color:var(--text-primary)}.dialogue-choices{display:flex;flex-direction:column;gap:.35rem}.dialogue-choice-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .65rem;border:1px solid var(--line-faint);border-radius:6px;background:#363f5a99;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;text-align:left}.dialogue-choice-button:hover{transform:translate(2px);background:#363f5ad9;border-color:var(--color-primary-pale-blue)}.dialogue-choice-button:focus-visible{outline:2px solid var(--color-primary-lavender);outline-offset:1px}.dialogue-choice-index{color:var(--color-primary-pale-blue);font-weight:600;min-width:1.2em}.dialogue-ending{font-style:italic;color:var(--text-secondary);font-size:.85rem;padding:.3rem 0}.shop-panel{display:flex;flex-direction:column;gap:var(--space-2)}.shop-header{display:flex;justify-content:space-between;align-items:center}.shop-header h3{margin:0}.shop-gold{font-size:.85rem;font-weight:600;color:var(--color-primary-soft-gold)}.shop-tabs{display:flex;gap:var(--space-1)}.shop-tab{flex:1;padding:.35rem .6rem;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease-in-out-smooth),color .15s}.shop-tab:hover{background:#ffffff0f}.shop-tab-active{background:var(--surface-chip);color:var(--text-primary);border-color:var(--glass-edge)}.shop-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;max-height:280px}.shop-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2);border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--line-faint)}.shop-item-top{display:flex;justify-content:space-between;align-items:center}.shop-item-name{font-size:.88rem;font-weight:600;color:var(--text-primary)}.shop-item-price{font-size:.82rem;font-weight:600;color:var(--color-primary-soft-gold);white-space:nowrap}.shop-item-meta{font-size:.78rem;color:var(--text-secondary);margin:0}.shop-item-worthless{font-size:.82rem;font-style:italic;color:var(--text-disabled)}.shop-buy-button,.shop-sell-button{align-self:flex-end;padding:.25rem .8rem;font-size:.78rem}.shop-popout{display:flex;flex-direction:column;gap:var(--space-3);height:100%;min-height:0}.shop-popout-wallet{align-self:flex-start;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:linear-gradient(180deg,#3c2b18bf,#2c1f11bf);border:1px solid rgb(200 162 74 / 50%);box-shadow:inset 0 1px #d8ba7a38}.shop-popout-gold-icon{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--color-gold-bright),var(--color-primary-soft-gold));box-shadow:0 0 6px #bea87366;flex-shrink:0}.shop-popout-gold-amount{font-size:1.1rem;font-weight:800;color:#f0d48a}.shop-popout-gold-label{font-size:.82rem;font-weight:600;color:#d8c39a}.shop-popout-tabs{display:flex;gap:var(--space-2)}.shop-popout-tab{flex:1;padding:9px 12px;border:1px solid rgb(170 128 70 / 60%);border-radius:10px;background:linear-gradient(180deg,#46321ce0,#322313e0);color:#ecd9b4;font-family:var(--font-display);font-size:.9rem;font-weight:700;cursor:pointer;text-align:center;box-shadow:inset 0 1px #d8ba7a29;transition:background .15s var(--ease-in-out-smooth),color .15s,border-color .15s}.shop-popout-tab:hover{background:linear-gradient(180deg,#584024eb,#402e19eb);color:#fbf0d4}.shop-popout-tab-active{background:linear-gradient(180deg,#e7d6b0,#d2bb8c);color:#382a18;border-color:#8a6a2e;box-shadow:inset 0 1px #fffaec7f}.shop-popout-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 110 56 / 70%) transparent}.shop-popout-list::-webkit-scrollbar{width:8px}.shop-popout-list::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#966e38bf,#6e5028b3)}.shop-popout-card{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;background:linear-gradient(155deg,#ece0c4,#dccaa3);border:1px solid rgb(106 74 36 / 50%);box-shadow:0 1px 2px #140c044d,inset 0 1px #fffbf073;cursor:pointer;transition:border-color .15s,box-shadow .15s}.shop-popout-card:hover{border-color:#8a6a2e;box-shadow:0 3px 8px #140c0461,inset 0 1px #fffbf08c}.shop-popout-card-unaffordable{opacity:.6}.shop-popout-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.shop-popout-card-info{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.shop-popout-thumb{width:42px;height:42px;border-radius:8px;object-fit:contain;flex-shrink:0;border:1px solid rgb(106 74 36 / 45%);background:#3627161f;padding:2px}.shop-popout-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.shop-popout-card-name{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:#2e2212}.shop-popout-card-desc{font-size:.78rem;color:#5a4226;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.shop-popout-card-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;color:#6a4a24;font-weight:600}.shop-stat-slot{color:#6a4a24;opacity:.85;text-transform:capitalize}.shop-stat-chip{display:inline-flex;align-items:baseline;gap:4px;padding:1px 7px;border-radius:6px;background:#6a4a2424;border:1px solid rgb(106 74 36 / 30%);color:#2e2212;white-space:nowrap}.shop-stat-chip-label{font-weight:600;color:#6a4a24}.shop-stat-chip-value{font-weight:700;color:#2e2212}.shop-stat-delta{font-size:.7rem;font-weight:700;padding:0 4px;border-radius:4px}.shop-stat-delta-up{color:#2c5430;background:#6084563d}.shop-stat-delta-down{color:#8a4a5e;background:#aa607438}.shop-stat-delta-same{color:#7a5e38;opacity:.8}.shop-popout-card-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.shop-popout-card-price{font-size:.82rem;font-weight:800;color:#5a3e16;white-space:nowrap;padding:2px 9px;border-radius:999px;background:#e6c46a73;border:1px solid rgb(184 138 46 / 60%)}.shop-popout-card-price-cant{font-size:.82rem;font-weight:600;color:#9a5a3a;font-style:italic;white-space:nowrap}.shop-popout-card-unaffordable .shop-popout-card-price{color:#8a3a2a;background:#aa503a38;border-color:#8a3e2c7f}.shop-popout .soft-button.shop-popout-buy-btn,.shop-popout .soft-button.shop-popout-sell-btn{padding:4px 14px;font-size:.78rem}.shop-popout .soft-button.shop-popout-buy-btn:not(:disabled){background:linear-gradient(135deg,#8ea97bcc,#71965cc2);border-color:#8ea97b66}.shop-popout .soft-button.shop-popout-buy-btn:not(:disabled):hover{background:linear-gradient(135deg,#98b385e0,#7ba066d6)}.shop-popout .soft-button.shop-popout-sell-btn:not(:disabled){background:linear-gradient(135deg,#bea873b3,#aa945fa8);border-color:#bea8735c}.shop-popout .soft-button.shop-popout-sell-btn:not(:disabled):hover{background:linear-gradient(135deg,#c8b27dc7,#b49e69bd)}.action-bar-btn-shop{background:linear-gradient(135deg,#bea87399,#aa945f8a);border-color:#bea8734d;animation:shopPulse 2s ease-in-out infinite}.action-bar-btn-shop:hover:not(:disabled){background:linear-gradient(135deg,#c8b27dbd,#b49e69b3)}@keyframes shopPulse{0%,to{box-shadow:0 0 4px #bea87333}50%{box-shadow:0 0 12px #bea8737f}}.drawer-sheet.drawer-sheet-tome{background-image:var(--skin-bg, none),linear-gradient(180deg,#2b354ffa,#222940fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-tome .drawer-title{color:#f3e7cf;text-shadow:0 1px 2px rgb(0 0 0 / 72%),0 1px 12px rgb(0 0 0 / 55%)}.drawer-sheet-tome .drawer-header{border-bottom:none;background:none}.drawer-sheet-tome .drawer-body{padding:0;display:flex}.puzzle-tome{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.puzzle-page{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:560px;padding:clamp(30px,6vw,60px) clamp(28px,7vw,76px);text-align:center}.puzzle-page.on-css{max-width:520px;margin:clamp(16px,4vw,32px);border-radius:14px;background:linear-gradient(160deg,#efe3c6,#e2d1ab);border:1px solid #b89b6a;box-shadow:inset 0 1px #fff6,0 14px 36px #140e066b}.puzzle-riddle{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.puzzle-riddle:before{content:"";position:absolute;inset:-14% -10%;z-index:-1;background:radial-gradient(ellipse at center,#f8f0daa8,#f8f0da00 72%);filter:blur(10px)}.puzzle-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#7a5326}.puzzle-riddle-text{margin:0;max-width:42ch;font-family:var(--font-display);font-size:clamp(1.08rem,1.7vw,1.36rem);line-height:1.55;color:#2c1d0c;text-shadow:0 1px 1px rgb(250 244 226 / 70%)}.puzzle-riddle.is-solved .puzzle-riddle-text{opacity:.6}.puzzle-seal{display:inline-flex;align-items:center;padding:4px 14px;border-radius:999px;background:radial-gradient(circle at 32% 28%,#c0532f,#8a2d18);color:#f3dcc0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 2px 6px #3c140a66,inset 0 1px #ffffff38}.puzzle-seq-dots{display:flex;gap:8px}.puzzle-seq-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid rgb(80 60 30 / 45%);background:#503c1e1f}.puzzle-seq-dot.is-done{background:#8a6a3a;border-color:#8a6a3a}.puzzle-seq-dot.is-next{border-color:#b6831f;box-shadow:0 0 6px #b6831f7f;animation:dot-pulse-ink 2s var(--ease-in-out-smooth) infinite}@keyframes dot-pulse-ink{0%,to{box-shadow:0 0 5px #b6831f66}50%{box-shadow:0 0 11px #b6831fb3}}.puzzle-inscribe{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:4px}.puzzle-inscribe-field{position:relative;width:100%;min-height:2.6em;display:flex;align-items:center;justify-content:center}.puzzle-inscribe-input{width:100%;text-align:center;padding:6px 4px;border:none;border-bottom:2px solid rgb(90 64 28 / 50%);background:transparent;color:#3f2e18;font-family:var(--font-display);font-style:italic;font-size:1.12rem;transition:border-color .15s var(--ease-out-soft),opacity .2s var(--ease-out-soft)}.puzzle-inscribe-input::placeholder{color:#5a401c7f;font-style:italic}.puzzle-inscribe-input:focus{outline:none;border-bottom-color:#b6831f}.puzzle-inscribe-field.is-success .puzzle-inscribe-input,.puzzle-inscribe-field.is-fail .puzzle-inscribe-input{opacity:0}.puzzle-inscribe-submit{padding:8px 24px;border:1px solid rgb(150 107 30 / 60%);border-radius:999px;background:linear-gradient(135deg,#b98a3e,#8a5a1e);color:#fff4dc;font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 8px #3c280a4d;transition:transform .15s var(--ease-out-soft),filter .15s var(--ease-out-soft)}.puzzle-inscribe-submit:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.08)}.puzzle-inscribe-submit:disabled{opacity:.5;cursor:default}.puzzle-burn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.puzzle-burn-text{position:relative;z-index:1;font-family:var(--font-display);font-style:italic;font-size:1.12rem;color:#3f2e18}.puzzle-burn.is-success .puzzle-burn-text{animation:burn-gold 1.15s ease-in forwards}.puzzle-burn.is-fail .puzzle-burn-text{animation:burn-ash 1.15s ease-in forwards}@keyframes burn-gold{0%{color:#3f2e18;text-shadow:none;transform:translateY(0);opacity:1;filter:blur(0)}35%{color:#eab53c;text-shadow:0 0 10px #ffb43a,0 0 24px #ff8a1a}to{color:#6b3a12;opacity:0;transform:translateY(-18px);filter:blur(3px)}}@keyframes burn-ash{0%{color:#3f2e18;opacity:1;transform:translateY(0);filter:blur(0);letter-spacing:normal}40%{color:#8a7d6a;text-shadow:0 0 8px rgb(120 70 40 / 50%)}to{color:#4a4640;opacity:0;transform:translateY(10px) scale(.97);filter:blur(2px);letter-spacing:.25em}}.puzzle-flame{position:absolute;left:50%;bottom:-10%;width:56%;height:130%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 100%,rgb(255 214 96 / 92%),rgb(255 142 32 / 60%) 34%,rgb(198 60 20 / 22%) 60%,transparent 72%);filter:blur(3px);mix-blend-mode:screen;opacity:0;animation:flame-rise 1.1s ease-out forwards}.puzzle-flame-2{width:36%;animation-delay:.12s}.puzzle-burn.is-fail .puzzle-flame{background:radial-gradient(ellipse at 50% 100%,rgb(140 104 78 / 72%),rgb(88 66 52 / 42%) 42%,transparent 70%)}@keyframes flame-rise{0%{opacity:0;transform:translate(-50%) scaleY(.4) translateY(16%)}25%{opacity:.95}to{opacity:0;transform:translate(-50%) scaleY(1.28) translateY(-42%)}}.puzzle-verdict{margin:0;font-size:.88rem;font-weight:700;opacity:0;animation:verdict-in .4s var(--ease-out-soft) .18s forwards}.puzzle-verdict.is-success{color:#9a6b1e}.puzzle-verdict.is-fail{color:#8a3a1e}@keyframes verdict-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.puzzle-flame,.puzzle-verdict,.puzzle-seq-dot.is-next{animation:none}.puzzle-verdict{opacity:1}.puzzle-burn.is-success .puzzle-burn-text,.puzzle-burn.is-fail .puzzle-burn-text{animation:none;opacity:0}}.drawer-sheet.drawer-sheet-feature{background-image:var(--skin-bg, none),linear-gradient(180deg,#2b354ffa,#222940fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-feature .drawer-title{position:relative;z-index:0;isolation:isolate;text-shadow:var(--shadow-reading-text)}.drawer-sheet-feature.drawer-sheet-skinned .drawer-title:before{content:"";position:absolute;z-index:-1;inset:-14px -32px;border-radius:50%;background:radial-gradient(ellipse at center,var(--surface-reading-veil) 0 68%,var(--surface-reading-veil-soft) 82%,transparent 100%);filter:blur(4px);pointer-events:none}.drawer-sheet-feature .drawer-header{border-bottom:none;background:none}.drawer-sheet-feature .drawer-body{padding:0;display:flex}.feat-panel{position:relative;flex:1;display:flex;min-height:0}.feat-fallback{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center}.feat-glyph{width:min(46%,280px);height:auto;opacity:.85}.feat-fallback-sign{color:#bcdcc4;background:linear-gradient(165deg,#3c4a5cf5,#2f3c4ef0)}.feat-fallback-container{color:#e6c587;background:linear-gradient(165deg,#4a4256f5,#322e42f0)}.feat-sign{align-items:center;justify-content:center;padding:clamp(20px,4vh,44px) clamp(32px,9vw,120px) clamp(44px,13vh,150px);min-height:46vh}.feat-sign-text{position:relative;z-index:1;isolation:isolate;margin:0;max-width:56ch;text-align:center;color:var(--text-bright);font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.2rem);font-style:italic;line-height:1.62;white-space:pre-wrap;text-shadow:var(--shadow-reading-text)}.feat-sign.has-art .feat-sign-text:before{content:"";position:absolute;z-index:-1;inset:calc(-1*clamp(28px,5vh,58px)) calc(-1*clamp(32px,7vw,84px));border-radius:50%;background:radial-gradient(ellipse at center,var(--surface-reading-veil) 0 72%,var(--surface-reading-veil-soft) 86%,transparent 100%);filter:blur(8px);pointer-events:none}.feat-container{align-items:center;justify-content:center;min-height:46vh}.feat-container-inner{position:relative;z-index:1;width:min(560px,62%);display:flex;flex-direction:column;gap:6px;padding:clamp(12px,2.5vw,22px) clamp(14px,3vw,26px)}.feat-container.has-art .feat-container-inner:before{content:"";position:absolute;inset:-10% -8%;z-index:-1;border-radius:18px;background:radial-gradient(ellipse at center,#06070da3,#06070d00 76%);filter:blur(10px)}.feat-container-note{margin:0;color:var(--text-secondary);font-size:.86rem}.feat-loot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.feat-loot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:9px 0;border-bottom:1px solid rgb(255 255 255 / 14%)}.feat-loot-row:last-child{border-bottom:none}.feat-loot-name{color:var(--text-bright);font-size:.95rem;text-shadow:0 1px 6px rgb(0 0 0 / 70%)}.feat-take{flex-shrink:0;padding:6px 16px;border:1px solid rgb(240 214 150 / 52%);border-radius:999px;background:#3c3018a8;color:#f4e2b2;font-family:var(--font-body);font-size:.8rem;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.feat-take:hover{background:#564420cc;border-color:#f8e2a8d1;transform:translateY(-1px)}.feat-empty{margin:0;color:var(--text-secondary);font-style:italic;text-shadow:0 1px 6px rgb(0 0 0 / 60%)}.feat-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.feat-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border:1px solid rgb(255 255 255 / 16%);border-radius:var(--radius-md);background:#10142099;color:var(--text-primary);font-family:var(--font-body);font-size:.85rem;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:transform .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),background .15s var(--ease-out-soft)}.feat-btn:hover{transform:translateY(-1px);border-color:#d8c5e866;background:#1a2030b8}.feat-btn-primary{border-color:#e2c6867f;background:linear-gradient(135deg,#a48852b3,#7c663ea3);color:#f3e4bf}.feat-btn-primary:hover{border-color:#f0d696bf;background:linear-gradient(135deg,#bc9e64d1,#8e764abd)}@media(min-width:600px){.drawer-sheet:has(.feat-lever){width:min(460px,92vw)}}.feat-lever{flex-direction:column;align-items:center;justify-content:center;padding:clamp(14px,2.5vh,26px) 16px}.feat-lever-stage{position:relative;width:min(400px,86vw);margin:0 auto;padding:0;border:none;background:none;cursor:pointer;transition:transform .22s var(--ease-out-soft),filter .22s var(--ease-out-soft)}.feat-lever-stage:not(.has-box){aspect-ratio:3 / 4}.feat-lever-stage:hover{transform:translateY(-3px) scale(1.02);filter:drop-shadow(0 12px 28px rgb(8 6 16 / 50%))}.feat-lever-stage:active{transform:translateY(-1px) scale(1.01)}.feat-lever-stage:focus-visible{outline:2px solid rgb(216 197 232 / 70%);outline-offset:6px;border-radius:var(--radius-md)}.feat-lever-box{display:block;width:100%;height:auto;border-radius:var(--radius-md);pointer-events:none;-webkit-user-select:none;user-select:none}.feat-lever-lever{position:absolute;top:50%;left:50%;width:52%;aspect-ratio:1;transform:translate(-50%,-50%)}.feat-lever-plate,.feat-lever-handle,.feat-lever-svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:visible}.feat-lever-handle{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.feat-lever-svg line,.feat-lever-svg circle{transition:cx .4s var(--ease-in-out-smooth),cy .4s var(--ease-in-out-smooth),x1 .4s var(--ease-in-out-smooth),y1 .4s var(--ease-in-out-smooth),x2 .4s var(--ease-in-out-smooth),y2 .4s var(--ease-in-out-smooth)}.feat-lever-pivot{fill:#50466e;stroke:#a08cbe7f;stroke-width:1.5}.feat-lever-shaft{stroke:#bea5dc;filter:drop-shadow(0 0 3px rgb(190 165 220 / 30%))}.feat-lever-grip{fill:#645587;stroke:#d2b9f099;stroke-width:1.5}.feat-lever-glow{fill:#dcc3fa7f;filter:blur(2px);pointer-events:none}.feat-door{flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:clamp(6px,1.2vh,14px) 16px}.feat-door-stage{position:relative;width:min(500px,67vw);aspect-ratio:3 / 4;perspective:1100px;transform:translateY(clamp(-40px,-4vh,-22px))}.feat-door-portal{position:absolute;z-index:0}.feat-door-portal-art{display:block;width:100%;height:100%;object-fit:contain;animation:door-portal-spin 26s linear infinite}.feat-door-portal-css{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(190 226 255 / 42%),transparent 58%),conic-gradient(from 0deg,#2856a0c7,#7650c8c7,#2c84bcc7,#543cb8c7,#2856a0c7);filter:blur(1px);animation:door-portal-spin 22s linear infinite}@keyframes door-portal-spin{to{transform:rotate(360deg)}}.feat-door-leaf{position:absolute;z-index:2;object-fit:fill;backface-visibility:hidden;transition:transform .6s cubic-bezier(.45,.05,.3,1);pointer-events:none;-webkit-user-select:none;user-select:none}.feat-door-leaf-css{border-radius:6px;background:linear-gradient(100deg,#60462cf5,#48321ef5),repeating-linear-gradient(90deg,rgb(0 0 0 / 10%) 0 2px,transparent 2px 28px);box-shadow:inset 0 0 0 2px #281c10cc,inset 0 2px 10px #0006}.feat-door-leaf-css:after{content:"";position:absolute;top:50%;right:12%;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f0d98a,#9a6b1e);box-shadow:0 0 6px #f0d98a7f;transform:translateY(-50%)}.feat-door-frame{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.feat-door-keyhole{position:absolute;top:54%;left:50%;z-index:3;width:10px;height:14px;transform:translate(-50%,-50%);border-radius:50% 50% 40% 40%;background:radial-gradient(circle at 50% 34%,rgb(255 226 150 / 95%),rgb(190 140 50 / 70%) 60%,transparent 72%);box-shadow:0 0 10px #ffd278bf,0 0 22px #ffbe5a73;animation:door-keyhole-glow 2.6s var(--ease-in-out-smooth) infinite}@keyframes door-keyhole-glow{0%,to{opacity:.65}50%{opacity:1}}.feat-door-frame-css{inset:0;border:7px solid;border-image:linear-gradient(160deg,#967850,#604a2e) 1;border-bottom-width:10px;border-radius:12px 12px 4px 4px;background:transparent;box-shadow:inset 0 0 0 2px #1e160c99}.feat-door-seal{position:absolute;top:46%;left:50%;z-index:3;width:44%;transform:translate(-50%,-50%)}.feat-door-seal-img{display:block;width:100%;height:auto}.feat-door-seal-css{display:block;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(255 226 150 / 20%),transparent 62%),conic-gradient(from 0deg,#caa24a,#8a5a1e,#caa24a,#8a5a1e,#caa24a);box-shadow:inset 0 0 0 2px #3c280cb3,0 0 12px #e2b45a7f}.feat-door-seal-css:after{content:"";position:absolute;inset:26%;border-radius:50%;border:2px solid rgb(255 234 170 / 70%);box-shadow:0 0 8px #ffdc8c99}.feat-door-seal.is-locked{animation:door-seal-pulse 2.4s var(--ease-in-out-smooth) infinite}.feat-door-seal.is-shatter{animation:door-seal-shatter .85s ease-out forwards}@keyframes door-seal-pulse{0%,to{filter:drop-shadow(0 0 5px rgb(226 180 90 / 55%));transform:translate(-50%,-50%) scale(1)}50%{filter:drop-shadow(0 0 16px rgb(255 210 120 / 85%));transform:translate(-50%,-50%) scale(1.04)}}@keyframes door-seal-shatter{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}28%{opacity:1;filter:brightness(1.7) drop-shadow(0 0 22px rgb(255 220 140 / 90%));transform:translate(-50%,-50%) scale(1.16)}to{opacity:0;filter:blur(3px) brightness(1.3);transform:translate(-50%,-50%) scale(1.55) rotate(9deg)}}.feat-door-info{position:absolute;left:0;right:0;bottom:clamp(10px,2.5vh,24px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:36px;text-align:center;pointer-events:none;background:linear-gradient(to top,rgb(8 6 4 / 46%) 0%,rgb(8 6 4 / 22%) 45%,transparent 100%)}.feat-door-info>*{pointer-events:auto}.feat-door-line{margin:0;color:var(--text-bright);font-size:.95rem;text-shadow:0 1px 2px rgb(0 0 0 / 60%),0 1px 10px rgb(0 0 0 / 45%)}.feat-door-line strong{font-weight:700}.feat-door-key{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border-radius:999px;border:1px solid rgb(226 198 134 / 36%);background:#0a0c167f;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feat-door-key-img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 0 5px rgb(226 198 134 / 45%))}.feat-door-key-name{font-size:.8rem;color:#ecd6a0}.feat-door-key.is-using .feat-door-key-img{animation:door-key-use .85s var(--ease-out-soft)}@keyframes door-key-use{0%{transform:rotate(0) scale(1)}40%{transform:rotate(-16deg) scale(1.15);filter:drop-shadow(0 0 10px rgb(255 220 140 / 90%))}to{transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.feat-door-leaf{transition:none}.feat-door-portal-art,.feat-door-portal-css,.feat-door-seal.is-locked,.feat-door-seal.is-shatter,.feat-door-keyhole,.feat-door-key.is-using .feat-door-key-img{animation:none}}.feat-empty-panel{align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);text-align:center}@media(prefers-reduced-motion:reduce){.feat-lever-stage,.feat-lever-handle,.feat-lever-svg line,.feat-lever-svg circle{transition:none}}.skills-combat-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2)}.skills-combat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.skills-combat-header>h3{margin:0}.skills-combat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);overflow:auto}.skills-combat-item{border-radius:var(--radius-md);padding:10px;background:linear-gradient(140deg,#465375eb,#3c4c6fe0);border:1px solid rgb(106 96 136 / 18%);box-shadow:inset 0 1px #e8efff24;display:grid;gap:6px}.skills-combat-item-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.skills-combat-name{font-weight:700}.skills-combat-meta{color:var(--text-tertiary);font-size:.84rem}.skills-combat-desc{margin:0;color:var(--text-secondary);font-size:.86rem}.skills-combat-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.skills-combat-cooldown{color:var(--color-cooldown);font-size:.84rem;font-weight:700}.skills-combat-cooldown-ready{color:var(--color-status-ready)}.character-effects{align-content:start}.character-detail-subpanel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0}.character-detail-tabs{display:flex;gap:3px;align-items:flex-end;padding:0 6px;border-bottom:1px solid rgb(106 96 136 / 26%)}.character-detail-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid rgb(106 96 136 / 30%);border-bottom:0;border-radius:11px 11px 0 0;padding:7px 14px;font-size:.78rem;font-weight:700;color:var(--text-primary);background:linear-gradient(160deg,#c6d4e9db,#c9b8e2cc);cursor:pointer;transform-origin:bottom center;transition:transform .17s var(--ease-out-soft),box-shadow .17s var(--ease-out-soft),background-color .17s var(--ease-out-soft),color .17s var(--ease-out-soft)}.detail-tab-icon{width:18px;height:18px;flex-shrink:0}.character-detail-tab:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:transparent}.character-detail-tab:hover{transform:translateY(-1px) scale(1.01);background:linear-gradient(160deg,#b8cce4e5,#d3b0ccd6);box-shadow:0 4px 10px #8270a438}.character-detail-tab-active{color:var(--text-bright);background:linear-gradient(165deg,#be9fcff2,#a5bfd8eb),linear-gradient(0deg,#1a18260f,#1a18260f);transform:translateY(1px) scale(1.01);box-shadow:0 6px 16px #8270a43d;z-index:1}.character-detail-tab-active:after{background:#b4acd2fa}.character-detail-body{min-height:0;overflow:hidden;margin-top:-1px;padding:10px 2px 2px;border-top:1px solid rgb(106 96 136 / 20%);background:linear-gradient(180deg,rgb(181 172 211 / 28%),transparent 28px)}.character-detail-panel{display:grid;gap:var(--space-2);min-height:0}.character-detail-panel.character-effects{overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgb(210 196 232 / 84%) transparent}.character-detail-panel.character-effects::-webkit-scrollbar{width:9px}.character-detail-panel.character-effects::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#d2c4e8d6,#bcd3e9cc)}.character-detail-panel.character-achievements{overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgb(210 196 232 / 84%) transparent}.character-detail-panel.character-achievements::-webkit-scrollbar{width:9px}.character-detail-panel.character-achievements::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#d2c4e8d6,#bcd3e9cc)}.achievements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.achievement-item{border-radius:var(--radius-md);padding:8px 10px;background:linear-gradient(140deg,#465375eb,#3c4c6fe0);border:1px solid rgb(106 96 136 / 16%);box-shadow:inset 0 1px #e8efff24}.achievement-item-completed{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.achievement-item-completed .achievement-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-title{font-size:.72rem;font-style:italic;color:#c8bae4d1;white-space:nowrap}.achievement-item-progress{display:flex;flex-direction:column;gap:4px}.achievement-progress-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.achievement-progress-text{font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.achievement-progress-track{height:4px}.character-detail-panel.character-quests{overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgb(210 196 232 / 84%) transparent}.character-detail-panel.character-quests::-webkit-scrollbar{width:9px}.character-detail-panel.character-quests::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#d2c4e8d6,#bcd3e9cc)}.quest-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1;color:var(--text-white);background:linear-gradient(140deg,#a897d2e5,#8caec9d9)}.character-detail-panel.character-stats{overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgb(210 196 232 / 84%) transparent}.stats-content{display:flex;flex-direction:column;gap:var(--space-3)}.stats-attribute-table{width:100%;border-collapse:collapse;font-size:.82rem}.stats-th{text-align:left;padding:4px 6px;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid rgb(106 96 136 / 22%)}.stats-th-num{text-align:center;width:3.5em}.stats-row{border-bottom:1px solid rgb(106 96 136 / 8%)}.stats-td{padding:4px 6px}.stats-td-name{font-weight:500;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.stats-td-num{text-align:center;color:var(--text-secondary)}.stats-buff{color:var(--color-primary-moss-green)}.stats-debuff{color:var(--color-accent-faded-crimson)}.stats-diff{margin-left:3px;font-size:.72rem;opacity:.8}.stats-derived{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--radius-md);border:1px solid rgb(106 96 136 / 16%);background:#323a5266}.stats-derived-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.stats-derived-label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.stats-derived-value{color:var(--text-primary);font-weight:500}.character-detail-panel.character-score{overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgb(210 196 232 / 84%) transparent}.score-content{display:flex;flex-direction:column;gap:var(--space-3)}.score-identity{display:flex;align-items:baseline;gap:var(--space-2)}.score-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.score-title{font-size:.78rem;color:var(--color-primary-pale-blue);font-style:italic}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;font-size:.82rem}.score-grid>div{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid rgb(106 96 136 / 8%)}.score-grid dt{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.score-grid dd{margin:0;color:var(--text-primary);font-weight:500}.score-grid-combat{grid-template-columns:1fr 1fr 1fr}.score-vitals{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:var(--radius-md);border:1px solid rgb(106 96 136 / 16%);background:#323a5266}.score-vital-row{display:flex;justify-content:space-between;font-size:.82rem}.score-vital-label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.score-vital-value{color:var(--text-primary);font-weight:500}.score-stats-row{display:flex;flex-wrap:wrap;gap:4px}.score-stat-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 16%);background:#323a527f;font-size:.75rem}.score-stat-abbrev{color:var(--text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.score-stat-val{color:var(--text-primary);font-weight:500}.score-social{display:flex;flex-direction:column;gap:2px}.score-social-row{display:flex;justify-content:space-between;font-size:.82rem}.score-social-label{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.score-social-value{color:var(--text-primary)}.score-currencies{margin-top:var(--space-2)}.score-currencies-label{margin:0 0 4px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.score-currencies-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;margin:0;font-size:.82rem}.score-currencies-grid>div{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid rgb(106 96 136 / 8%)}.score-currencies-grid dt{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.score-currencies-grid dd{margin:0;color:var(--text-primary);font-weight:500}.score-prestige{margin-top:var(--space-2);padding:8px;border-radius:6px;background:#3e4a6c66;border:1px solid rgb(151 166 204 / 20%)}.score-prestige-label{margin:0 0 4px;font-size:.75rem;font-weight:600;color:var(--color-primary-soft-gold);letter-spacing:.04em;text-transform:uppercase}.score-prestige-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0}.score-prestige-grid>div{display:flex;justify-content:space-between;align-items:baseline}.score-prestige-grid dt{color:var(--text-muted);font-size:.75rem}.score-prestige-grid dd{margin:0;color:var(--text-primary);font-weight:500}.score-prestige-actions{display:flex;gap:6px;margin-top:6px}.score-prestige-btn{flex:1;font-size:.72rem;padding:4px 8px}.score-lottery{margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:#6a608814;border:1px solid rgb(106 96 136 / 12%)}.score-lottery-label{margin:0 0 6px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.score-lottery-grid{display:grid;grid-template-columns:1fr;gap:4px;margin:0;padding:0;font-size:.82rem}.score-lottery-grid>div{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid rgb(106 96 136 / 8%)}.score-lottery-grid dt{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.score-lottery-grid dd{margin:0;color:var(--text-primary);font-weight:500}.score-lottery-jackpot{color:var(--gold, #e8c547);font-weight:600}.score-lottery-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2)}.score-lottery-btn{flex:1;padding:4px 8px;border:1px solid var(--border-subtle, rgb(106 96 136 / 20%));border-radius:var(--radius-sm);background:var(--surface-elevated, rgb(106 96 136 / 12%));color:var(--text-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.score-lottery-btn:hover{background:#6a608833;border-color:#6a60884d}.score-lottery-btn:active{background:#6a608847}.score-lottery-btn-secondary{background:transparent}.score-lottery-btn-secondary:hover{background:#6a60881a}.score-section-label{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:4px}.score-section-value{font-size:var(--fs-sm);color:var(--text-secondary)}.score-duel,.score-dungeon,.score-prestige-perks{margin-top:12px;padding:8px 10px;border-radius:var(--radius-md);background:#6a608814}.score-duel-challenge{display:flex;flex-direction:column;gap:6px}.score-duel-actions{display:flex;gap:var(--space-2)}.score-dungeon-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin:4px 0}.score-dungeon-grid dt{font-size:var(--fs-xs);color:var(--text-secondary)}.score-dungeon-grid dd{font-size:var(--fs-sm);color:var(--text-primary)}.score-dungeon-complete{font-size:var(--fs-sm);font-weight:600;color:var(--color-success);margin:4px 0}.score-dungeon-actions{margin-top:6px}.prestige-perk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.prestige-perk-item{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:var(--radius-sm);font-size:var(--fs-xs)}.prestige-perk-earned{background:#6a60881f;color:var(--text-primary)}.prestige-perk-locked{background:transparent;color:var(--text-secondary);opacity:.7}.prestige-perk-rank{min-width:20px;text-align:center;font-weight:600;font-size:var(--fs-xs)}.prestige-perk-earned .prestige-perk-rank{color:var(--color-success)}.prestige-perk-desc{flex:1}.character-factions{overflow-y:auto}.factions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.faction-item{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:var(--radius-md);background:#323c5866}.faction-header{display:flex;justify-content:space-between;align-items:baseline}.faction-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.faction-tier{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.faction-tier-positive{color:var(--color-hp-light)}.faction-tier-neutral{color:var(--color-xp-light)}.faction-tier-negative{color:var(--color-error)}.faction-rep-row{display:flex;align-items:center;gap:8px}.faction-rep-track{flex:1;height:6px}.faction-rep-fill{height:100%;border-radius:inherit;transition:width .3s var(--ease-out-soft)}.faction-rep-fill-positive{background:linear-gradient(90deg,var(--color-hp-light),var(--color-hp-dark))}.faction-rep-fill-neutral{background:linear-gradient(90deg,var(--color-xp-light),var(--color-xp-dark))}.faction-rep-fill-negative{background:linear-gradient(90deg,var(--color-error),var(--color-damage))}.faction-rep-value{font-size:.72rem;font-weight:500;color:var(--text-secondary);min-width:36px;text-align:right}.quest-notifications{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-2)}.quest-notification{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 10px;border-radius:var(--radius-md);font-size:.78rem;animation:questNotifSlide .3s var(--ease-out-soft)}.quest-notification-complete{background:linear-gradient(140deg,#8da97b66,#6e945a52);border:1px solid rgb(141 169 123 / 36%)}.quest-notification-update{background:linear-gradient(140deg,#8caec952,#6e94b442);border:1px solid rgb(140 174 201 / 30%)}.quest-notification-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-notification-dismiss{flex-shrink:0;border:none;background:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}.quest-notification-dismiss:hover{color:var(--text-primary)}.quest-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.quest-item{border-radius:var(--radius-md);background:linear-gradient(140deg,#465375eb,#3c4c6fe0);border:1px solid rgb(106 96 136 / 16%);box-shadow:inset 0 1px #e8efff24;transition:border-color .17s var(--ease-out-soft)}.quest-item-expanded{border-color:#a897d25c}.quest-item-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:8px 10px;border:none;background:none;color:var(--text-primary);font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.quest-item-header:hover{background:#ffffff0a;border-radius:var(--radius-md)}.quest-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-item-progress-badge{flex-shrink:0;font-size:.7rem;font-weight:700;color:var(--text-secondary);background:#ffffff14;padding:2px 7px;border-radius:999px}.quest-item-details{padding:0 10px 10px;animation:questDetailsSlide .2s var(--ease-out-soft)}.quest-item-description{margin:0 0 var(--space-2);font-size:.76rem;color:var(--text-secondary);line-height:1.5}.quest-objectives{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.quest-objective{display:flex;flex-direction:column;gap:3px}.quest-objective-header{display:flex;align-items:center;gap:6px;font-size:.76rem}.quest-objective-check{flex-shrink:0;width:14px;text-align:center;font-size:.72rem;color:var(--text-secondary)}.quest-objective-done .quest-objective-check{color:var(--color-primary-moss-green)}.quest-objective-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.quest-objective-done .quest-objective-text{color:var(--text-secondary);text-decoration:line-through}.quest-objective-count{flex-shrink:0;font-size:.7rem;color:var(--text-secondary);margin-left:auto}.quest-objective-track{height:3px;margin-left:20px}.meter-fill-quest{background:linear-gradient(90deg,var(--color-primary-pale-blue),var(--color-primary-lavender));box-shadow:0 0 6px #a897d266}.quest-item-actions{margin-top:var(--space-2);display:flex;justify-content:flex-end;gap:6px}.quest-abandon-button{border:1px solid rgb(184 143 170 / 40%);border-radius:6px;background:#b88faa24;color:var(--color-primary-dusty-rose);font-size:.72rem;font-weight:600;padding:4px 12px;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.quest-abandon-button:hover{background:#b88faa3d;border-color:#b88faa8f}.quest-turnin-button{border:1px solid rgb(214 184 110 / 70%);border-radius:6px;background:linear-gradient(90deg,#d6b86e38,#d6b86e52);color:var(--color-primary-soft-gold);font-size:.74rem;font-weight:700;padding:4px 14px;cursor:pointer;box-shadow:0 0 8px #d6b86e47;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.quest-turnin-button:hover{background:linear-gradient(90deg,#d6b86e57,#d6b86e70);border-color:#d6b86ee5;box-shadow:0 0 14px #d6b86e6b}.quest-item-ready{box-shadow:0 0 12px #d6b86e4d;border-color:#d6b86e7f}.quest-item-ready .quest-item-icon{color:var(--color-primary-soft-gold)}.quest-item-ready-badge{margin-left:auto;margin-right:6px;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-soft-gold);background:#d6b86e24;border:1px solid rgb(214 184 110 / 50%);border-radius:999px;padding:2px 8px;white-space:nowrap}@keyframes questNotifSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes questDetailsSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mail-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}.mail-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center}.mail-empty-icon{font-size:2rem;opacity:.3;animation:mailEmptyDrift 4s var(--ease-in-out-smooth) infinite alternate}@keyframes mailEmptyDrift{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.mail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2)}.mail-inbox-label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.mail-unread-badge{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:linear-gradient(140deg,#8d7ba9e5,#6e5a94d9);color:var(--text-bright);font-size:.72rem;font-weight:700}.mail-compose-button{padding:var(--space-2) var(--space-3);min-height:44px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;cursor:pointer;transition:background .15s var(--ease-out-soft),color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mail-compose-button:hover{background:var(--bg-surface-hover);color:var(--text-bright);transform:translateY(-1px)}.mail-compose-button:active{transform:scale(.97)}.mail-inbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mail-inbox-item{display:flex;align-items:center;border-bottom:1px solid var(--line-faint)}.mail-inbox-item.mail-unread{background:#8d7ba914;transition:background .3s var(--ease-out-soft)}.mail-inbox-row{flex:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:none;background:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;cursor:pointer;text-align:left;transition:color .12s,transform .12s var(--ease-out-soft),box-shadow .2s var(--ease-out-soft)}.mail-inbox-row:hover{color:var(--text-bright);transform:translateY(-1px);box-shadow:inset 0 0 12px #8d7ba90f}.mail-inbox-row:active{transform:scale(.98)}.mail-inbox-marker{width:10px;color:var(--color-primary-lavender);font-size:1rem;flex-shrink:0}.mail-unread .mail-inbox-marker{animation:mailMarkerPulse 3s var(--ease-in-out-smooth) infinite}@keyframes mailMarkerPulse{0%,to{opacity:1}50%{opacity:.4}}.mail-inbox-from{font-weight:600;color:var(--text-primary);flex-shrink:0;min-width:70px}.mail-inbox-preview{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.mail-inbox-date{flex-shrink:0;font-size:.72rem;opacity:.5}.mail-delete-button{padding:var(--space-2) var(--space-3);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;opacity:.4;transition:opacity .12s,color .12s}.mail-delete-button:hover,.mail-delete-confirm{opacity:1;color:var(--color-error)}.mail-message-view{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-2);animation:mailComposeEnter .2s var(--ease-out-soft)}.mail-message-header{display:flex;align-items:center;gap:var(--space-2)}.mail-back-button{padding:var(--space-2) var(--space-3);min-height:44px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;cursor:pointer;transition:background .15s var(--ease-out-soft),color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mail-back-button:hover{background:var(--bg-surface-hover);color:var(--text-bright);transform:translateY(-1px)}.mail-back-button:active{transform:scale(.97)}.mail-message-title{flex:1;font-size:.85rem;font-weight:600;color:var(--text-primary)}.mail-message-header .mail-message-date{flex-shrink:0;font-size:.72rem;color:var(--text-secondary);opacity:.7}.mail-message-body{font-family:var(--font-body);font-size:.82rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;margin:0}.mail-compose{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-2);animation:mailComposeEnter .2s var(--ease-out-soft)}@keyframes mailComposeEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mail-compose-form{display:flex;flex-direction:column;gap:var(--space-2)}.mail-compose-input{padding:var(--space-2) var(--space-3);border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem}.mail-compose-label{font-size:.78rem;color:var(--text-secondary);font-weight:600}.mail-compose-send{align-self:flex-start;padding:var(--space-2) var(--space-4);min-height:44px;border:none;border-radius:var(--radius-sm);background:var(--color-primary-lavender);color:var(--text-bright);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mail-compose-send:disabled{opacity:.5;cursor:default;pointer-events:none}.mail-compose-send:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px)}.mail-compose-send:not(:disabled):active{transform:scale(.97)}.mail-compose-textarea{width:100%;min-height:120px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;resize:vertical}.mail-compose-actions{display:flex;gap:var(--space-2);align-items:center}.mail-compose-abort{padding:var(--space-2) var(--space-4);min-height:44px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.mail-compose-abort:hover{color:var(--text-primary);border-color:var(--text-secondary)}.mail-compose-attach{display:flex;gap:var(--space-3);flex-wrap:wrap}.mail-compose-attach-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 140px}.mail-compose-hint{font-size:.7rem;color:var(--text-secondary)}.mail-attachments{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface)}.mail-attach-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.mail-attach-items{display:flex;gap:var(--space-2);flex-wrap:wrap;flex:1}.mail-attach-chip{padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.mail-attach-gold{background:color-mix(in srgb,var(--color-gold-bright) 22%,transparent);color:var(--color-gold-bright)}.mail-attach-item{background:color-mix(in srgb,var(--color-primary-lavender) 20%,transparent);color:var(--text-primary)}.mail-attach-claimed{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.mail-claim-button{padding:var(--space-1) var(--space-4);min-height:36px;border:none;border-radius:var(--radius-sm);background:var(--color-gold-bright);color:var(--bg-deep);font-family:var(--font-body);font-size:.8rem;font-weight:700;cursor:pointer;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mail-claim-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.mail-claim-button:active{transform:scale(.97)}.mail-inbox-gift{font-size:.9rem;line-height:1}.quest-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}.quest-tab-bar{display:flex;gap:var(--space-1);padding:0 var(--space-1);border-bottom:1px solid var(--line-faint)}.quest-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .17s var(--ease-out-soft),border-color .17s var(--ease-out-soft)}.quest-tab:hover{color:var(--text-primary)}.quest-tab-active{color:var(--text-bright);border-bottom-color:var(--color-primary-lavender)}.quest-tab-badge-available{background:linear-gradient(140deg,#8da97be5,#6e945ad9)}.quest-panel-section{animation:questDetailsSlide .2s var(--ease-out-soft)}.quest-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center}.quest-empty-icon{font-size:2rem;opacity:.3;animation:questEmptyDrift 4s var(--ease-in-out-smooth) infinite alternate}@keyframes questEmptyDrift{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.quest-item-icon{flex-shrink:0;font-size:.72rem;color:var(--color-primary-lavender);margin-right:2px}.quest-item-complete .quest-item-icon{color:var(--color-primary-moss-green)}.quest-item-complete .quest-item-header{color:var(--text-secondary)}.quest-item-mini-progress{padding:0 10px 8px}.quest-mini-track{height:3px}.meter-fill-quest-done{background:linear-gradient(90deg,var(--color-primary-moss-green),rgb(141 180 110 / 90%));box-shadow:0 0 6px #8da97b7f}.quest-available-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.quest-available-card{border-radius:var(--radius-md);background:linear-gradient(145deg,#3c4e64e5,#32445fdb);border:1px solid rgb(141 169 123 / 22%);padding:var(--space-3) var(--space-3) var(--space-3);box-shadow:inset 0 1px #e8efff1a;transition:border-color .17s var(--ease-out-soft),box-shadow .17s var(--ease-out-soft);animation:questCardAppear .28s var(--ease-out-soft)}.quest-available-card:hover{border-color:#8da97b66;box-shadow:inset 0 1px #e8efff1a,0 0 12px #8da97b24}@keyframes questCardAppear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quest-available-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.quest-available-icon{color:var(--color-primary-moss-green);font-size:.82rem}.quest-available-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-heading);letter-spacing:.01em}.quest-available-level-pill{font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.04em;padding:1px 8px;border-radius:999px;color:var(--color-primary-soft-gold);background:#d4af5a29;border:1px solid rgb(212 175 90 / 32%)}.quest-available-description{margin:0 0 var(--space-2);font-size:.76rem;color:var(--text-secondary);line-height:1.55}.quest-available-objectives{list-style:none;padding:0;margin:0 0 var(--space-2);display:flex;flex-direction:column;gap:4px}.quest-available-objective{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--text-tertiary)}.quest-available-obj-icon{flex-shrink:0;font-size:.6rem;opacity:.6}.quest-available-obj-count{margin-left:auto;flex-shrink:0;font-size:.68rem;color:var(--text-disabled)}.quest-available-rewards{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:.74rem}.quest-available-rewards-label{color:var(--text-secondary);font-weight:600}.quest-reward-xp{color:var(--color-xp-dark);font-weight:700}.quest-reward-gold{color:var(--color-primary-soft-gold);font-weight:700}.quest-reward-item{display:inline-flex;align-items:center;gap:4px;color:var(--color-accent-lavender, var(--text-primary));font-weight:700}.quest-reward-item-icon{color:var(--color-accent-lavender, var(--text-secondary));font-size:.7em;opacity:.85}.quest-accept-button{display:block;width:100%;padding:8px 16px;border:1px solid rgb(141 169 123 / 44%);border-radius:var(--radius-sm);background:linear-gradient(140deg,#5a78507f,#506e4466);color:var(--color-hp-light);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .18s var(--ease-out-soft),border-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.quest-accept-button:hover{background:linear-gradient(140deg,#6e915f99,#5f824e7f);border-color:#8da97ba3;box-shadow:0 0 14px #8da97b47;transform:translateY(-1px)}.quest-accept-button:active{transform:scale(.97)}.quest-accept-button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.quest-turnin-button{border-color:#f0c6747f;background:linear-gradient(140deg,#a082468c,#8c6e3773);color:var(--color-primary-soft-gold)}.quest-turnin-button:hover{background:linear-gradient(140deg,#bea05aa6,#aa8c4b8c);border-color:#f0c674bf;box-shadow:0 0 14px #f0c6744d}.quest-offer-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0}.quest-offer-section{display:flex;flex-direction:column;gap:var(--space-2)}.quest-offer-section-title{margin:0;font-family:var(--font-display);font-size:.86rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.quest-offer-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4)}.quest-offer-requirements{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2);font-size:.72rem}.quest-offer-requirement{padding:2px 8px;border:1px solid rgb(141 169 123 / 25%);border-radius:var(--radius-sm);color:var(--text-secondary);background:#8da97b14}.quest-offer-locked{margin:0 0 var(--space-2);padding:6px 10px;border-left:2px solid rgb(212 136 138 / 60%);background:#d4888a1a;font-size:.74rem;color:var(--text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.quest-notification-icon{flex-shrink:0;font-size:.68rem}.quest-notification-complete .quest-notification-icon{color:var(--color-primary-moss-green)}.quest-notification-update .quest-notification-icon{color:var(--color-primary-pale-blue)}.action-bar-btn-badge{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-family:var(--font-body);font-size:.58rem;font-weight:800;line-height:1;color:var(--text-white);background:linear-gradient(140deg,var(--color-primary-lavender),var(--color-primary-pale-blue));box-shadow:0 1px 4px #080a1266;pointer-events:none}.quest-load-button{display:inline-block;margin-top:var(--space-2);padding:8px 20px;border:1px solid rgb(168 151 210 / 44%);border-radius:var(--radius-sm);background:linear-gradient(140deg,#5a508273,#50648c59);color:var(--text-bright);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .18s var(--ease-out-soft),border-color .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.quest-load-button:hover{background:linear-gradient(140deg,#6e5f9b8c,#5f73a073);border-color:#a897d2a3;box-shadow:0 0 14px #a897d247;transform:translateY(-1px)}.quest-load-button:active{transform:scale(.97)}.quest-timed-board{display:flex;flex-direction:column;gap:var(--space-2)}.quest-streak-banner{display:flex;align-items:center;gap:6px;padding:6px 12px;margin:0 var(--space-1);border-radius:var(--radius-sm);background:linear-gradient(140deg,#b4a0502e,#c8b4641f);border:1px solid rgb(200 180 100 / 25%)}.quest-streak-icon{font-size:.82rem;color:var(--color-primary-soft-gold)}.quest-streak-text{font-size:.78rem;font-weight:700;color:var(--color-primary-soft-gold)}.quest-timed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-1)}.quest-timed-row{padding:10px 12px;border-radius:var(--radius-sm);background:#6b6b7b14;border:1px solid rgb(107 107 123 / 12%);transition:background .15s var(--ease-out-soft)}.quest-timed-row:hover{background:#6b6b7b24}.quest-timed-row-done{opacity:.65}.quest-timed-row-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.quest-timed-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--radius-xs);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-white);background:linear-gradient(140deg,#a897d2cc,#8caec9b3)}.quest-timed-description{flex:1;font-size:.78rem;color:var(--text-primary)}.quest-timed-track{height:4px;margin:4px 0}.quest-timed-done-check{font-size:.72rem;font-weight:700;color:var(--color-primary-moss-green);margin:4px 0}.quest-timed-rewards{display:flex;gap:var(--space-2);font-size:.72rem;margin-top:2px}.quest-bounty-card{padding:var(--space-3) var(--space-3);margin:0 var(--space-1);border-radius:var(--radius-md);background:#6b6b7b14;border:1px solid rgb(107 107 123 / 14%);display:flex;flex-direction:column;gap:var(--space-3)}.quest-bounty-header{display:flex;align-items:center;gap:8px}.quest-bounty-icon{font-size:1rem;color:var(--color-primary-lavender)}.quest-bounty-title{font-size:.88rem;font-weight:700;color:var(--text-bright)}.quest-bounty-progress{display:flex;flex-direction:column;gap:4px}.quest-bounty-details{display:flex;align-items:center;gap:var(--space-3);font-size:.76rem}.quest-bounty-timer{color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.quest-global-card{padding:var(--space-3) var(--space-3);margin:0 var(--space-1);border-radius:var(--radius-md);background:#6b6b7b14;border:1px solid rgb(107 107 123 / 14%);display:flex;flex-direction:column;gap:var(--space-3)}.quest-global-header{display:flex;align-items:center;gap:8px}.quest-global-icon{font-size:1rem;color:var(--color-primary-pale-blue)}.quest-global-title{flex:1;font-size:.88rem;font-weight:700;color:var(--text-bright)}.quest-global-complete-badge{padding:2px 10px;border-radius:var(--radius-xs);font-size:.64rem;font-weight:800;text-transform:uppercase;color:var(--text-white);background:linear-gradient(140deg,#8da97be5,#6e945ad9)}.quest-global-progress{display:flex;flex-direction:column;gap:4px}.quest-global-timer{font-size:.74rem;color:var(--text-secondary);font-weight:600;font-variant-numeric:tabular-nums}.quest-global-leaderboard{margin-top:var(--space-1)}.quest-global-leaderboard-title{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.quest-global-leaderboard-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.quest-global-leaderboard-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius-xs);font-size:.74rem}.quest-global-leaderboard-row:nth-child(odd){background:#6b6b7b0f}.quest-global-lb-rank{font-weight:800;color:var(--color-primary-soft-gold);min-width:28px;font-variant-numeric:tabular-nums}.quest-global-lb-name{flex:1;color:var(--text-primary);font-weight:600}.quest-global-lb-progress{font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.quest-empty-icon,.quest-available-card,.quest-panel-section{animation:none}}.inventory-panel{position:relative;display:flex;flex-direction:column;gap:14px;padding:2px 0 4px;container-type:inline-size;color:#f0e2c4}.inventory-active-container{display:flex;align-items:center;gap:var(--space-2);align-self:flex-start;min-width:0;padding:6px 12px;border-radius:999px;border:1px solid rgb(138 106 46 / 55%);background:#e6c46a47;color:#4a3620;box-shadow:inset 0 1px #fffaec4d}.inventory-active-container-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a6a2e}.inventory-active-container-name{min-width:0;font-size:.82rem;font-weight:600;color:#33271a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-section{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-radius:12px;background:linear-gradient(160deg,#4e382099,#36271699);border:1px solid rgb(132 94 48 / 50%);box-shadow:inset 0 1px #d8ba7a24,0 1px 3px #120a0359}.inventory-section-header{display:flex;align-items:center;gap:var(--space-2);padding:0}.inventory-section-title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:#f2e6c8;margin:0;letter-spacing:.02em;flex:1 1 auto;min-width:0}.inventory-section-count{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:#f4e3b4;background:#d8ba7a3d;border:1px solid rgb(216 186 122 / 42%);border-radius:999px;padding:1px 8px;flex-shrink:0}.inventory-section-hint{margin:0;font-size:.7rem;color:#d8c39a;font-style:italic;line-height:1.3}.inventory-section-equipment .inventory-section-title{border-left:3px solid var(--color-primary-moss-green);padding-left:8px}.inventory-section-consumable .inventory-section-title{border-left:3px solid var(--color-primary-pale-blue);padding-left:8px}.inventory-section-quest .inventory-section-title{border-left:3px solid var(--color-primary-soft-gold);padding-left:8px}.inventory-section-treasure .inventory-section-title{border-left:3px solid var(--color-primary-dusty-rose, #c08a9a);padding-left:8px}.inventory-section-misc .inventory-section-title{border-left:3px solid var(--color-accent-lavender, #a897d2);padding-left:8px}.inventory-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.inventory-item{border-radius:8px;background:linear-gradient(155deg,#c7b184,#af9968);border:1px solid rgb(60 42 22 / 68%);box-shadow:0 1px 2px #120a0366,inset 0 1px #e4d4b038;transition:border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.inventory-item:hover{border-color:#8a6a2e;box-shadow:0 3px 8px #120a037f,inset 0 1px #e4d4b047}.inventory-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);padding:8px 10px}.inventory-item-info{display:flex;align-items:center;gap:var(--space-2);min-width:0}.inventory-item-copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:4px}.inventory-item-meta{display:flex;flex-wrap:wrap;gap:6px;min-height:18px}.inventory-item-thumb-wrap{position:relative;flex-shrink:0;width:28px;height:28px}.inventory-item-thumb{width:28px;height:28px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;border:1px solid rgb(60 42 22 / 55%);background:#3627164d;display:block}.inventory-stack-count{position:absolute;right:-4px;bottom:-4px;min-width:18px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-primary-soft-gold, #bea873);color:#1a1411;font-size:.66rem;font-weight:800;line-height:16px;text-align:center;box-shadow:0 1px 3px #00000059;border:1px solid rgb(0 0 0 / 25%);pointer-events:none}.inventory-item-name{font-family:var(--font-display);font-size:.84rem;font-weight:700;color:#2e2212;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-item-slot{font-size:.66rem;color:#4f3819;background:#6a4a242e;border:1px solid rgb(106 74 36 / 45%);padding:1px 6px;border-radius:999px;flex-shrink:0}.inventory-item-effect{font-size:.66rem;color:#4f3819;background:#6a4a242e;border:1px solid rgb(106 74 36 / 45%);padding:1px 6px;border-radius:999px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14ch}.inventory-item-price{font-size:.66rem;color:#6e4e16;background:#e6c46a57;border:1px solid rgb(184 138 46 / 55%);padding:1px 6px;border-radius:999px;flex-shrink:0;font-variant-numeric:tabular-nums}.inventory-item-chip{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:999px;flex-shrink:0;border:1px solid transparent}.inventory-item-chip-equipment{background:#60845638;color:#3c5e34;border-color:#6084567f}.inventory-item-chip-consumable{background:#4a7a9e33;color:#2f5a76;border-color:#4a7a9e7a}.inventory-item-chip-quest{background:#b88a2e3d;color:#7a5a1e;border-color:#b88a2e7f}.inventory-item-chip-treasure{background:#aa607433;color:#8a4a5e;border-color:#aa60747a}.inventory-item-chip-misc{background:#7a68b233;color:#5a4a86;border-color:#7a68b275}.inventory-item-row-quest{border-left:3px solid var(--color-primary-soft-gold);padding-left:7px}.inventory-item-row-vendor{opacity:.78}.inventory-item-row-vendor:hover{opacity:1}.inventory-item-soulbound{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:#7a3e2a;background:#a84e3a38;border:1px solid rgb(138 62 44 / 50%);cursor:help}.inventory-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.inventory-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;width:auto;height:auto;padding:0 10px;border:1px solid rgb(24 15 6 / 72%);border-radius:999px;background:linear-gradient(180deg,#4a3620,#322310);color:#f0e2c4;cursor:pointer;white-space:nowrap;font:inherit;font-size:.72rem;font-weight:700;line-height:1;flex:0 0 auto;box-shadow:0 1px 2px #0c070273,inset 0 1px #96703c47;transition:background .14s var(--ease-out-soft),color .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft),transform .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft)}.inventory-action-btn:hover:not(:disabled){background:linear-gradient(180deg,#5b4329,#433015);color:#fff;border-color:#b88a3e;transform:translateY(-1px);box-shadow:0 4px 10px #0c070285}.inventory-action-btn:disabled{opacity:.38;cursor:not-allowed}.inventory-action-btn-pill{padding-inline:12px}.inventory-action-btn-icon{width:36px;padding:0;border-radius:11px}.inventory-action-btn-active{background:linear-gradient(180deg,#6a4e28,#4c3617);border-color:#c8a24a;color:#f6e8c2}.inventory-action-examine{color:#ecdcb0}.inventory-action-use{color:#bcd6e8}.inventory-action-equip{color:#bfe0b8}.inventory-action-put{color:#ecd9a4}.inventory-action-equip-hint{border-color:var(--color-primary-soft-gold);color:var(--color-primary-soft-gold);animation:inventory-equip-hint-pulse 1.8s var(--ease-in-out-smooth) infinite}@keyframes inventory-equip-hint-pulse{0%,to{box-shadow:0 0 #bea8738c}50%{box-shadow:0 0 10px 1px #bea8738c}}@media(prefers-reduced-motion:reduce){.inventory-action-equip-hint{animation:none;box-shadow:0 0 0 2px #bea8738c}}.inventory-action-icon{width:16px;height:16px;flex-shrink:0}.inventory-action-img{width:22px;height:22px;object-fit:contain;flex-shrink:0}.inventory-action-glyph{font-size:1.15rem;font-weight:700;line-height:1;color:inherit;font-variant-emoji:text}.inventory-give-picker{display:flex;align-items:center;gap:var(--space-1);padding:4px 8px 6px;flex-wrap:wrap}.inventory-give-label{font-size:.72rem;color:#6a4a24}.inventory-give-option{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid rgb(106 74 36 / 45%);background:#fffaecbf;color:#3a2c1a;cursor:pointer;transition:background .12s var(--ease-out-soft)}.inventory-give-option:hover{background:#e6c46a73}.inventory-empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 24px 40px;text-align:center}.inventory-empty-pocket{position:relative;width:132px;height:92px;border-radius:10px 10px 14px 14px;background:linear-gradient(165deg,#4e3820b3,#362716b3);border:1.5px dashed rgb(216 186 122 / 45%);box-shadow:inset 0 8px 18px #120a038c}.inventory-empty-pocket-flap{position:absolute;left:-1.5px;right:-1.5px;top:-1.5px;height:34px;border-radius:10px 10px 16px 16px/10px 10px 22px 22px;background:linear-gradient(180deg,#5b4226,#43301a);border:1.5px solid rgb(132 94 48 / 70%);box-shadow:0 3px 6px #120a0373}.inventory-empty-note{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#f2e6c8}.inventory-empty-sub{margin:0;max-width:30ch;font-size:.82rem;font-style:italic;line-height:1.4;color:#c9b182}.container-list{display:flex;flex-direction:column;gap:var(--space-2)}.container-entry{border:1px solid rgb(132 94 48 / 45%);border-radius:var(--radius-md);background:#36271673;padding:6px 8px;transition:border-color .14s var(--ease-out-soft),background .14s var(--ease-out-soft)}.container-entry-active{border-color:#d8ba7a7f;background:linear-gradient(145deg,#d8ba7a29,#3627168c)}.container-entry-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.container-entry-name{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:#f2e6c8}.container-items{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.container-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:2px 4px;border-radius:var(--radius-sm)}.container-item:hover{background:#d8ba7a24}.container-item-name{font-size:.78rem;color:#e6d8b8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 720px){.inventory-active-container{width:100%;justify-content:space-between}.inventory-item-row{grid-template-columns:minmax(0,1fr);align-items:start}.inventory-item-actions{justify-content:flex-start}.container-entry-header,.container-item{flex-wrap:wrap;align-items:flex-start}}.equipment-panel-v2{position:relative;padding:var(--space-2) 0}.paperdoll-layout{display:flex;gap:var(--space-3);align-items:flex-end}.paperdoll-sprite-col{flex-shrink:0}.paperdoll-sprite-wrap{position:relative;width:clamp(280px,34vw,440px);height:clamp(280px,34vw,440px)}.paperdoll-sprite{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg);filter:drop-shadow(0 4px 12px rgb(8 10 18 / 50%))}.paperdoll-sprite-placeholder{background:linear-gradient(140deg,#323c58cc,#28324bb3);border:2px dashed var(--line-faint);border-radius:var(--radius-lg)}.paperdoll-slot{position:absolute;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;border:2px solid rgb(168 151 210 / 50%);background:#22293ce5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .17s var(--ease-out-soft),box-shadow .17s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.paperdoll-slot:hover{border-color:var(--color-primary-lavender);box-shadow:0 0 10px #a897d266;transform:translate(-50%,-50%) scale(1.1)}.paperdoll-slot-selected{border-color:var(--color-primary-lavender);box-shadow:0 0 14px #a897d27f}.paperdoll-slot-empty{animation:slotPulse 3s var(--ease-in-out-smooth) infinite}.paperdoll-slot-filled{border-color:#8da97b99}.paperdoll-slot-filled:hover{border-color:var(--color-primary-moss-green);box-shadow:0 0 10px #8da97b66}.paperdoll-slot-img{width:36px;height:36px;border-radius:50%;object-fit:cover}.paperdoll-slot-letter{font-family:var(--font-body);font-size:.92rem;font-weight:700;color:var(--text-disabled)}@keyframes slotPulse{0%,to{opacity:.7;box-shadow:0 0 6px #a897d233}50%{opacity:1;box-shadow:0 0 12px #a897d266}}.paperdoll-slots-col{flex:1;min-width:0}.paperdoll-slot-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.paperdoll-list-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid rgb(120 104 168 / 22%);background:linear-gradient(160deg,#2a273ed1,#1e1c2ed1);box-shadow:inset 0 1px #d6cef014;cursor:pointer;transition:border-color .15s var(--ease-out-soft),background .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.paperdoll-list-item:hover{border-color:#a897d26b;box-shadow:inset 0 1px #d6cef01a,0 4px 12px #080a1259}.paperdoll-list-item-selected{border-color:var(--color-primary-lavender, #a897d2);background:linear-gradient(160deg,#3a3456e5,#28243ee5)}.paperdoll-list-item-empty{opacity:.7}.paperdoll-list-item-empty:hover{opacity:1}.paperdoll-card-thumb{flex-shrink:0;width:46px;height:46px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:1px solid rgb(198 162 74 / 45%);background:radial-gradient(circle at 50% 38%,#3c3658eb,#1a182af5);box-shadow:inset 0 0 10px #0806108c;overflow:hidden}.paperdoll-list-item-empty .paperdoll-card-thumb{border-style:dashed;border-color:#7868a861}.paperdoll-card-thumb-img{width:100%;height:100%;object-fit:contain;padding:4px}.paperdoll-card-thumb-letter{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#a897d294}.paperdoll-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.paperdoll-list-slot{font-size:.66rem;font-weight:700;color:var(--color-primary-soft-gold, #bea873);text-transform:uppercase;letter-spacing:.08em}.paperdoll-list-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paperdoll-list-name-empty{color:var(--text-disabled);font-style:italic;font-weight:500}@media(max-width:640px){.paperdoll-layout{flex-direction:column;align-items:stretch;gap:var(--space-4)}.paperdoll-sprite-col{align-self:center}.paperdoll-sprite-wrap{width:clamp(220px,64vw,320px);height:clamp(220px,64vw,320px)}.paperdoll-slots-col{width:100%}}.paperdoll-list-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.paperdoll-list-badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;flex-shrink:0;border:1px solid transparent}.paperdoll-list-badge-damage{color:var(--color-primary-dusty-rose, #c08a9a);background:#c08a9a1f;border-color:#c08a9a47}.paperdoll-list-badge-armor{color:var(--color-primary-moss-green);background:#84a87a1f;border-color:#84a87a47}.paperdoll-list-badge-stat{color:var(--color-primary-pale-blue);background:#82a4c71f;border-color:#82a4c747;font-variant-numeric:tabular-nums}.paperdoll-list-badge-enchant{color:var(--color-primary-soft-gold);background:#bea87324;border-color:#bea87352;max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paperdoll-list-actions{margin-top:4px;display:flex;justify-content:flex-end;animation:questDetailsSlide .16s var(--ease-out-soft)}.paperdoll-remove-btn{display:flex;align-items:center;gap:4px;border:1px solid rgb(184 143 170 / 40%);border-radius:var(--radius-sm);background:#b88faa24;color:var(--color-primary-dusty-rose);font-size:.72rem;font-weight:600;padding:4px 12px;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.paperdoll-remove-btn:hover{background:#b88faa3d;border-color:#b88faa8f}.paperdoll-remove-icon{width:14px;height:14px}.paperdoll-preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080a127f;border-radius:var(--radius-md);z-index:10;cursor:pointer;animation:previewOverlayIn .18s var(--ease-out-soft)}.paperdoll-preview-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5);background:var(--surface-panel-a);border:1px solid rgb(168 151 210 / 30%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 40px #a897d233;cursor:default;animation:previewCardIn .25s var(--ease-out-soft)}.paperdoll-preview-img{width:120px;height:120px;object-fit:contain;border-radius:var(--radius-md);border:2px solid rgb(168 151 210 / 40%);box-shadow:0 0 20px #a897d266,0 0 40px #8caec938}.paperdoll-preview-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-heading);text-align:center}.paperdoll-preview-close{position:absolute;top:6px;right:8px;border:none;background:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;line-height:1;padding:2px 4px}.paperdoll-preview-close:hover{color:var(--text-primary)}@keyframes previewOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes previewCardIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.paperdoll-slot-empty,.paperdoll-preview{animation:none}}.character-detail-panel-flip{animation:detailFlipIn .22s var(--ease-out-soft);transform-origin:top center;backface-visibility:hidden}.entity-list,.effects-list,.item-list,.equipment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.entity-item,.equipment-list li,.item-list li,.effect-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:8px 10px;background:linear-gradient(140deg,#465375eb,#3c4c6fe0);border:1px solid rgb(106 96 136 / 16%);box-shadow:inset 0 1px #e8efff24}.entity-item>span:first-child,.equipment-list li>span:last-child,.item-list li{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-name-with-thumb{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-thumb{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.item-list li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-meta,.effect-time,.effect-type,.equipment-slot{color:var(--text-tertiary);font-size:.86rem}.mob-card{display:flex;flex-direction:column;gap:var(--space-2)}.mob-meta-actions{display:inline-flex;align-items:center;gap:6px}.mob-command-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(140deg,#605174e5,#4c6384e0);color:var(--text-primary);cursor:pointer;box-shadow:inset 0 1px #ffffff7f,var(--shadow-sm);transition:transform .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),background-color .16s var(--ease-out-soft)}.mob-command-button:hover{transform:translateY(-1px) scale(1.03);background:linear-gradient(140deg,#6c5881eb,#556d8ee5);box-shadow:var(--shadow-md),0 0 10px #967cb55c}.mob-command-button:active{transform:scale(.97)}.mob-command-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.mob-command-icon{width:14px;height:14px}.play-entities{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3);overflow-x:auto;overflow-y:hidden}.play-entity-group{flex:1 1 0;min-width:0}.play-entity-heading{font-family:var(--font-display);font-size:.95rem;color:var(--text-tertiary);margin:0 0 var(--space-2);letter-spacing:.03em}.play-entity-thumb{width:38px;height:38px}.item-popout-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.item-list-entry{display:flex;flex-direction:column}.item-list-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.mob-command-button-active{background:#a897d24d;border-color:#a897d27f}.give-player-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 2px;animation:questDetailsSlide .18s var(--ease-out-soft)}.give-picker-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);margin-right:2px}.give-player-option{border:1px solid rgb(140 174 201 / 36%);border-radius:6px;background:#8caec924;color:var(--color-primary-pale-blue);font-size:.74rem;font-weight:600;padding:3px 10px;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.give-player-option:hover{background:#8caec947;border-color:#8caec98f}.equipment-popout-row{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:visible;white-space:normal}.equipment-popout-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-name{margin:0;font-size:1.72rem;font-family:var(--font-display);font-weight:600;color:var(--text-bright);line-height:1.15}.identity-detail{margin:2px 0 0;color:var(--text-secondary);line-height:1.2}.identity-controls{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.identity-select-group{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.identity-select-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.identity-select{font-size:.78rem;padding:3px 6px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 24%);background:#282e44b3;color:var(--text-primary);cursor:pointer;min-width:0}.identity-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #b8d8e84d}.identity-stat-grid{margin-top:var(--space-4);gap:6px}.identity-stat-grid dt{letter-spacing:.01em;text-transform:uppercase;font-size:.68rem}.identity-stat-grid dd{margin-top:2px;font-size:.86rem;font-weight:800}.character-identity-subpanel{overflow:hidden}.identity-row{display:flex;align-items:center;gap:var(--space-3)}.identity-text{flex:1;min-width:0}.character-sprite-button{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;border-radius:50%;transition:box-shadow .2s ease}.character-sprite-button:disabled{cursor:default}.character-sprite-button:not(:disabled):hover,.character-sprite-button-active{box-shadow:0 0 0 2px var(--accent-primary),0 0 10px #b8d8e859}.character-sprite-img{width:64px;height:64px;flex-shrink:0;object-fit:cover;border-radius:50%;border:2px solid rgb(167 182 216 / 25%);background:#2a2c3966}.character-utility-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);padding:4px 10px;border-radius:999px;border:1px solid rgb(134 146 191 / 18%);background:linear-gradient(145deg,#36405e99,#273049b3)}.character-utility-label{font-size:.76rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em;cursor:help}.character-utility-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:3px 8px 3px 4px;border:1px solid rgb(128 145 219 / 24%);border-radius:999px;background:linear-gradient(135deg,#272f49f2,#374161eb);color:var(--text-secondary);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;transition:transform .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft),background-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.character-utility-toggle:hover:not(:disabled){transform:translateY(-1px);border-color:#b0c1ff6b;box-shadow:var(--shadow-sm),0 0 14px #7685be33}.character-utility-toggle:active:not(:disabled){transform:scale(.98)}.character-utility-toggle:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.character-utility-toggle-active{border-color:#b8d8e857;background:linear-gradient(135deg,#486752f5,#38534beb),linear-gradient(0deg,#00000014,#00000014);color:#e7fff1f5}.character-utility-toggle-track{position:relative;display:inline-flex;align-items:center;width:32px;height:18px;padding:2px;border-radius:999px;background:linear-gradient(135deg,#5c577af5,#424e74f0);box-shadow:inset 0 1px 2px #06080e59}.character-utility-toggle-active .character-utility-toggle-track{background:linear-gradient(135deg,#81ab72f5,#538466eb)}.character-utility-toggle-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(145deg,#f1f4fff5,#c4d0ebf0);box-shadow:0 2px 6px #080a1252;transform:translate(0);transition:transform .18s var(--ease-out-soft)}.character-utility-toggle-active .character-utility-toggle-thumb{transform:translate(14px)}.character-utility-toggle-label{min-width:2ch;text-transform:uppercase;letter-spacing:.06em}.character-utility-select{flex-shrink:0;padding:4px 22px 4px 10px;border:1px solid rgb(128 145 219 / 24%);border-radius:999px;background:linear-gradient(135deg,#272f49f2,#374161eb) no-repeat;background-image:linear-gradient(135deg,#272f49f2,#374161eb),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23b9c1d8' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat,no-repeat;background-position:center,right 8px center;background-size:cover,9px 6px;color:#e1e8f7f5;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;appearance:none;-webkit-appearance:none;transition:transform .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.character-utility-select:hover:not(:disabled){transform:translateY(-1px);border-color:#b0c1ff6b;box-shadow:var(--shadow-sm),0 0 14px #7685be33}.character-utility-select:focus-visible{outline:2px solid var(--color-primary-lavender);outline-offset:2px}.character-utility-select:disabled{cursor:not-allowed;opacity:.6}.character-utility-select option{background:#262d43;color:#e1e8f7f5}.description-editor-section{margin-top:var(--space-3)}.description-editor-toggle{display:flex;align-items:center;gap:4px;padding:0;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.03em;transition:color .15s var(--ease-out-soft)}.description-editor-toggle:hover{color:var(--text-primary)}.description-editor-toggle-label{text-transform:uppercase}.description-editor-toggle-chevron{display:inline-block;font-size:.82rem;line-height:1;transition:transform .15s var(--ease-out-soft)}.description-editor-toggle-chevron-open{transform:rotate(90deg)}.description-editor-body{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.description-editor-textarea{width:100%;resize:vertical;min-height:72px;max-height:180px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 24%);background:#282e44b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-primary);font-family:var(--font-body);font-size:.8rem;line-height:1.45;transition:border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.description-editor-textarea::placeholder{color:var(--text-placeholder)}.description-editor-textarea:focus{outline:none;border-color:var(--color-primary-pale-blue);box-shadow:0 0 0 2px #8caec940}.description-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.description-editor-counter{font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);transition:color .15s var(--ease-out-soft)}.description-editor-counter-warn{color:var(--color-primary-soft-gold)}.description-editor-counter-limit{color:var(--color-error);font-weight:700}.description-editor-actions{display:flex;gap:var(--space-2)}.description-editor-btn{border-radius:6px;font-size:.72rem;font-weight:600;padding:4px 12px;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.description-editor-clear-btn{border:1px solid rgb(184 143 170 / 40%);background:#b88faa24;color:var(--color-primary-dusty-rose)}.description-editor-clear-btn:hover{background:#b88faa3d;border-color:#b88faa8f}.description-editor-save-btn{border:1px solid rgb(141 169 123 / 40%);background:#8da97b2e;color:var(--color-primary-moss-green)}.description-editor-save-btn:hover:not(:disabled){background:#8da97b4d;border-color:#8da97b8f}.description-editor-save-btn:disabled{cursor:not-allowed;opacity:.5}.sprite-selector{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#1e2234d9;border:1px solid rgb(106 96 136 / 24%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:260px;overflow-y:auto}.sprite-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.sprite-selector-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.sprite-selector-close{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}.sprite-selector-close:hover{color:var(--text-primary)}.sprite-category{margin-top:var(--space-3)}.sprite-category-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-2)}.sprite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-2)}.sprite-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2);border-radius:var(--radius-sm);border:2px solid transparent;background:#2a2c397f;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;color:var(--text-secondary)}.sprite-option:hover{border-color:#a7b6d866;background:#32364c99}.sprite-option-active{border-color:var(--accent-primary);background:#32364cb3;box-shadow:0 0 8px #b8d8e833}.sprite-option-active .sprite-option-name{color:var(--text-primary)}.sprite-option-img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);background:#1e223466}.sprite-option-name{font-size:.6rem;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sprite-option-default{flex-direction:row;gap:var(--space-2);margin-bottom:var(--space-2)}.sprite-option-auto-label{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-sm);background:#6a608833;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0}.sprite-option-default .sprite-option-name{font-size:.72rem}.meter-stack{display:flex;flex-direction:column;gap:var(--space-3)}.meter-placeholder-stack{display:grid;gap:var(--space-2)}.meter-placeholder-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-tertiary)}.meter-track-placeholder{background:#6b6b7b29}.meter-fill-placeholder{width:38%;background:linear-gradient(90deg,#dfd2eebd,#bfd9ecb8)}.meter-block{display:flex;flex-direction:column;gap:var(--space-1)}.meter-label-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-tertiary)}.meter-track{width:100%;height:9px;border-radius:999px;background:#6b6b7b26;overflow:hidden;box-shadow:inset 0 1px 2px #2a2c391f}.meter-fill{display:block;height:100%;border-radius:inherit;transition:width .22s var(--ease-in-out-smooth);position:relative}.meter-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff42,#fff0)}.meter-fill-hp{background:linear-gradient(90deg,var(--color-hp-light),var(--color-hp-dark))}.meter-fill-mana{background:linear-gradient(90deg,var(--color-mana-light),var(--color-mana-dark))}.meter-fill-xp{background:linear-gradient(90deg,var(--color-xp-light),var(--color-xp-dark))}.panel-character .character-detail-panel.meter-stack{gap:var(--space-2)}.panel-character .meter-block{gap:2px}.panel-character .meter-label-row{font-size:.76rem}.panel-character .meter-track{height:7px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0}.stat-grid dt{margin:0;font-size:.74rem;color:var(--text-tertiary)}.stat-grid dd{margin:var(--space-1) 0 0;font-weight:700}.empty-note{margin:0;color:var(--text-tertiary);font-style:italic}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.look-target-backdrop{position:fixed;inset:0;z-index:var(--z-inspect);display:grid;place-items:center;padding:var(--space-4);background:#0e101c99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:lookTargetBackdropIn .18s var(--ease-out-soft)}.look-target-card{position:relative;width:min(420px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:var(--space-4) var(--space-5);background:linear-gradient(165deg,#303752f7,#262f47f2);border:1px solid rgb(146 136 180 / 30%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);color:var(--text-primary);animation:lookTargetCardIn .22s var(--ease-out-soft);display:grid;gap:var(--space-3);scrollbar-width:thin;scrollbar-color:rgb(90 82 120 / 70%) transparent}.look-target-card:focus-visible,.look-target-backdrop:focus-visible{outline:2px solid var(--color-primary-lavender);outline-offset:2px}@keyframes lookTargetBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes lookTargetCardIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.look-target-backdrop,.look-target-card{animation:none}}.look-target-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:1px solid var(--line-soft);border-radius:999px;background:#282e44b3;color:var(--text-primary);font-size:1rem;line-height:1;cursor:pointer;transition:background .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.look-target-close:hover{background:#3e4668e5}.look-target-close:active{transform:scale(.96)}.look-target-close:focus-visible{outline:2px solid var(--color-primary-lavender);outline-offset:2px}.look-target-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding-right:var(--space-6)}.look-target-name{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text-bright);letter-spacing:.01em}.look-target-meta{font-size:.82rem;color:var(--text-secondary)}.look-target-slot{padding:2px 8px;border-radius:999px;background:#a897d229;border:1px solid rgb(168 151 210 / 32%);color:var(--color-primary-lavender);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.look-target-desc{margin:0;font-size:.9rem;color:var(--text-primary);line-height:1.5;font-style:italic}.look-target-image{display:block;max-width:100%;max-height:180px;margin:0 auto;border-radius:var(--radius-md);background:#181c2c99;border:1px solid var(--line-faint)}.look-target-stats{display:grid;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line-faint)}.look-target-stat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.look-target-stat{display:grid;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:#222940cc;border:1px solid var(--line-faint)}.look-target-stat-label{font-size:.68rem;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase}.look-target-stat-value{font-family:var(--font-mono);font-size:1rem;font-weight:700;color:var(--text-bright)}.look-target-stat-damage{border-color:#d4888a66}.look-target-stat-damage .look-target-stat-value{color:var(--color-damage)}.look-target-stat-armor{border-color:#7fb6cf5c}.look-target-stat-armor .look-target-stat-value{color:var(--color-primary-pale-blue)}.look-target-stat-value,.look-target-modifier-value{font-variant-numeric:tabular-nums}.look-target-modifier-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.look-target-modifier{display:inline-flex;gap:6px;align-items:baseline;padding:4px 10px;border-radius:999px;background:#222940b3;border:1px solid var(--line-faint);font-size:.78rem}.look-target-modifier-label{color:var(--text-secondary);letter-spacing:.02em}.look-target-modifier-value{font-family:var(--font-mono);font-weight:700}.look-target-modifier.is-positive{border-color:#8abf8a5c}.look-target-modifier.is-positive .look-target-modifier-value{color:var(--color-heal)}.look-target-modifier.is-negative{border-color:#e8a0a05c}.look-target-modifier.is-negative .look-target-modifier-value{color:var(--color-error)}.look-target-enchantments{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.look-target-enchantment{padding:4px 10px;border-radius:999px;background:#ce93d824;border:1px solid rgb(206 147 216 / 36%);color:var(--color-accent-violet);font-size:.76rem;font-weight:600;letter-spacing:.02em}@media(max-width:599px){.look-target-card{padding:var(--space-3) var(--space-4)}.look-target-name{font-size:1.2rem}.look-target-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.look-target-card{width:min(500px,100%)}}.consider-backdrop{position:fixed;inset:0;z-index:var(--z-inspect);display:grid;place-items:center;padding:var(--space-4);background:#0e101ca6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:lookTargetBackdropIn .18s var(--ease-out-soft)}.consider-card{position:relative;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:var(--space-4) var(--space-5);background:linear-gradient(165deg,#303752f7,#262f47f2);border:1px solid rgb(146 136 180 / 30%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);color:var(--text-primary);animation:lookTargetCardIn .22s var(--ease-out-soft);display:grid;gap:var(--space-3);--consider-accent: var(--color-accent-lavender, #b9a5e0)}@media(prefers-reduced-motion:reduce){.consider-backdrop,.consider-card{animation:none}}.consider-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:1px solid var(--line-soft);border-radius:999px;background:#282e44b3;color:var(--text-primary);font-size:1rem;line-height:1;cursor:pointer;transition:background .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.consider-close:hover{background:#3e4668e5}.consider-close:active{transform:scale(.96)}.consider-close:focus-visible{outline:2px solid var(--color-primary-lavender);outline-offset:2px}.consider-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding-right:var(--space-6)}.consider-name{font-size:1.25rem;font-weight:700;letter-spacing:.01em}.consider-meta{color:var(--text-secondary);font-size:.85rem;text-transform:capitalize}.consider-tier-badge{padding:2px 10px;border-radius:999px;background:var(--consider-accent);color:#15182a;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 12px var(--consider-accent)}.consider-flavor{margin:0;font-style:italic;color:var(--text-secondary);line-height:1.45}.consider-winrate{display:grid;gap:6px}.consider-winrate-label{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.consider-winrate-pct{color:var(--consider-accent);font-weight:700}.consider-winrate-bar{height:10px;background:#141726cc;border:1px solid var(--line-soft);border-radius:999px;overflow:hidden}.consider-winrate-fill{height:100%;background:linear-gradient(90deg,var(--consider-accent),color-mix(in srgb,var(--consider-accent) 60%,white));box-shadow:0 0 10px var(--consider-accent);transition:width .3s var(--ease-out-soft)}.consider-stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-3)}.consider-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:#1417267f;border:1px solid var(--line-soft);border-radius:var(--radius-sm, 6px)}.consider-stat dt{font-size:.7rem;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.consider-stat dd{margin:0;font-size:1rem;font-weight:700}.consider-tier-trivial{--consider-accent: #8fd9b6}.consider-tier-easy{--consider-accent: #b8e07a}.consider-tier-favored{--consider-accent: #e6d27a}.consider-tier-even{--consider-accent: #d9c89a}.consider-tier-risky{--consider-accent: #e8a467}.consider-tier-dangerous{--consider-accent: #d97b6e}.consider-tier-suicidal{--consider-accent: #b94a52}@media(max-width:599px){.consider-card{padding:var(--space-3) var(--space-4)}.consider-name{font-size:1.1rem}}.possession-vignette{position:fixed;inset:0;z-index:90;pointer-events:none;box-shadow:inset 0 0 120px 60px #64468c59;animation:possessionVignetteIn .6s ease-out,possessionVignettePulse 4s ease-in-out .6s infinite}@keyframes possessionVignetteIn{0%{opacity:0}to{opacity:1}}@keyframes possessionVignettePulse{0%,to{box-shadow:inset 0 0 120px 60px #64468c59}50%{box-shadow:inset 0 0 140px 70px #7850a066}}.possession-badge{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:91;padding:6px 16px;border:1px solid rgb(150 120 200 / 40%);border-radius:var(--radius-md);background:#1e192de5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);font-size:.78rem;font-family:var(--font-body);white-space:nowrap;animation:possessionBadgeIn .4s ease-out}.possession-badge-icon{margin-right:var(--space-1)}@keyframes possessionBadgeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.possession-vignette{animation:none;box-shadow:inset 0 0 120px 60px #64468c59}.possession-badge{animation:none}}.broadcast-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:broadcastFadeIn .3s ease-out}@keyframes broadcastFadeIn{0%{opacity:0}to{opacity:1}}.broadcast-card{max-width:440px;width:90%;padding:var(--space-6);background:linear-gradient(145deg,#281e37f5,#1e162af0);border:1px solid rgb(180 140 220 / 35%);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000007f,0 0 60px #8c64c81f;animation:broadcastCardSlide .3s ease-out}@keyframes broadcastCardSlide{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.broadcast-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.broadcast-icon{font-size:1.4rem}.broadcast-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-primary-soft-gold);letter-spacing:.02em}.broadcast-message{margin:0 0 var(--space-4);font-size:.95rem;line-height:1.6;color:var(--text-bright);white-space:pre-wrap}.broadcast-footer{display:flex;align-items:center;justify-content:space-between}.broadcast-sender{font-size:.78rem;color:var(--text-secondary);font-style:italic}.broadcast-dismiss{padding:var(--space-2) var(--space-5);border:1px solid rgb(180 140 220 / 40%);border-radius:var(--radius-sm);background:linear-gradient(140deg,#785aaa4d,#64469640);color:var(--text-bright);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.broadcast-dismiss:hover{background:linear-gradient(140deg,#8c6ebe66,#785aaa59);border-color:#b48cdc99}.broadcast-dismiss:focus-visible{outline:none;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.level-up-banner-overlay{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;pointer-events:none}.level-up-banner-overlay.level-up-banner-entering{animation:levelUpOverlayFadeIn .32s var(--ease-out-soft)}.level-up-banner-overlay.level-up-banner-closing{animation:levelUpOverlayFadeOut .6s var(--ease-out-soft) forwards}@keyframes levelUpOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes levelUpOverlayFadeOut{0%{opacity:1}to{opacity:0}}.level-up-banner-aura{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.level-up-banner-ring{position:absolute;width:clamp(280px,60vw,720px);height:clamp(280px,60vw,720px);border-radius:50%;pointer-events:none}.level-up-banner-ring-1{background:radial-gradient(circle,rgb(190 168 115 / 28%) 0%,rgb(168 151 210 / 18%) 45%,transparent 70%);animation:levelUpAuraPulseA 2.4s var(--ease-out-soft) infinite}.level-up-banner-ring-2{background:radial-gradient(circle,rgb(168 151 210 / 22%) 0%,rgb(140 174 201 / 14%) 45%,transparent 70%);animation:levelUpAuraPulseB 3.2s var(--ease-out-soft) infinite}.level-up-banner-ring-3{border:1px solid rgb(190 168 115 / 38%);background:transparent;animation:levelUpAuraExpand 2.8s var(--ease-out-soft) infinite}@keyframes levelUpAuraPulseA{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.1);opacity:1}}@keyframes levelUpAuraPulseB{0%,to{transform:scale(1.05);opacity:.5}50%{transform:scale(.9);opacity:.85}}@keyframes levelUpAuraExpand{0%{transform:scale(.6);opacity:.7}to{transform:scale(1.35);opacity:0}}.level-up-banner-card{position:relative;max-width:min(480px,92vw);padding:var(--space-6) var(--space-6) var(--space-5);background:linear-gradient(152deg,#302444f5,#221b34f5 55%,#1c162cf5);border:1px solid rgb(190 168 115 / 48%);border-radius:var(--radius-lg);box-shadow:0 12px 48px #0000008c,0 0 80px #a897d238,inset 0 1px #d8c5e81f;pointer-events:auto;cursor:pointer;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:levelUpCardEnter .52s var(--ease-out-soft)}.level-up-banner-overlay.level-up-banner-closing .level-up-banner-card{animation:levelUpCardExit .52s var(--ease-out-soft) forwards}@keyframes levelUpCardEnter{0%{opacity:0;transform:translateY(24px) scale(.88)}60%{opacity:1;transform:translateY(-4px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes levelUpCardExit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.94)}}.level-up-banner-milestone .level-up-banner-card{border-color:#d4b85cb3;box-shadow:0 14px 64px #0009,0 0 120px #d4b85c4d,0 0 32px #bea8735c,inset 0 1px #ffe58033}.level-up-banner-milestone .level-up-banner-ring-1{background:radial-gradient(circle,rgb(212 184 92 / 40%) 0%,rgb(190 168 115 / 22%) 45%,transparent 70%)}.level-up-banner-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:var(--radius-lg)}.level-up-banner-spark{position:absolute;font-size:1.1rem;opacity:0;animation:levelUpSpark 2.2s var(--ease-out-soft) infinite}.spark-a{top:10%;left:14%;animation-delay:0ms}.spark-b{top:22%;right:10%;animation-delay:.45s}.spark-c{bottom:18%;left:20%;animation-delay:.9s}.spark-d{bottom:12%;right:18%;animation-delay:1.3s}@keyframes levelUpSpark{0%,to{opacity:0;transform:translateY(4px) scale(.7)}35%{opacity:1;transform:translateY(-2px) scale(1.1)}65%{opacity:.85;transform:translateY(-4px) scale(1)}}.level-up-banner-eyebrow{margin:0 0 var(--space-2);font-family:var(--font-display, "Cormorant Garamond", serif);font-size:.95rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--color-primary-soft-gold);text-shadow:0 0 20px rgb(190 168 115 / 60%)}.level-up-banner-level{margin:0 0 var(--space-2);font-family:var(--font-display, "Cormorant Garamond", serif);font-size:clamp(1.6rem,3.2vw,2.1rem);font-weight:500;color:var(--color-neutral-cloud);letter-spacing:.04em}.level-up-banner-number{display:inline-block;font-size:clamp(3.2rem,7vw,4.8rem);font-weight:700;line-height:1;padding:0 var(--space-2);background:linear-gradient(180deg,var(--color-primary-soft-gold) 0%,var(--color-gold-bright, #d4b85c) 50%,var(--color-primary-soft-gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgb(212 184 92 / 40%);animation:levelUpNumberPulse 1.6s var(--ease-out-soft) infinite}@keyframes levelUpNumberPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 12px rgb(212 184 92 / 40%))}50%{transform:scale(1.05);filter:drop-shadow(0 0 24px rgb(212 184 92 / 60%))}}.level-up-banner-transition{margin:0 0 var(--space-5);font-size:.9rem;color:var(--color-neutral-soft-fog);letter-spacing:.04em}.level-up-banner-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);list-style:none;margin:0 0 var(--space-4);padding:0}.level-up-banner-reward{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-4);min-width:92px;background:#1c162c99;border:1px solid rgb(168 151 210 / 28%);border-radius:var(--radius-md)}.level-up-banner-reward-amount{font-size:1.35rem;font-weight:700;color:var(--color-neutral-cloud)}.level-up-banner-reward-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-soft-fog)}.level-up-banner-reward-hp{border-color:#9ebf756b}.level-up-banner-reward-hp .level-up-banner-reward-amount{color:var(--color-hp-light)}.level-up-banner-reward-mana{border-color:#7fb6cf6b}.level-up-banner-reward-mana .level-up-banner-reward-amount{color:var(--color-mana-light)}.level-up-banner-reward-skill{border-color:#bea87385}.level-up-banner-reward-skill .level-up-banner-reward-amount{color:var(--color-primary-soft-gold)}.level-up-banner-abilities{margin:0 0 var(--space-4);padding:var(--space-3);background:#1c162c7f;border:1px solid rgb(168 151 210 / 26%);border-radius:var(--radius-md)}.level-up-banner-abilities-title{margin:0 0 var(--space-2);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-lavender)}.level-up-banner-abilities-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);list-style:none;margin:0;padding:0}.level-up-banner-ability{padding:4px var(--space-3);border:1px solid rgb(168 151 210 / 46%);border-radius:999px;background:linear-gradient(140deg,#785aaa47,#64469638);font-size:.82rem;color:var(--color-neutral-cloud)}.level-up-banner-dismiss{padding:var(--space-2) var(--space-5);border:1px solid rgb(190 168 115 / 52%);border-radius:var(--radius-sm);background:linear-gradient(140deg,#bea87338,#a897d22e);color:var(--color-neutral-cloud);font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .16s var(--ease-out-soft),border-color .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.level-up-banner-dismiss:hover{background:linear-gradient(140deg,#bea87357,#a897d247);border-color:#d4b85cb8;transform:translateY(-1px)}.level-up-banner-dismiss:focus-visible{outline:none;box-shadow:0 0 0 2px #bea873a3,0 0 0 4px #a897d25c}@media(prefers-reduced-motion:reduce){.level-up-banner-overlay.level-up-banner-entering,.level-up-banner-overlay.level-up-banner-closing{animation:levelUpOverlayFadeIn .2s linear}.level-up-banner-overlay.level-up-banner-closing{animation:levelUpOverlayFadeOut .2s linear forwards}.level-up-banner-card,.level-up-banner-overlay.level-up-banner-closing .level-up-banner-card,.level-up-banner-ring-1,.level-up-banner-ring-2,.level-up-banner-ring-3,.level-up-banner-number,.level-up-banner-spark{animation:none}.level-up-banner-ring-3{opacity:.25}.level-up-banner-spark{opacity:.7}}.game-toast{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:100;padding:8px 20px;font-size:.82rem;font-weight:600;color:var(--color-toast-text);background:#2a1a30eb;border:1px solid rgb(212 106 138 / 50%);border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;pointer-events:none;animation:toastLifecycle 4s var(--ease-out-soft) forwards}@keyframes toastLifecycle{0%{opacity:0;transform:translate(-50%) translateY(-8px)}5%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-4px)}}@media(max-width:959px){.map-icon-trigger{width:44px;height:44px}.compass-rose{width:min(100%,160px)}.top-banner{flex-direction:row;align-items:center;flex-wrap:wrap;padding:6px 10px;gap:var(--space-2);margin-bottom:0}.top-banner:before{background-image:url(/assets/banner-magic-mobile-BVCsOOJy.webp);background-position:center 46%;opacity:.7}.top-banner:after{background:linear-gradient(180deg,#bfb0dc6b,#aec2d957),linear-gradient(180deg,#18162333,#1816231a)}.top-banner-title{font-size:clamp(1.3rem,4.5vw,1.8rem)}.connection-cluster{gap:var(--space-2);margin-left:auto}.terminal-host{min-height:clamp(220px,36vh,420px);max-height:46vh}.app-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:8px 8px 0}.panel-play,.panel-play .terminal-card{flex:1;min-height:0}.panel-play.text-mode .canvas-strip{height:100px}.panel-play.text-mode .terminal-card-text-mode{flex:1;min-height:0}.action-bar{padding-bottom:max(0px,env(safe-area-inset-bottom))}.action-bar-hud,.action-bar-controls{padding:4px 10px}.action-bar-vitals{min-width:80px}.action-bar-vital-text{font-size:.58rem;font-weight:700;white-space:nowrap}.action-bar-skills{overflow-x:auto;overflow-y:hidden;flex-shrink:1;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.action-bar-skills::-webkit-scrollbar{display:none}.action-bar-skill{width:32px;height:32px;flex-shrink:0}.action-bar-command{min-width:100px}}@media(max-width:480px){.top-banner-title{display:none}.top-banner{padding:4px 8px}.action-bar-btn{width:40px;height:40px}.action-bar-btn-icon{width:20px;height:20px}.popout-dialog{max-height:calc(100dvh - 20px)}.popout-dialog-panel{width:100%;max-height:calc(100dvh - 20px)}}@media(min-width:960px){.app-shell{height:100dvh;display:flex;flex-direction:column;gap:var(--space-3);overflow:hidden;padding-bottom:var(--space-3)}.top-banner{margin-bottom:0;align-items:center;padding:var(--space-3) var(--space-5)}.dashboard{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.panel{display:flex;min-height:0;overflow:hidden}.panel-play{flex:1;min-height:0;display:flex;flex-direction:column}.panel-play .terminal-card{flex:1;min-height:0;padding:var(--space-2)}.panel-play .terminal-host{height:100%;min-height:0;max-height:none}.panel-play.text-mode .terminal-card-text-mode{flex:1;min-height:0;padding:var(--space-2)}.panel-play.text-mode .canvas-strip{height:160px;flex-shrink:0}.world-stack,.character-stack{min-height:0;align-content:stretch;height:100%}.world-stack{grid-template-rows:minmax(0,1.1fr) minmax(0,.9fr)}.character-stack{grid-template-rows:auto minmax(0,1fr)}.world-stack>.subpanel,.character-stack>.subpanel{overflow:hidden}.split-list>div{min-height:0;display:flex;flex-direction:column}.panel-world .mini-map{height:clamp(110px,17vh,160px)}.panel-world .split-list{grid-template-columns:minmax(0,1fr)}.connection-pill{font-size:.8rem;padding:5px 12px}.soft-button{padding:7px 14px;font-size:.84rem}}@media(min-width:960px)and (max-width:1120px){.app-shell{padding-left:var(--space-3);padding-right:var(--space-3)}.panel{padding:10px}.subpanel{padding:9px}}.popout-backdrop{position:fixed;inset:0;z-index:80;background:#35324a8a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-4);animation:backdropFadeIn .2s var(--ease-out-soft)}.popout-dialog{width:min(980px,100%);max-height:calc(100dvh - 40px);border-radius:var(--radius-xl);border:1px solid rgb(106 96 136 / 22%);background:linear-gradient(165deg,#303752f7,#262f47f2),linear-gradient(0deg,#18162333,#18162333);color:var(--text-primary);box-shadow:var(--shadow-lg),var(--shadow-glow);display:flex;flex-direction:column;overflow:hidden;animation:dialogSlideIn .28s var(--ease-out-soft)}.popout-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid rgb(107 107 123 / 22%)}.popout-header h2{margin:0;font-family:var(--font-display);font-size:1.5rem}.popout-close{flex-shrink:0}.popout-content{padding:var(--space-4);overflow:auto;scrollbar-width:thin;scrollbar-color:rgb(90 82 120 / 70%) transparent}.popout-content::-webkit-scrollbar{width:10px}.popout-content::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#5a5278b3,#465a6ea6)}.room-popout-copy{margin:0;display:grid;gap:var(--space-3)}.room-popout-title{margin:0;font-family:var(--font-display);font-size:1.8rem;color:var(--text-primary)}.room-popout-image{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-md)}.room-popout-text{margin:0;color:var(--text-primary);line-height:1.7;white-space:pre-wrap}.room-popout-peek{margin:0;color:var(--text-secondary);line-height:1.6;font-style:italic}.room-popout-exits{margin:0;color:var(--text-secondary);font-weight:700;font-size:.9rem;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.room-popout-exits-label{margin-right:var(--space-1)}.room-popout-exits-buttons{display:flex;flex-wrap:wrap;gap:var(--space-1)}.room-exit-btn{padding:4px 10px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease-out-soft),color .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.room-exit-btn:hover{background:var(--bg-surface-hover);color:var(--text-bright);border-color:var(--line-subtle)}.room-exit-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.room-popout-depart{margin-top:var(--space-3);display:flex;justify-content:center}.room-depart-btn{padding:10px 20px;border:1px solid color-mix(in srgb,var(--color-accent-lavender, #a897d2) 60%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent-lavender, #a897d2) 22%,var(--bg-surface));color:var(--text-bright);font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 0 18px color-mix(in srgb,var(--color-accent-lavender, #a897d2) 35%,transparent);transition:background .2s var(--ease-out-soft),border-color .2s var(--ease-out-soft),box-shadow .2s var(--ease-out-soft),transform .2s var(--ease-out-soft)}.room-depart-btn:hover{background:color-mix(in srgb,var(--color-accent-lavender, #a897d2) 38%,var(--bg-surface));border-color:var(--color-accent-lavender, #a897d2);box-shadow:0 0 26px color-mix(in srgb,var(--color-accent-lavender, #a897d2) 55%,transparent);transform:translateY(-1px)}.room-depart-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-lavender, #a897d2) 75%,transparent),0 0 24px color-mix(in srgb,var(--color-accent-lavender, #a897d2) 55%,transparent)}.room-resources-section{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line-faint);display:flex;flex-direction:column;gap:var(--space-2)}.room-resource-line{margin:0;font-size:.82rem;color:var(--text-primary)}.room-resource-icon{margin-right:var(--space-1)}.room-resource-nodes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:.82rem;color:var(--text-primary)}.room-resource-btn{display:inline-flex;align-items:center;padding:4px 10px;min-height:44px;border:1px solid rgb(141 169 123 / 40%);border-radius:var(--radius-sm);background:#8da97b1f;color:var(--color-primary-moss-green);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.room-resource-btn:hover{background:#8da97b38;border-color:#8da97b99}.room-features-section{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line-faint)}.room-features-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.room-features-title{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-2)}.room-features-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.room-feature-item{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bg-surface);transition:background .15s var(--ease-out-soft)}.room-feature-item:hover{background:var(--bg-surface-hover)}.room-feature-name{font-weight:600;color:var(--text-primary);font-size:.82rem}.room-feature-state{font-size:.75rem;color:var(--text-secondary);opacity:.7}.room-feature-actions{margin-left:auto;display:flex;gap:var(--space-1)}.room-feature-btn{padding:6px 12px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.75rem;cursor:pointer;transition:background .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.room-feature-btn:hover{background:var(--bg-surface-hover);color:var(--text-bright)}.room-feature-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.room-feature-panel-link{margin-bottom:var(--space-2)}.container-contents-section{margin-top:var(--space-2)}.container-contents-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.container-contents-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);font-size:.82rem;color:var(--text-primary)}.room-sign-text{margin:var(--space-1) 0 0;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bg-inset);font-size:.82rem;font-style:italic;line-height:1.5;color:var(--text-primary);white-space:pre-wrap}@media(prefers-reduced-motion:reduce){.room-feature-item,.room-feature-btn,.room-exit-btn{transition:none}}.mini-map-popout{height:min(72vh,720px)}.drawer-map-body{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.drawer-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.drawer-map-tabs{display:flex;gap:var(--space-1);padding:0 var(--space-1)}.drawer-map-cinematic-btn{appearance:none;border:1px solid rgb(60 40 20 / 55%);background:linear-gradient(180deg,#46301ad9,#322212d9);color:#f0dca8;padding:6px 16px;margin-right:var(--space-1);border-radius:999px;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 1px #d8ba7a29;transition:background-color .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.drawer-map-cinematic-btn:hover{border-color:#8a6a2ecc;color:#fbf0d4}.drawer-map-tab{appearance:none;border:1px solid rgb(60 40 20 / 55%);background:linear-gradient(180deg,#46301acc,#322212cc);color:#e6d2a4;padding:6px 16px;border-radius:999px;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 1px #d8ba7a29;transition:background-color .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.drawer-map-tab:hover{border-color:#8a6a2ecc;color:#fbf0d4}.drawer-map-tab-active{background:linear-gradient(180deg,#e7d6b0,#d2bb8c);border-color:#8a6a2e;color:#382a18;box-shadow:0 1px 6px #281a0c4d}.drawer-map-canvas-wrap{position:relative}.drawer-map-canvas-wrap[hidden]{display:none}.mini-map-popout{cursor:grab;touch-action:none;background:transparent;border:0;border-radius:0}.mini-map-popout:active{cursor:grabbing}.map-zoom-controls{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px;z-index:2}.map-zoom-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;line-height:1;color:#f3e6c8;border:1px solid rgb(190 168 115 / 55%);border-radius:var(--radius-sm);background:linear-gradient(160deg,#46301ae0,#281a0ceb);cursor:pointer;transition:border-color .15s var(--ease-out-soft),background .15s var(--ease-out-soft)}.map-zoom-btn:hover{border-color:#d4c696e5;background:linear-gradient(160deg,#604224f0,#382612f5)}.map-preview-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:2px 44px 0;padding:4px 12px;background:#f0e2c4f0;border:1px solid rgb(90 60 30 / 50%);border-radius:8px;font-size:.78rem;color:#4a3014;box-shadow:0 2px 8px #140e084d}.map-preview-label strong{font-family:var(--font-display);color:#2e2212}.map-preview-fly-hint{opacity:.78;font-style:italic}.map-preview-return{appearance:none;border:1px solid rgb(90 60 30 / 55%);background:#fffaeccc;color:#4a3014;padding:2px 10px;border-radius:999px;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.map-preview-return:hover,.map-preview-return:focus-visible{background:#fffaec;border-color:#8a6a2e}.map-stats-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:4px 48px 6px;font-family:var(--font-mono, "JetBrains Mono", "Cascadia Mono", monospace);font-size:.72rem;color:#4a3a28;text-shadow:0 1px 2px rgb(243 230 200 / 55%);border-bottom:1px solid rgb(74 58 40 / 30%)}.map-stats-explored{font-weight:700;letter-spacing:.02em}.map-stats-pct{font-weight:400;opacity:.75}.map-legend{display:inline-flex;align-items:center;gap:var(--space-3);opacity:.9}.map-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.map-legend-swatch{width:10px;height:10px;display:inline-block;border:1px solid #4a3a28;border-radius:2px}.map-legend-here{background:#9c3b22}.map-legend-explored{background:#cdb487}.map-legend-fog{background:transparent;border-color:#8a7a5eb3;border-style:dashed}.map-legend-quest{background:transparent;border-color:#c69a2e;box-shadow:0 0 4px #c69a2e99}.map-legend-border{background:#5e7aa88c;border-color:#5e7aa8f2;transform:rotate(45deg);border-radius:1px}.map-hover-tooltip{position:absolute;transform:translate(-50%,-115%);display:flex;flex-direction:column;gap:2px;max-width:260px;padding:6px 10px;pointer-events:none;z-index:3;font-family:var(--font-mono, "JetBrains Mono", "Cascadia Mono", monospace);font-size:.72rem;color:#f3e6c8;background:linear-gradient(160deg,#382a18f5,#22180cf7);border:1px solid rgb(190 168 115 / 60%);border-radius:var(--radius-sm);box-shadow:0 4px 14px #140c0473}.map-tooltip-title{font-weight:700}.map-tooltip-unknown{font-style:italic;opacity:.8}.map-tooltip-terrain{text-transform:capitalize;opacity:.75}.map-tooltip-poi{opacity:.9}.map-tooltip-ride{font-weight:600;color:var(--color-gold-bright)}.atlas-body{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;width:100%;max-width:980px;margin-inline:auto}.atlas-empty{padding:var(--space-4);text-align:center;color:#5a4226}.atlas-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:#3c28141a;border:1px solid rgb(90 60 30 / 40%);border-radius:10px}.atlas-field{display:flex;flex-direction:column;gap:4px;min-width:160px;flex:1 1 200px}.atlas-field-narrow{min-width:92px;flex:0 0 92px}.atlas-field-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#6a4a24;font-weight:600}.atlas-input{background:#fffaecb8;border:1px solid rgb(90 60 30 / 45%);border-radius:8px;padding:6px 10px;color:#2e2212;color-scheme:light;font:inherit;font-size:.85rem}.atlas-input::placeholder{color:#6a4a248c}.atlas-input:focus-visible{outline:2px solid #8a6a2e;outline-offset:1px}.atlas-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:#4a3014;cursor:pointer}.atlas-checkbox input{accent-color:#8a6a2e}.atlas-count{margin-left:auto;font-size:.74rem;color:#6a4a24;letter-spacing:.04em}.atlas-table-wrapper{overflow:auto;max-height:min(62vh,540px);border:1px solid rgb(90 60 30 / 45%);border-radius:10px;background:#fffaec59}.atlas-table{width:100%;border-collapse:collapse;font-size:.86rem}.atlas-table thead th{position:sticky;top:0;background:#e2d3acf7;text-align:left;padding:8px 12px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#4a3014;border-bottom:1px solid rgb(90 60 30 / 45%)}.atlas-sort{appearance:none;background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}.atlas-sort:hover{color:#2a1c08}.atlas-col-level{width:110px;text-align:right!important}.atlas-table tbody tr{border-bottom:1px solid rgb(90 60 30 / 18%);transition:background-color .12s var(--ease-out-soft)}.atlas-table tbody tr:hover{background:#6a4a241a}.atlas-row-current{background:#8a6a2e33}.atlas-cell-zone{padding:8px 12px;text-align:left;font-weight:500}.atlas-zone-name{display:block;color:#2e2212}.atlas-zone-id{display:block;font-size:.7rem;color:#7a5e38;letter-spacing:.02em;font-family:var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, monospace)}.atlas-here-pill{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#8a6a2e,#b88a3e);color:#fbf0d4}.atlas-cell-level{padding:8px 12px;text-align:right;font-variant-numeric:tabular-nums;color:#3a2c1a}.atlas-no-results{padding:var(--space-4);text-align:center;color:#5a4226}.world-map-body{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:var(--space-3);flex:1 1 auto;min-height:0;overflow:hidden}.world-map-stage{position:relative;flex:1 1 auto;min-width:0;height:calc(100vh - 230px);max-width:900px;border:1px solid rgb(90 60 30 / 45%);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 24px #3c28142e}.world-map-viewport{width:100%;height:100%;display:flex;overflow:hidden;touch-action:none}.world-map-viewport:active{cursor:grabbing}.world-map-canvas{position:relative;flex:0 0 auto;margin:auto}.world-map-art{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.world-map-canvas-fallback{background:radial-gradient(ellipse at 30% 25%,rgb(255 250 236 / 55%),transparent 60%),radial-gradient(ellipse at 75% 70%,rgb(214 186 140 / 45%),transparent 55%),linear-gradient(160deg,#e6d8b8,#d8c49a)}.world-map-zoom-controls{position:absolute}.world-map-side{display:flex;flex-direction:column;gap:var(--space-2);flex:0 1 300px;min-width:220px;max-height:calc(100vh - 230px);overflow-y:auto}.world-map-regions{position:absolute;inset:0}.world-map-zone{position:absolute;display:flex;align-items:center;justify-content:center;padding:0;border:1.5px solid hsl(var(--wm-hue) 45% 32% / 75%);border-radius:8px;background:hsl(var(--wm-hue) 55% 55% / 14%);box-shadow:inset 0 0 14px hsl(var(--wm-hue) 55% 45% / 12%);cursor:pointer;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease;container-type:size}.world-map-zone:hover,.world-map-zone:focus-visible{background:hsl(var(--wm-hue) 60% 55% / 24%);border-color:hsl(var(--wm-hue) 50% 28% / 95%);box-shadow:inset 0 0 18px hsl(var(--wm-hue) 60% 45% / 18%),0 0 12px hsl(var(--wm-hue) 60% 50% / 35%)}.world-map-zone:focus-visible{outline:2px solid #8a6a2e;outline-offset:1px}.world-map-zone-selected{background:hsl(var(--wm-hue) 60% 55% / 28%);border-color:hsl(var(--wm-hue) 50% 26%);box-shadow:inset 0 0 18px hsl(var(--wm-hue) 60% 45% / 22%),0 0 14px hsl(var(--wm-hue) 60% 50% / 45%)}.world-map-zone-tag{padding:1px 5px;border-radius:6px;background:#fffaeccc;border:1px solid rgb(90 60 30 / 30%);font-size:.58rem;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;color:#4a3014;pointer-events:none}@container (width < 44px) or (height < 22px){.world-map-zone-tag{display:none}}.world-map-tip{position:absolute;display:flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:8px;background:#fcf4def5;border:1px solid rgb(90 60 30 / 55%);box-shadow:0 2px 8px #140e0866;transform:translate(-50%,calc(-100% - 6px));white-space:nowrap;pointer-events:none;z-index:3}.world-map-tip-below{transform:translate(-50%,6px)}.world-map-tip-name{font-family:var(--font-display);font-size:.78rem;color:#2e2212}.world-map-tip-level{font-size:.66rem;font-variant-numeric:tabular-nums;color:#6a4a24}.world-map-here-dot{position:absolute;left:50%;top:12%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:#c9963c;border:1.5px solid #fff8e8;box-shadow:0 0 #c9963c99;animation:world-map-here-pulse 2.2s ease-out infinite}@keyframes world-map-here-pulse{0%{box-shadow:0 0 #c9963c8c}70%{box-shadow:0 0 0 9px #c9963c00}to{box-shadow:0 0 #c9963c00}}@media(prefers-reduced-motion:reduce){.world-map-here-dot{animation:none}}.world-map-legend-dot{position:static;display:inline-block;transform:none;vertical-align:-1px;margin-right:2px}.world-map-unplotted{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:var(--space-4);text-align:center;color:#5a4226;font-style:italic}.world-map-detail{padding:var(--space-2) var(--space-3);background:#f0e2c4f0;border:1px solid rgb(90 60 30 / 50%);border-radius:10px;box-shadow:0 2px 8px #140e0859}.world-map-detail-title{display:flex;align-items:center;gap:var(--space-2)}.world-map-detail-name{font-family:var(--font-display);font-size:1rem;color:#2e2212}.world-map-detail-meta{display:flex;align-items:baseline;gap:var(--space-3);margin-top:2px;font-size:.82rem;color:#4a3014}.world-map-detail-id{font-size:.72rem;color:#6a4a24;opacity:.8}.world-map-detail-hint{margin:4px 0 0;font-size:.74rem;font-style:italic;color:#6a4a24}.world-map-uncharted{display:flex;flex-direction:column;gap:6px;padding:var(--space-2) var(--space-3);background:#f0e2c4f0;border:1px solid rgb(90 60 30 / 50%);border-radius:10px;box-shadow:0 2px 8px #140e0859}.world-map-uncharted-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#6a4a24;font-weight:600}.world-map-uncharted-chips{display:flex;flex-wrap:wrap;gap:6px}.world-map-chip{appearance:none;display:inline-flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:999px;background:#fffaec99;border:1px solid rgb(90 60 30 / 40%);font:inherit;font-size:.76rem;color:#3a2c1a;cursor:pointer;transition:background .15s ease,border-color .15s ease}.world-map-chip:hover,.world-map-chip:focus-visible{background:#fffaece5;border-color:#8a6a2e}.world-map-chip-here{border-color:#8a6a2e;box-shadow:0 0 6px #8a6a2e66}.world-map-view-charts{appearance:none;margin-top:8px;padding:4px 12px;border-radius:999px;border:1px solid rgb(90 60 30 / 55%);background:#fffaeccc;color:#4a3014;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.world-map-view-charts:hover,.world-map-view-charts:focus-visible{background:#fffaec;border-color:#8a6a2e}.world-map-chip-level{font-size:.68rem;font-variant-numeric:tabular-nums;color:#6a4a24}.world-map-detail-empty .world-map-detail-hint{margin-top:0}.world-map-legend-line{margin-top:6px}@media(max-width:900px){.world-map-body{flex-direction:column;align-items:center;overflow-y:auto}.world-map-stage{flex:0 0 auto;width:100%;height:56vh}.world-map-side{flex:0 0 auto;width:100%;max-height:none;overflow-y:visible}}.spellbook{display:flex;flex-direction:column;gap:var(--space-3)}.spellbook-header{display:flex;align-items:baseline;justify-content:space-between;padding:0 var(--space-2)}.spellbook-class{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);text-transform:capitalize}.spellbook-level{font-size:.78rem;color:var(--text-tertiary)}.spellbook-hint{margin:0;padding:0 var(--space-2);font-size:.72rem;color:var(--text-disabled);font-style:italic}.spellbook-tabs{display:flex;gap:2px;padding:0 var(--space-2);margin-bottom:var(--space-2)}.spellbook-tab{flex:1;padding:4px 8px;font-size:.75rem;font-weight:600;border:1px solid var(--line-faint);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.spellbook-tab:hover{background:#ffffff14}.spellbook-tab-active{background:#a897d238;color:var(--text-primary);border-color:#a897d266}.spellbook-grid{display:flex;flex-direction:column;gap:6px;max-height:min(56vh,500px);overflow-y:auto;padding:0 var(--space-1);scrollbar-width:thin;scrollbar-color:var(--line-faint) transparent}.spellbook-grid::-webkit-scrollbar{width:6px}.spellbook-grid::-webkit-scrollbar-thumb{background:var(--line-faint);border-radius:3px}.spellbook-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:linear-gradient(135deg,#32385299,#282e487f);border:1px solid var(--line-faint);border-radius:var(--radius-md);cursor:pointer;transition:background .12s ease,border-color .12s ease;text-align:left;color:var(--text-primary)}.spellbook-card:hover:not(:disabled){background:linear-gradient(135deg,#3c4464b3,#323a5899);border-color:var(--line-soft)}.spellbook-card:active:not(:disabled){background:linear-gradient(135deg,#465074b3,#3a426099)}.spellbook-card-cooldown{opacity:.55;cursor:default}.spellbook-card-icon{position:relative;flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line-faint)}.spellbook-card-image{width:100%;height:100%;object-fit:cover;display:block}.spellbook-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#4a567999,#3a44647f)}.spellbook-card-cd-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0c18a6;color:var(--text-primary);font-size:.72rem;font-weight:700}.spellbook-card-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.spellbook-card-name{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spellbook-card-desc{font-size:.74rem;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spellbook-card-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.spellbook-stat{font-size:.68rem;font-weight:600;padding:1px 5px;border-radius:3px;background:#ffffff0f}.spellbook-stat-mana{color:#78a0f0}.spellbook-stat-cd{color:#c8b48c}.spellbook-stat-target{color:#a0c8a0}.spellbook-stat-level{color:var(--text-tertiary)}.spellbook-stat-class{color:#d2b4f0;background:#a897d229}.spellbook-stat-pet{color:#e8c078;background:#d4a8582e;border:1px solid rgb(212 168 88 / 35%);font-weight:600;letter-spacing:.02em}.spellbook-card-pet{border-color:#d4a85873;box-shadow:inset 0 0 0 1px #d4a85833}.spellbook-card-pet:hover{border-color:#d4a858b3;box-shadow:0 2px 10px #d4a8584d}.spellbook-stat-racial{color:#e896c8;background:#d26eaa2e;border:1px solid rgb(210 110 170 / 35%);font-weight:600;letter-spacing:.02em}.spellbook-stat-passive{color:#c8aae6}.spellbook-card-racial{border-color:#d26eaa73;box-shadow:inset 0 0 0 1px #d26eaa33}.spellbook-card-racial:hover{border-color:#d26eaab3;box-shadow:0 2px 10px #d26eaa4d}.spellbook-search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2)}.spellbook-search-input{flex:1;min-width:0;padding:6px 10px;font-size:.8rem;color:var(--text-primary);background:#ffffff0a;border:1px solid var(--line-faint);border-radius:var(--radius-md);transition:background .12s ease,border-color .12s ease}.spellbook-search-input::placeholder{color:var(--text-disabled)}.spellbook-search-input:focus{outline:none;background:#ffffff12;border-color:#a897d27f}.spellbook-result-count{flex-shrink:0;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.spellbook-class-pills{display:flex;flex-wrap:wrap;gap:4px;padding:0 var(--space-2);margin-bottom:var(--space-1)}.spellbook-class-pill{padding:3px 10px;font-size:.72rem;font-weight:600;border:1px solid var(--line-faint);border-radius:99px;background:#ffffff08;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.spellbook-class-pill:hover{background:#ffffff12}.spellbook-class-pill-active{background:#a897d238;color:var(--text-primary);border-color:#a897d273}.spellbook-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-secondary)}.spellbook-empty-hint{font-size:.8rem;color:var(--text-tertiary);margin-top:var(--space-2)}.spellbook-sp-hint{color:var(--accent-gold)}.spellbook-sp-badge{margin-left:auto;padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:600;background:#ffffff14;color:var(--text-secondary);border:1px solid rgb(255 255 255 / 12%)}.spellbook-sp-badge-available{background:#ffd2642e;color:var(--accent-gold);border-color:#ffd2644d}.spellbook-card-wrapper{position:relative}.spellbook-assign-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:1px solid rgb(168 151 210 / 40%);background:#3c325acc;color:#a897d2;font-size:.65rem;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,transform .12s ease;z-index:2}.spellbook-assign-btn:hover{background:#504178e5;transform:scale(1.1)}.spellbook-assign-btn-active{background:#a897d24d;border-color:#a897d2b3}.spellbook-slot-picker{position:absolute;top:4px;right:28px;display:flex;gap:2px;padding:3px 4px;background:#28233cf2;border:1px solid rgb(168 151 210 / 40%);border-radius:var(--radius-md);z-index:3;box-shadow:0 4px 12px #0006}.spellbook-slot-pick{width:22px;height:22px;border-radius:4px;border:1px solid rgb(255 255 255 / 10%);background:#ffffff0d;color:var(--text-secondary);font-size:.7rem;font-weight:700;cursor:pointer;transition:background .1s ease}.spellbook-slot-pick:hover{background:#a897d24d;color:var(--text-primary)}.trainer-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);height:100%;min-height:0;overflow:hidden}.trainer-sign-wrap{position:relative;display:flex;justify-content:center;margin:2px 0 12px}.trainer-class-sign{position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 30px;border-radius:12px;border:1px solid #2b1c0e;background:repeating-linear-gradient(90deg,#0000 0 7px,#28180a1f 7px 8px),linear-gradient(180deg,#7a5a32,#573e24);color:#f6ecd2;font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 2px rgb(20 10 2 / 70%);box-shadow:0 3px 8px #0806027f,inset 0 1px #d8ba7a4d,inset 0 -2px 4px #140a0273;cursor:pointer;transition:transform .14s var(--ease-out-soft),filter .14s var(--ease-out-soft)}.trainer-class-sign:disabled{cursor:default}.trainer-class-sign:not(:disabled):hover{filter:brightness(1.07);transform:translateY(-1px)}.trainer-class-sign-caret{font-size:.8rem;color:#e6c46a;transition:transform .16s var(--ease-out-soft)}.trainer-class-sign-open .trainer-class-sign-caret{transform:rotate(180deg)}.trainer-class-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:5;width:max-content;min-width:200px;max-width:92%;display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:12px;border:1px solid #2b1c0e;background:linear-gradient(180deg,#6a4c2c,#49331f);box-shadow:0 14px 30px #0806028c;animation:mm-pop .16s var(--ease-out-soft)}.trainer-class-opt{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:8px;background:none;color:#f2e6cc;font-family:var(--font-display);font-size:.95rem;font-weight:600;text-align:left;cursor:pointer;transition:background .12s var(--ease-out-soft)}.trainer-class-opt-name{flex:1 1 auto}.trainer-class-opt:hover{background:#fff6e61f}.trainer-class-opt-active{background:#e6c46a38}.trainer-class-opt-check{color:#e6c46a;font-weight:800}.trainer-class-opt-locked{color:#cbbb9f}.trainer-class-opt-lock{font-size:.78rem}.trainer-class-menu-hint{margin:4px 6px 2px;font-size:.7rem;font-style:italic;color:#f2e6ccb3}.trainer-sp-chalk{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:6px;color:#eef0e68c;font-family:var(--font-display)}.trainer-sp-chalk-value{font-size:1.55rem;font-weight:700;color:#eef0e699;text-shadow:0 0 8px rgb(238 240 230 / 22%)}.trainer-sp-chalk-label{font-size:.86rem;letter-spacing:.02em}.trainer-sp-chalk-has{color:#eef0e6d1}.trainer-sp-chalk-has .trainer-sp-chalk-value{color:#fff7d8;text-shadow:0 0 10px rgb(255 235 150 / 40%)}.trainer-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-secondary);font-size:.88rem}.trainer-ability-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(238 240 230 / 35%) transparent}.trainer-ability-list::-webkit-scrollbar{width:7px}.trainer-ability-list::-webkit-scrollbar-thumb{background:#eef0e647;border-radius:999px}.trainer-ability-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ffffff08;border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:background .12s}.trainer-ability-icon{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-sm);overflow:hidden;background:#ffffff0f;display:flex;align-items:center;justify-content:center}.trainer-ability-img{width:100%;height:100%;object-fit:cover}.trainer-ability-placeholder{width:24px;height:24px;border-radius:4px;background:#ffffff1f}.trainer-ability-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.trainer-ability-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainer-ability-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.trainer-ability-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.trainer-meta-tag{font-size:.72rem;padding:1px 6px;border-radius:99px;background:#ffffff14;color:var(--text-tertiary);white-space:nowrap}.trainer-learn-btn{flex-shrink:0;align-self:center;padding:5px 12px;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;background:var(--accent-lavender);color:#fff;border:none;cursor:pointer;transition:background .12s,opacity .12s}.trainer-learn-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-lavender) 80%,white)}.trainer-learn-btn-disabled{background:#ffffff14;color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.trainer-ability-row-locked{opacity:.55;background:#ffffff05;border-color:#ffffff0f}.trainer-ability-row-locked .trainer-ability-name,.trainer-ability-row-locked .trainer-ability-desc{color:var(--text-tertiary)}.trainer-ability-row-locked .trainer-ability-icon{position:relative;filter:grayscale(80%)}.trainer-ability-lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;text-shadow:0 1px 2px rgb(0 0 0 / 60%);pointer-events:none}.trainer-meta-tag-lock{background:color-mix(in srgb,var(--accent-lavender) 30%,transparent);color:var(--text-secondary)}.trainer-ability-lock-reason{margin-top:4px;font-size:.75rem;font-style:italic;color:var(--text-secondary)}.trainer-locked{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);text-align:center}.trainer-locked-msg{font-size:.95rem;color:var(--text-primary)}.trainer-locked-req{font-size:.82rem;color:var(--text-secondary)}.trainer-unlock-btn{padding:8px 20px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;background:color-mix(in srgb,var(--accent-gold) 70%,transparent);color:#fff;border:1px solid rgb(255 210 100 / 40%);cursor:pointer;transition:background .12s}.trainer-unlock-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-gold) 85%,transparent)}.trainer-unlock-btn-disabled{background:#ffffff14;color:var(--text-tertiary);border-color:#ffffff1f;cursor:not-allowed;opacity:.6}.trainer-empty{color:#eef0e6b3;font-style:italic}.trainer-ability-row{background:#ffffff08;border:none;border-bottom:1px dashed rgb(238 240 230 / 16%);border-radius:0}.trainer-ability-row:hover{background:#ffffff0f}.trainer-ability-icon{background:#080c0a59;border:1px solid rgb(238 240 230 / 16%)}.trainer-ability-name{color:#f1f3ea}.trainer-ability-desc{color:#daded0d1}.trainer-meta-tag{background:transparent;border:1px solid rgb(238 240 230 / 26%);color:#e6eadcd9}.trainer-meta-tag-lock{border-color:#e6c46a7f;color:#ecd9a4;background:transparent}.trainer-ability-lock-reason{color:#daded0b3}.trainer-ability-row-locked{opacity:.5;background:#ffffff05}.trainer-ability-row-locked .trainer-ability-name,.trainer-ability-row-locked .trainer-ability-desc{color:#daded0b3}.trainer-learn-btn,.trainer-unlock-btn{background:linear-gradient(180deg,#6a4e28,#4c3617);color:#f6e8c2;border:1px solid #c8a24a;box-shadow:inset 0 1px #d8ba7a38}.trainer-learn-btn:hover:not(:disabled),.trainer-unlock-btn:hover:not(:disabled){background:linear-gradient(180deg,#7a5a30,#573e1c);filter:brightness(1.05)}.trainer-learn-btn-disabled,.trainer-unlock-btn-disabled{background:#eef0e614;color:#eef0e673;border:1px solid rgb(238 240 230 / 16%);box-shadow:none}.trainer-locked-msg{color:#f1f3ea}.trainer-locked-req{color:#daded0cc}.entity-detail-dialog{width:min(380px,100%);animation:detailFlipIn .22s var(--ease-out-soft)}.entity-detail-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4)}.entity-detail-image{width:200px;height:200px;border-radius:50%;object-fit:cover;box-shadow:0 0 24px #967cb54d,var(--shadow-md)}.entity-detail-placeholder{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#6051747f,#4c63847f);box-shadow:var(--shadow-sm)}.entity-detail-name{margin:0;font-family:var(--font-display);font-size:1.6rem;text-align:center}.entity-detail-hp{width:100%;display:flex;flex-direction:column;gap:var(--space-1)}.entity-detail-hp-label{font-size:.86rem;color:var(--text-tertiary);text-align:center}.entity-detail-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.entity-detail-action-button{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid rgb(106 96 136 / 24%);background:linear-gradient(140deg,#605174e5,#4c6384e0);color:var(--text-primary);font-size:.92rem;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #ffffff7f,var(--shadow-sm);transition:transform .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),background-color .16s var(--ease-out-soft)}.entity-detail-action-button:hover{transform:translateY(-1px) scale(1.03);background:linear-gradient(140deg,#6c5881eb,#556d8ee5);box-shadow:var(--shadow-md),0 0 10px #967cb55c}.entity-detail-action-button:active{transform:scale(.97)}.entity-detail-action-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.entity-detail-action-attack{background:linear-gradient(140deg,#8c4646e0,#743c4cdb)}.entity-detail-action-attack:hover{background:linear-gradient(140deg,#a05050eb,#824454e5);box-shadow:var(--shadow-md),0 0 10px #b45a5a5c}.entity-detail-action-icon{width:16px;height:16px}.popout-dialog-panel{width:min(90vw,560px);max-height:min(80dvh,640px)}.popout-dialog-panel-inventory{width:min(92vw,860px);max-height:min(82dvh,720px)}.popout-panel-content{overflow-y:auto}.popout-panel-content .panel{border:none;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0;gap:var(--space-3)}.popout-panel-content .panel:before,.popout-panel-content .panel:after{display:none}.popout-panel-content .panel:hover{transform:none;box-shadow:none}.action-bar{display:flex;flex-direction:column;background:linear-gradient(170deg,var(--surface-panel-a),var(--surface-panel-b)),linear-gradient(0deg,#18162314,#18162314);border-top:1px solid var(--line-soft);flex-shrink:0;position:relative;z-index:1}.action-bar-hud{display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid var(--line-faint)}.action-bar-controls{display:flex;align-items:center;gap:10px;padding:5px 12px}.action-bar-panels{display:flex;gap:4px;flex-shrink:0}.action-bar-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--line-faint);background:linear-gradient(135deg,#536386cc,#5c4e7abd);color:var(--text-primary);cursor:pointer;transition:background-color .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.action-bar-btn:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#4a6082db,#675380d1);box-shadow:var(--shadow-sm)}.action-bar-btn:active:not(:disabled){transform:scale(.96)}.action-bar-btn-active{background:linear-gradient(135deg,#a897d2e5,#8caec9e0);box-shadow:var(--shadow-glow),var(--shadow-sm);border-color:#a897d266}.action-bar-btn-disabled{opacity:.38;cursor:not-allowed}.action-bar-btn-icon{width:18px;height:18px}.action-bar-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:999px;background:var(--color-primary-dusty-rose);color:var(--text-white);font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}.action-bar-vitals{display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-width:110px}.action-bar-vital{display:flex;align-items:center;gap:6px}.action-bar-vital-label{font-size:.65rem;font-weight:800;color:var(--text-secondary);width:20px;text-align:right;flex-shrink:0}.action-bar-vital-track{flex:1;height:10px;border-radius:999px;background:#18162347;overflow:hidden;position:relative}.action-bar-vital-fill{display:block;height:100%;border-radius:999px;transition:width .32s var(--ease-out-soft)}.action-bar-vital-fill-hp{background:linear-gradient(90deg,var(--color-hp-light),var(--color-hp-dark))}.action-bar-vital-fill-mana{background:linear-gradient(90deg,var(--color-mana-light),var(--color-mana-dark))}.action-bar-vital-fill-xp{background:linear-gradient(90deg,var(--color-xp-light),var(--color-xp-dark))}.action-bar-gold{display:flex;align-items:center;gap:4px;padding:0 2px}.action-bar-gold-coin{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--color-gold-coin-light),var(--color-gold-coin-dark));border:1px solid rgb(160 130 40 / 60%);flex-shrink:0}.action-bar-gold-text{font-size:.65rem;font-weight:700;color:var(--color-primary-soft-gold)}.action-bar-vital-text{font-size:.62rem;font-weight:700;color:var(--text-secondary);min-width:52px;text-align:left;flex-shrink:0}.action-bar-instances{display:flex;align-items:center;gap:5px;padding:0 6px;border-left:1px solid rgb(106 96 136 / 18%)}.instance-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.instance-selector{display:flex;gap:3px}.instance-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 20%);background:#323a5299;color:var(--text-secondary);cursor:pointer;font-size:.65rem;line-height:1;transition:background .12s ease,border-color .12s ease}.instance-btn:hover:not(:disabled){background:#465375b3;border-color:var(--accent-primary)}.instance-btn-current{background:linear-gradient(140deg,#46645099,#3c5a467f);border-color:#64966e66;color:var(--text-primary);cursor:default}.instance-num{font-weight:700;font-size:.68rem}.instance-pop{font-size:.58rem;color:var(--text-muted)}.action-bar-targets{display:flex;align-items:center;gap:5px;padding:0 6px;border-left:1px solid rgb(106 96 136 / 18%);max-width:220px;overflow:hidden}.target-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.target-list{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;max-height:60px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(106 96 136 / 40%) transparent}.target-btn{display:flex;align-items:center;gap:4px;padding:1px 5px;border-radius:var(--radius-sm);border:1px solid rgb(106 96 136 / 16%);background:#323a527f;color:var(--text-secondary);cursor:pointer;font-size:.62rem;line-height:1.2;transition:background .12s ease,border-color .12s ease;min-width:0}.target-btn:hover{background:#5a32327f;border-color:#b4505066;color:var(--text-primary)}.target-btn-current{background:#6432327f;border-color:#c85a5a66;color:var(--text-primary);box-shadow:0 0 4px #c85a5a33}.target-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;font-weight:500}.target-hp-track{width:28px;height:4px;border-radius:2px;background:#28282899;flex-shrink:0;overflow:hidden}.target-hp-fill{display:block;height:100%;border-radius:2px;background:var(--color-accent-faded-crimson);transition:width .2s ease}.action-bar-skills{display:flex;gap:4px;flex-shrink:0}.action-bar-skill{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--line-faint);background:linear-gradient(135deg,#62547ed1,#6f536cc7);color:var(--text-primary);cursor:pointer;overflow:hidden;transition:background-color .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft),transform .16s var(--ease-out-soft)}.action-bar-skill:hover:not(:disabled){transform:translateY(-1px)}.action-bar-skill:hover:not(:disabled).skill-attack{box-shadow:0 2px 10px #c0405066}.action-bar-skill:hover:not(:disabled).skill-aoe{box-shadow:0 2px 10px #c0703066}.action-bar-skill:hover:not(:disabled).skill-debuff{box-shadow:0 2px 10px #9860c066}.action-bar-skill:hover:not(:disabled).skill-heal{box-shadow:0 2px 10px #40a06066}.action-bar-skill:hover:not(:disabled).skill-buff{box-shadow:0 2px 10px #3090a066}.action-bar-skill:hover:not(:disabled).skill-self{box-shadow:0 2px 10px #5070c066}.action-bar-skill:active:not(:disabled){transform:scale(.96)}.action-bar-skill-empty{border-style:dashed;border-color:#ffffff26;background:#3c325066;cursor:default}.action-bar-skill.drag-over{box-shadow:0 0 8px 2px #d46a8a7f;border-color:#d46a8a99}.skill-attack{border-color:#c0405099;box-shadow:inset 0 0 6px #c0405040,0 0 4px #c0405033}.skill-aoe{border-color:#c0703099;box-shadow:inset 0 0 6px #c0703040,0 0 4px #c0703033}.skill-debuff{border-color:#9860c099;box-shadow:inset 0 0 6px #9860c040,0 0 4px #9860c033}.skill-heal{border-color:#40a06099;box-shadow:inset 0 0 6px #40a06040,0 0 4px #40a06033}.skill-buff{border-color:#3090a099;box-shadow:inset 0 0 6px #3090a040,0 0 4px #3090a033}.skill-self{border-color:#5070c099;box-shadow:inset 0 0 6px #5070c040,0 0 4px #5070c033}.skill-pet{border-color:#d4a858b3;box-shadow:inset 0 0 6px #d4a8584d,0 0 4px #d4a85840}.action-bar-skill:hover:not(:disabled).skill-pet{box-shadow:0 2px 10px #d4a8587f}.action-bar-skill-pet:after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:#d4a858e5;box-shadow:0 0 3px #d4a858b3;z-index:2;pointer-events:none}.action-bar-skill-cooldown{opacity:.5;cursor:not-allowed}.action-bar-skill-icon{width:18px;height:18px;position:relative;z-index:1}.action-bar-skill-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:inherit}.action-bar-skill-sweep{position:absolute;bottom:0;left:0;right:0;background:#1816238f;pointer-events:none;transition:height .25s linear}.action-bar-skill-key{position:absolute;bottom:1px;right:3px;font-size:.55rem;font-weight:800;color:#ffffff85;pointer-events:none;z-index:1}.action-bar-command{display:flex;gap:var(--space-1);flex:1;min-width:0;border:1px solid var(--line-faint);border-radius:var(--radius-lg);background:linear-gradient(180deg,#4a5679d6,#3e4f72cc);padding:3px;overflow:hidden;margin-left:auto}.action-bar-command .command-input{padding:4px 8px;font-size:.82rem;opacity:1;width:100%;flex:1;min-width:0}.action-bar-command .action-bar-send{display:flex;align-items:center;justify-content:center;padding:4px 8px;flex-shrink:0}.action-bar-send-icon{width:16px;height:16px}.entity-thumb-clickable{cursor:pointer;border:none;background:none;padding:0;font:inherit;color:inherit;transition:transform .16s var(--ease-out-soft)}.entity-thumb-clickable:hover{transform:scale(1.04)}.entity-thumb-clickable:hover .entity-thumb{box-shadow:0 0 8px #967cb566}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.05s!important;scroll-behavior:auto!important}}@keyframes drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(12px) scale(1.04)}}@keyframes runePulse{0%,to{opacity:.58;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-1px) scale(1.08)}}@keyframes detailFlipIn{0%{opacity:.55;transform:perspective(760px) rotateX(-9deg) translateY(5px)}to{opacity:1;transform:perspective(760px) rotateX(0) translateY(0)}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginStepIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.combat-panel{display:flex;flex-direction:column;gap:.55rem}.combat-target-card{padding:.5rem .65rem;border-radius:10px;background:linear-gradient(135deg,#a897d21f,#8caec91a);border:1px solid var(--line-faint)}.combat-target-info{display:flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.combat-target-thumb{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary-lavender);flex-shrink:0}.combat-target-thumb-placeholder{display:flex;align-items:center;justify-content:center;background:#a897d22e}.combat-target-thumb-icon{width:24px;height:24px;color:var(--color-primary-lavender)}.combat-target-details{display:flex;flex-direction:column;gap:.1rem;min-width:0}.combat-target-name{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.05rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-target-hp-text{font-size:.78rem;color:var(--text-secondary)}.combat-in-combat-badge{display:flex;align-items:center;gap:.45rem;padding:.25rem 0;color:var(--color-primary-dusty-rose);font-weight:600;font-size:.88rem;animation:combatPulse 2s ease-in-out infinite}.combat-badge-icon{width:18px;height:18px}@keyframes combatPulse{0%,to{opacity:1}50%{opacity:.6}}.combat-target-select{display:flex;flex-direction:column;gap:.2rem}.combat-target-option{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;border-radius:6px;border:1px solid transparent;background:#a897d20f;color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.combat-target-option:hover:not(:disabled){background:#a897d224;border-color:var(--line-faint)}.combat-target-option-active{border-color:var(--color-primary-lavender);color:var(--text-primary);cursor:default}.combat-target-option-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-target-option-hp{flex-shrink:0;margin-left:.5rem;font-size:.72rem;opacity:.8}.combat-tab-bar{display:flex;gap:.3rem}.combat-tab{padding:.2rem .65rem;border-radius:12px;border:1px solid var(--line-faint);background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.combat-tab:hover{background:#a897d21a}.combat-tab-active{background:#a897d22e;color:var(--text-primary);border-color:var(--color-primary-lavender)}.combat-ability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.combat-show-all{background:none;border:none;color:var(--color-primary-lavender);font-size:.75rem;font-weight:600;cursor:pointer;padding:.2rem 0;text-align:center;width:100%}.combat-show-all:hover{text-decoration:underline}.combat-ability-button{position:relative;display:flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border-radius:8px;border:1px solid var(--line-faint);background:linear-gradient(135deg,#a897d21a,#8caec914);color:var(--text-primary);font-size:.78rem;cursor:pointer;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.combat-ability-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #a897d240;border-color:var(--color-primary-lavender)}.combat-ability-button-disabled{opacity:.5;cursor:not-allowed}.combat-ability-icon-wrap{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.combat-ability-icon{width:18px;height:18px}.combat-ability-label{display:flex;flex-direction:column;min-width:0;line-height:1.2}.combat-ability-name{font-weight:600}.combat-ability-cost{font-size:.68rem;color:var(--color-primary-pale-blue);opacity:.85}.combat-ability-cooldown-bar{position:absolute;bottom:0;left:0;height:3px;background:var(--color-primary-dusty-rose);border-radius:0 0 8px 8px;transition:width .25s linear;opacity:.7}.combat-action-bar{display:flex;gap:.4rem}.combat-action-bar>*{flex:1}.combat-action-icon{width:16px;height:16px}.combat-flee-button{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .6rem;border-radius:8px;border:1px solid rgb(184 143 170 / 40%);background:linear-gradient(135deg,#b88faa38,#b88faa1f);color:var(--color-primary-dusty-rose);font-weight:600;font-size:.82rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.combat-flee-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #b88faa4d;background:linear-gradient(135deg,#b88faa52,#b88faa2e)}.combat-action-bar .soft-button{display:flex;align-items:center;justify-content:center;gap:.35rem}.combat-target-mini{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;margin:.15rem .3rem;border-radius:8px;background:linear-gradient(135deg,#b88faa24,#a897d21a);border:1px solid rgb(184 143 170 / 25%);font-size:.78rem;animation:combatPulse 2s ease-in-out infinite}.combat-mini-icon{width:16px;height:16px;color:var(--color-primary-dusty-rose);flex-shrink:0}.combat-mini-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-mini-bar{flex:1;height:6px;border-radius:3px;background:#00000040;overflow:hidden;min-width:40px}.combat-mini-hp{font-size:.72rem;color:var(--text-secondary);flex-shrink:0}.help-trigger{display:inline-flex;align-items:center;gap:5px;padding:5px 10px}.help-trigger-icon{width:16px;height:16px}.help-trigger-label{font-size:.82rem}.help-search-wrap{position:sticky;top:0;z-index:1;padding-bottom:var(--space-3)}.help-search-input{width:100%;padding:8px 12px;border:1px solid rgb(131 147 186 / 30%);border-radius:var(--radius-md);background:#2f344699;color:var(--text-primary);font-family:inherit;font-size:.88rem;outline:none;transition:border-color .15s,box-shadow .15s}.help-search-input::placeholder{color:var(--text-placeholder)}.help-search-input:focus{border-color:#7b84aacc;box-shadow:0 0 0 2px #7e6ba23d}.help-category-list{display:flex;flex-direction:column;gap:var(--space-4)}.staff-admin-button{background:linear-gradient(140deg,#bea87347,#a8976438);border-color:#bea87370;color:var(--color-primary-soft-gold);font-weight:700}.staff-admin-button:hover{background:linear-gradient(140deg,#bea87366,#a8976452);border-color:#bea87399}.staff-invis-button{padding:4px 8px;font-size:.85rem;line-height:1;opacity:.6;transition:opacity .15s ease,background .15s ease}.staff-invis-button:hover{opacity:1}.staff-invis-active{opacity:1;background:linear-gradient(140deg,#7864aa59,#64509647);border-color:#9678c87f}.admin-dialog{max-width:1040px}.admin-content{display:flex;flex-direction:column;gap:var(--space-4)}.admin-main-pane{display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.admin-section-title,.admin-form-title{margin:0;font-family:var(--font-display);font-size:1rem;color:var(--text-primary)}.admin-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-status-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid rgb(120 134 188 / 18%);background:linear-gradient(180deg,#191f31eb,#101421f0)}.admin-status-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.admin-feedback-banner{margin:0;padding:.85rem 1rem;border-radius:14px;border:1px solid rgb(120 134 188 / 18%);background:linear-gradient(180deg,#191f31eb,#101421f0);color:var(--text-secondary)}.admin-feedback-banner-success{border-color:#69c09247;background:linear-gradient(180deg,#224435eb,#111e18f0);color:#e5fff0}.admin-feedback-banner-error{border-color:#d6757547;background:linear-gradient(180deg,#4f2323eb,#1f1212f0);color:#ffe2e2}.help-category-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid rgb(131 147 186 / 20%)}.help-command-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.help-command-entry{display:flex;gap:var(--space-3);padding:4px 8px;border-radius:var(--radius-sm);transition:background-color .12s}.help-command-entry:hover{background:#8393ba1a}.help-command-syntax{flex:0 0 auto;min-width:200px;font-family:var(--font-mono);font-size:.82rem;color:var(--accent-lavender, #c4b8e8);white-space:nowrap}.help-command-desc{flex:1;font-size:.84rem;color:var(--text-secondary);margin:0}.admin-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-action-section{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--radius-md);border:1px solid rgb(120 134 188 / 16%);background:linear-gradient(180deg,#1b2236eb,#111522f2)}.admin-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-action-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border:1px solid rgb(106 96 136 / 24%);border-radius:var(--radius-md);background:linear-gradient(140deg,#404e6fd6,#2e3a57cc);color:var(--text-primary);cursor:pointer;transition:background .17s var(--ease-out-soft),border-color .17s var(--ease-out-soft),transform .17s var(--ease-out-soft)}.admin-action-tile:hover{background:linear-gradient(140deg,#4f5e85e0,#3d4c6fd6);border-color:#a897d25c;transform:translateY(-1px)}.admin-action-tile-active{background:linear-gradient(140deg,#a897d24d,#8caec942);border-color:#a897d285;box-shadow:0 0 12px #a897d22e}.admin-action-tile-danger{border-color:#b88faa42}.admin-action-tile-utility{border-color:#8da97b3d}.admin-action-label{font-size:.82rem;font-weight:700}.admin-action-desc{font-size:.7rem;color:var(--text-secondary);line-height:1.3;text-align:left}.admin-form{display:flex;flex-direction:column;gap:var(--space-3);animation:questDetailsSlide .2s var(--ease-out-soft);padding:14px;border-radius:18px;border:1px solid rgb(125 141 196 / 14%);background:#1014208a}.admin-field{display:flex;flex-direction:column;gap:4px}.admin-field-label{font-size:.74rem;font-weight:600;color:var(--text-secondary)}.admin-input{border:1px solid rgb(106 96 136 / 30%);border-radius:8px;background:var(--surface-input);color:var(--text-primary);font-family:var(--font-mono);font-size:.82rem;padding:8px 12px;outline:none;transition:border-color .15s var(--ease-out-soft)}.admin-input:focus{border-color:#a897d28f}.admin-input::placeholder{color:var(--text-disabled)}.admin-textarea{min-height:88px;resize:vertical}.admin-choice-row{display:flex;flex-wrap:wrap;gap:8px}.admin-choice-chip{padding:6px 12px;border-radius:999px;border:1px solid rgb(120 134 188 / 22%);background:#7886bc1a;color:var(--text-secondary);font-size:.72rem;font-weight:700;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.admin-choice-chip:hover{background:#8caec924;border-color:#8caec952;color:var(--text-primary)}.admin-choice-chip-active{background:#a897d22e;border-color:#a897d25c;color:var(--text-primary)}.admin-shutdown-warning{font-size:.78rem;color:var(--color-primary-dusty-rose);padding:8px 12px;border-radius:8px;background:#b88faa1f;border:1px solid rgb(184 143 170 / 24%);text-align:center}.admin-submit-row{display:flex;justify-content:flex-end}.admin-submit{border:1px solid rgb(140 174 201 / 40%);border-radius:8px;background:linear-gradient(140deg,#8caec938,#a897d22e);color:var(--color-primary-pale-blue);font-size:.82rem;font-weight:700;padding:8px 16px;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.admin-submit:disabled{opacity:.52;cursor:not-allowed}.admin-submit:hover{background:linear-gradient(140deg,#8caec957,#a897d247);border-color:#8caec999}.admin-submit-danger{border-color:#b88faa70;background:linear-gradient(140deg,#b88faa2e,#aa829624);color:var(--color-primary-dusty-rose)}.admin-submit-danger:hover{background:linear-gradient(140deg,#b88faa47,#aa829638);border-color:#b88faa99}.admin-submit-confirm{background:linear-gradient(140deg,#c864644d,#b850503d);border-color:#c864647f;color:var(--color-error);animation:questNotifSlide .2s var(--ease-out-soft)}.admin-submit-confirm:hover{background:linear-gradient(140deg,#c864646b,#b850505c);border-color:#c86464a8}.teleport-browser{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto;border:1px solid var(--line-faint);border-radius:var(--radius-md);padding:var(--space-2);background:#1e263899}@media(max-width:720px){.admin-dialog{max-width:min(96vw,640px)}.admin-status-strip,.admin-section-grid{grid-template-columns:1fr}.admin-action-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.help-command-entry{flex-direction:column;gap:2px}.help-command-syntax{min-width:0}.help-trigger-label{display:none}.admin-action-grid{grid-template-columns:1fr}.admin-submit-row{justify-content:stretch}.admin-submit{width:100%}}.teleport-filter{position:sticky;top:0;z-index:1}.teleport-section{display:flex;flex-direction:column}.teleport-section-title{font-family:var(--font-body);font-size:.72rem;font-weight:700;color:var(--color-primary-pale-blue);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-1);padding:0 var(--space-1)}.teleport-zone-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:5px 6px;border:none;background:none;color:var(--text-primary);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s var(--ease-out-soft)}.teleport-zone-header:hover{background:#ffffff0d}.teleport-zone-header-expanded{color:var(--text-bright)}.teleport-zone-arrow{font-size:.7rem;color:var(--text-secondary);width:10px}.teleport-zone-name{flex:1}.teleport-zone-count{font-size:.68rem;color:var(--text-disabled)}.teleport-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.teleport-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:3px 6px 3px 20px;border-radius:var(--radius-sm);transition:background .1s var(--ease-out-soft)}.teleport-item:hover{background:#ffffff0a}.teleport-item-player{padding-left:6px}.teleport-item-name{font-size:.78rem;color:var(--color-primary-pale-blue);font-weight:600}.teleport-item-room{display:flex;flex-direction:column;gap:1px;min-width:0}.teleport-item-id{font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-item-title{font-size:.7rem;color:var(--text-disabled);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-item-meta{font-size:.68rem;color:var(--text-disabled);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teleport-go-btn{flex-shrink:0;padding:2px 10px;border:1px solid rgb(141 169 123 / 40%);border-radius:var(--radius-sm);background:#8da97b24;color:var(--color-primary-moss-green);font-size:.68rem;font-weight:700;cursor:pointer;transition:background .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft)}.teleport-go-btn:hover{background:#8da97b42;border-color:#8da97b99}.teleport-go-btn:disabled{opacity:.45;cursor:not-allowed}.pixi-canvas-host{border-radius:9px;overflow:hidden}.pixi-canvas-host canvas{display:block;width:100%!important;height:100%!important;border-radius:9px}.terminal-hidden{position:absolute;left:-9999px;top:-9999px;width:800px;height:400px;overflow:hidden;pointer-events:none}.reconnect-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 22px;border-radius:var(--radius-md, 10px);border:1px solid rgb(140 154 193 / 24%);background:#121622e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);font-size:.88rem;font-family:var(--font-body, sans-serif);box-shadow:0 4px 24px #0006;animation:reconnect-slide-in .3s cubic-bezier(.25,1,.5,1)}.reconnect-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--text-disabled);border-top-color:var(--color-primary-lavender);border-radius:50%;animation:reconnect-spin .8s linear infinite}@keyframes reconnect-spin{to{transform:rotate(360deg)}}@keyframes reconnect-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.reconnect-spinner,.reconnect-banner{animation:none}}.combat-log-wrap{position:absolute;bottom:12px;left:12px;z-index:8;max-width:min(360px,50%);pointer-events:none}.character-picker-overlay{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#121622c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:backdropFadeIn .25s var(--ease-out-soft)}.character-picker{background:linear-gradient(160deg,var(--surface-panel-a),var(--surface-panel-b));border:1px solid var(--glass-edge);border-radius:var(--radius-lg, 16px);padding:32px 28px 28px;max-width:380px;width:90%;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:inset 0 1px 0 var(--glass-edge),var(--shadow-lg),var(--shadow-glow);animation:dialogSlideIn .32s var(--ease-out-soft)}.character-picker-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-primary-lavender);letter-spacing:.02em;margin:0;animation:loginTitleGlow 3s var(--ease-in-out-smooth) infinite}@media(prefers-reduced-motion:reduce){.character-picker-title{animation:none;text-shadow:0 0 10px rgb(168 151 210 / 20%)}.character-picker,.character-picker-overlay{animation:none}}.character-picker-subtitle{font-size:.85rem;color:var(--text-secondary);margin:0 0 16px}.character-picker-list{display:flex;flex-direction:column;gap:8px;width:100%}.character-picker-entry{display:flex;gap:0;width:100%}.character-picker-btn{flex:1;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--line-soft);border-radius:var(--radius-md, 10px) 0 0 var(--radius-md, 10px);background:linear-gradient(140deg,#58488447,#483e7038);color:var(--text-bright);font-family:var(--font-display);font-size:1.08rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.character-picker-btn:hover{background:linear-gradient(140deg,#6c589866,#58488452);border-color:var(--color-primary-lavender);transform:translateY(-1px)}.character-picker-btn:active{transform:scale(.98)}.character-picker-btn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-picker-btn-arrow{font-size:1.3rem;color:var(--text-tertiary);transition:color .15s}.character-picker-btn:hover .character-picker-btn-arrow{color:var(--color-primary-lavender)}.character-picker-remove{width:36px;min-width:36px;padding:0;border:1px solid var(--line-soft);border-left:none;border-radius:0 var(--radius-md, 10px) var(--radius-md, 10px) 0;background:#c8505000;color:var(--text-tertiary);font-size:1rem;cursor:pointer;transition:background .15s,color .15s,width .15s,min-width .15s;display:flex;align-items:center;justify-content:center}.character-picker-remove:hover{background:#c8505024;color:var(--color-error);border-color:#c850504d}.character-picker-remove--confirm{width:auto;min-width:auto;padding:0 10px;background:#c8505033;color:var(--color-error);border-color:#c8505066;font-size:.8rem;font-weight:600;letter-spacing:.02em}.character-picker-divider{display:flex;align-items:center;gap:12px;width:100%;margin:12px 0 4px}.character-picker-divider-line{flex:1;height:1px;background:var(--line-soft)}.character-picker-divider-text{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.character-picker-new{width:100%;padding:12px 18px;border:1px dashed var(--line-soft);border-radius:var(--radius-md, 10px);background:transparent;color:var(--text-secondary);font-family:var(--font-display);font-size:.95rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.character-picker-new:hover{color:var(--text-primary);border-color:var(--color-primary-lavender);background:#a897d20f}.world-atmosphere-subpanel{display:flex;flex-direction:column;gap:4px;padding:8px 12px}.world-atmosphere-heading{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 2px}.world-atmosphere-row{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-secondary)}.world-atmosphere-icon{flex-shrink:0;width:1.1em;text-align:center;font-size:.9rem}.world-atmosphere-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-atmosphere-value{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.78rem}.world-atmosphere-event,.world-atmosphere-event-icon{color:var(--color-primary-lavender)}.atmosphere-hud{position:absolute;bottom:16px;right:calc(env(safe-area-inset-right,0px) + 12px);top:auto;left:auto;z-index:11;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;pointer-events:none;max-width:40vw}.atmosphere-hud-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-md);background:#0a0c148c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / 8%);color:var(--text-secondary);font-size:.78rem;font-weight:500;pointer-events:auto;white-space:nowrap}.atmosphere-hud-icon{font-size:.9rem;flex-shrink:0}.atmosphere-hud-label{font-variant-numeric:tabular-nums}.atmosphere-hud-chip-event{color:var(--color-primary-lavender);border-color:#b294bb33}.character-logout-row{display:flex;justify-content:center;padding:12px 0 4px}.character-logout-btn{font-size:.78rem;color:var(--text-secondary);opacity:.7;transition:opacity .15s}.character-logout-btn:hover{opacity:1}.character-pet-subpanel{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.pet-header-row{display:flex;align-items:flex-start;gap:10px}.pet-thumbnail{width:40px;height:40px;border-radius:6px;object-fit:cover;border:1px solid rgb(140 154 193 / 18%);flex-shrink:0}.pet-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pet-name{font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pet-stat-grid{font-size:.78rem;gap:4px 12px}.pet-actions{display:flex;justify-content:flex-end}.pet-dismiss-btn{font-size:.75rem;padding:3px 10px;color:var(--text-secondary);opacity:.8;transition:opacity .15s,color .15s}.pet-dismiss-btn:hover{opacity:1;color:var(--color-hp-red)}.score-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.score-section-header-spaced{margin-bottom:.8rem}.score-open-btn{white-space:nowrap;padding:.28rem .72rem;font-size:.72rem}.systems-panel{display:flex;flex-direction:column;gap:1rem}.systems-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.systems-tab{border:1px solid rgb(146 157 205 / 24%);background:#141828db;color:var(--text-secondary);border-radius:999px;padding:.5rem .9rem;font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.systems-tab:hover{border-color:#b4bff073;color:var(--text-primary);transform:translateY(-1px)}.systems-tab-active{background:linear-gradient(135deg,#6f83dc4d,#3f4e8e85);border-color:#aebfff99;color:var(--text-primary)}.systems-local-message{margin:0;padding:.8rem .95rem;border-radius:16px;background:#252f52b8;border:1px solid rgb(132 150 224 / 28%);color:var(--text-secondary)}.systems-local-message-success{background:#244e3ac7;border-color:#73c89d47;color:#e7fff1}.systems-local-message-error{background:#632929cc;border-color:#df7f7f42;color:#ffe5e5}.systems-body,.systems-section{display:flex;flex-direction:column;gap:1rem}.systems-title{margin:0;font-size:1.1rem}.systems-card-list{display:grid;gap:1rem}.systems-card{display:flex;flex-direction:column;gap:.95rem;padding:1rem 1.05rem;border-radius:22px;background:linear-gradient(180deg,#161a2cf0,#0c0f1af0);border:1px solid rgb(102 117 180 / 24%);box-shadow:0 18px 36px #00000029}.systems-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.systems-card-header h4{margin:.18rem 0 0;font-size:1.05rem}.systems-card-label{margin:0;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;color:var(--text-muted)}.systems-card-copy,.systems-detail-line{margin:0;color:var(--text-secondary);line-height:1.5}.systems-feed{display:flex;flex-direction:column;gap:.7rem}.systems-feed-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem .9rem;border-radius:16px;background:#ffffff08;border:1px solid rgb(255 255 255 / 6%)}.systems-feed-item-positive{border-color:#64c4912e;background:linear-gradient(180deg,#2040306b,#10191799)}.systems-feed-item-negative{border-color:#e07d7d29;background:linear-gradient(180deg,#47212170,#1c121299)}.systems-feed-copy{margin:.22rem 0 0;color:var(--text-secondary);font-size:.88rem}.systems-feed-time{white-space:nowrap;font-size:.78rem;color:var(--text-muted)}.systems-pill{align-self:flex-start;padding:.34rem .75rem;border-radius:999px;background:#353e66e5;border:1px solid rgb(128 145 219 / 28%);color:var(--text-primary);font-size:.76rem;white-space:nowrap}.systems-pill-success{background:#295f43e0;border-color:#6dc49757}.systems-pill-danger{background:#6d2b2be0;border-color:#e0848457}.systems-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.systems-stat-grid>div{padding:.75rem .85rem;border-radius:16px;background:#ffffff08;border:1px solid rgb(255 255 255 / 6%)}.systems-stat-grid dt{margin:0 0 .3rem;font-size:.74rem;color:var(--text-muted)}.systems-stat-grid dd{margin:0;font-size:.98rem;color:var(--text-primary)}.systems-action-row{display:flex;flex-wrap:wrap;gap:.7rem}.systems-primary-btn,.systems-secondary-btn{border-radius:14px;padding:.72rem 1rem;font:inherit;cursor:pointer;transition:transform .14s ease,filter .14s ease,border-color .14s ease}.systems-primary-btn{border:1px solid rgb(149 170 255 / 34%);background:linear-gradient(135deg,#5c71d2eb,#3c498feb);color:#f8faff}.systems-secondary-btn{border:1px solid rgb(134 146 191 / 24%);background:#181c2deb;color:var(--text-primary)}.systems-primary-btn:hover:not(:disabled),.systems-secondary-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.systems-primary-btn:disabled,.systems-secondary-btn:disabled{cursor:not-allowed;opacity:.55}.systems-choice-list{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.systems-choice-list-compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.systems-choice-card{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;text-align:left;padding:.85rem .95rem;border-radius:16px;border:1px solid rgb(129 143 199 / 18%);background:#ffffff08;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.systems-choice-card:hover{transform:translateY(-1px);border-color:#abbcff57;background:#49568f24}.systems-choice-card-active{border-color:#b8c5ff75;background:#606fbd33}.systems-choice-title{font-weight:700}.systems-choice-copy{color:var(--text-secondary);font-size:.84rem;line-height:1.45}.systems-number-input,.systems-text-input{min-width:0;flex:1 1 180px;border-radius:14px;border:1px solid rgb(132 145 196 / 26%);background:#0a0d18db;color:var(--text-primary);padding:.72rem .85rem;font:inherit}.systems-callout{padding:.8rem .95rem;border-radius:16px;background:#272f4f99;border:1px solid rgb(117 132 196 / 24%);color:var(--text-secondary)}.systems-perk-list{display:grid;gap:.7rem}.systems-perk-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .85rem;border-radius:14px;background:#ffffff08;border:1px solid rgb(255 255 255 / 6%)}.systems-perk-card-earned{border-color:#69c79647;background:#2a524038}.systems-perk-rank{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.systems-perk-desc{color:var(--text-primary)}.systems-bullet-list{margin:0;padding-left:1.15rem;color:var(--text-secondary);display:grid;gap:.35rem}.systems-perk-summary{display:grid;gap:.5rem;padding:.85rem .95rem;border-radius:14px;background:#69c79614;border:1px solid rgb(105 199 150 / 22%)}.systems-perk-summary strong{color:var(--text-primary)}.systems-meter{display:flex;align-items:center;gap:.8rem}.systems-meter-track{position:relative;flex:1 1 auto;height:10px;border-radius:999px;background:#ffffff14;overflow:hidden}.systems-meter-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#68cf9cf2,#c4de7af2)}.systems-meter-value{min-width:3.5rem;text-align:right;color:var(--text-primary)}@media(max-width:720px){.systems-tab{flex:1 1 calc(50% - .55rem);justify-content:center}.systems-card-header{flex-direction:column}.systems-action-row,.systems-choice-list{grid-template-columns:1fr}}.combat-log{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;overflow-x:hidden;padding:2px 0 4px;pointer-events:none;scrollbar-width:none}.combat-log::-webkit-scrollbar{display:none}.combat-log-msg{padding:3px 10px;border-radius:var(--radius-sm, 6px);font-size:.8rem;line-height:1.35;font-family:var(--font-mono, monospace);background:#121622a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-text, #e0e0e0);transition:opacity .3s ease-out;text-shadow:0 1px 2px rgb(0 0 0 / 60%)}.combat-log-msg-damage{color:var(--color-damage, #d4888a);border-left:2px solid var(--color-damage, #d4888a)}.combat-log-msg-heal{color:var(--color-heal, #8abf8a);border-left:2px solid var(--color-heal, #8abf8a)}.combat-log-msg-error{color:var(--color-error, #e8a0a0);border-left:2px solid var(--color-error, #e8a0a0)}.combat-log-msg-info{color:var(--color-info, #8caec9);border-left:2px solid var(--color-info, #8caec9)}.combat-log-msg-kill{color:var(--color-xp, #bea873);border-left:2px solid var(--color-xp, #bea873);font-weight:600}.combat-log-msg-dodge{color:var(--color-dodge, #d9c8a1);border-left:2px solid var(--color-dodge, #d9c8a1);font-style:italic}.combat-log-msg-xp{color:var(--color-xp, #bea873);border-left:2px solid var(--color-xp, #bea873)}@media(prefers-reduced-motion:reduce){.combat-log-msg{transition:none}}.combat-log-panel{display:flex;flex-direction:column;gap:var(--space-2, 8px);min-height:0;height:100%}.combat-log-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px);flex-wrap:wrap}.combat-log-panel-count{font-size:.82rem;font-style:italic;color:#f0e1beb8}.combat-log-panel-clear{padding:5px 14px;border-radius:8px;border:1px solid rgb(240 225 190 / 35%);background:#1e120866;color:#ecdcb8;font-family:var(--font-display);font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.combat-log-panel-clear:hover:not([disabled]){background:#32201099;color:#fff7e0}.combat-log-panel-clear[disabled]{opacity:.45;cursor:not-allowed}.combat-log-panel-filters{display:flex;flex-wrap:wrap;gap:6px}.combat-log-panel-chip{border:1px solid rgb(240 225 190 / 30%);background:#1e12084d;color:#f0e1be99;border-radius:999px;padding:3px 12px;font-family:var(--font-display);font-size:.76rem;font-weight:700;cursor:pointer;text-decoration:line-through;text-decoration-color:#f0e1be73;opacity:.65;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}.combat-log-panel-chip:hover{opacity:.9}.combat-log-panel-chip-on{opacity:1;text-decoration:none;background:#1e12086b}.combat-log-panel-chip-on.combat-log-panel-chip-damage{color:#e89078;border-color:#e8907899}.combat-log-panel-chip-on.combat-log-panel-chip-heal{color:#a6cf86;border-color:#a6cf8699}.combat-log-panel-chip-on.combat-log-panel-chip-dodge{color:#86ccc2;border-color:#86ccc299}.combat-log-panel-chip-on.combat-log-panel-chip-kill,.combat-log-panel-chip-on.combat-log-panel-chip-xp{color:#f2d488;border-color:#f2d48899}.combat-log-panel-chip-on.combat-log-panel-chip-info{color:#e6d2a4;border-color:#e6d2a48c}.combat-log-panel-chip-on.combat-log-panel-chip-error{color:#f0907a;border-color:#f0907a99}.combat-log-panel-empty{text-align:center;padding:var(--space-5, 24px) var(--space-4, 16px);color:#f0e1bec7}.combat-log-panel-empty p{margin:0;font-size:.95rem;font-style:italic}.combat-log-panel-empty-hint{margin-top:var(--space-1, 4px)!important;font-size:.82rem;opacity:.8}.combat-log-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;background:linear-gradient(90deg,transparent 0 70px,rgb(210 96 70 / 45%) 70px 71.5px,transparent 71.5px);scrollbar-width:thin;scrollbar-color:rgb(240 225 190 / 35%) transparent}.combat-log-panel-scroll::-webkit-scrollbar{width:7px}.combat-log-panel-scroll::-webkit-scrollbar-thumb{background:#f0e1be4d;border-radius:999px}.combat-log-panel-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:16px;padding:5px 6px;font-size:.9rem;line-height:1.45;border-bottom:1px solid rgb(240 225 190 / 14%);color:#ecdcb8;text-shadow:0 1px 2px rgb(16 8 2 / 55%);word-break:break-word}.combat-log-panel-row-time{font-family:var(--font-mono, monospace);font-size:.68rem;text-align:right;color:#f0e1be99;white-space:nowrap}.combat-log-panel-row-text{min-width:0}.combat-log-panel-row-damage{color:#ec9078}.combat-log-panel-row-heal{color:#a8d18a}.combat-log-panel-row-error{color:#f2917b;font-weight:700}.combat-log-panel-row-info{color:#e6d2a4}.combat-log-panel-row-kill{color:#f2d488;font-weight:700}.combat-log-panel-row-dodge{color:#8ad0c6;font-style:italic}.combat-log-panel-row-xp{color:#f2d488}@media(prefers-reduced-motion:reduce){.combat-log-panel-chip{transition:none}}.terminal-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--radius-lg);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-in-out-smooth)}.terminal-overlay-visible{opacity:1;pointer-events:auto;background:#1216227f}.terminal-overlay-opaque{background:#121622e0}.terminal-overlay .xterm,.terminal-overlay .xterm-screen,.terminal-overlay .xterm-viewport{border-radius:0;height:100%!important}.terminal-overlay .xterm-viewport{background:transparent!important}.panel-play.text-mode{display:flex;flex-direction:column}.canvas-strip{position:relative;flex-shrink:0;height:160px;min-height:100px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-panel);background:#2f3446;opacity:.85;transition:height .3s var(--ease-in-out-smooth),opacity .3s var(--ease-in-out-smooth)}.terminal-card-text-mode{flex:1;min-height:0;display:flex;flex-direction:column}.terminal-primary{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--radius-lg);overflow:hidden;opacity:1;pointer-events:auto;background:#121622f0}.terminal-primary .xterm,.terminal-primary .xterm-screen,.terminal-primary .xterm-viewport{border-radius:0;height:100%!important}.terminal-primary .xterm-viewport{background:transparent!important}.layout-mode-button{font-size:.78rem;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.panel-play,.terminal-card,.canvas-strip,.terminal-primary,.terminal-overlay{transition-duration:.3s;transition-timing-function:var(--ease-in-out-smooth)}}@media(prefers-reduced-motion:reduce){.canvas-strip,.terminal-primary,.terminal-overlay{transition:none}}.login-modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#121622c7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:backdropFadeIn .25s var(--ease-out-soft)}.login-modal{width:min(420px,90vw);border-radius:var(--radius-lg);border:1px solid var(--glass-edge);background:linear-gradient(160deg,#363f5af5,#2b354ff0),linear-gradient(0deg,#0c0e184d,#0c0e184d);box-shadow:inset 0 1px #e8efff29,0 0 24px #a897d233,0 8px 32px #080a127f,0 0 0 1px #dae2ff1a;padding:28px 24px;animation:dialogSlideIn .32s var(--ease-out-soft)}.login-modal-title{margin:0 0 20px;text-align:center;font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--color-primary-lavender);letter-spacing:.02em;animation:loginTitleGlow 3s var(--ease-in-out-smooth) infinite}@keyframes loginTitleGlow{0%,to{text-shadow:0 0 10px rgb(168 151 210 / 20%)}50%{text-shadow:0 0 20px rgb(168 151 210 / 40%)}}@media(prefers-reduced-motion:reduce){.login-modal-title{animation:none;text-shadow:0 0 10px rgb(168 151 210 / 20%)}.soft-button:after{display:none}}.login-step{display:flex;flex-direction:column;gap:10px;animation:loginStepIn .25s var(--ease-out-soft)}.login-step-label{margin:0;font-size:.95rem;color:var(--text-primary);text-align:center}.login-step-sub{margin:0;font-size:.88rem;color:var(--text-secondary);text-align:center}.login-error{margin:0;padding:6px 10px;border-radius:6px;background:#c8505024;border:1px solid rgb(200 80 80 / 30%);color:var(--color-error);font-size:.84rem;text-align:center}.login-form{display:flex;gap:8px}.login-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--line-soft);background:var(--surface-input);color:var(--text-primary);font-family:inherit;font-size:.92rem;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--color-primary-lavender)}.login-button{padding:8px 18px;border-radius:8px;border:1px solid var(--line-soft);background:linear-gradient(140deg,#5848847f,#483e7070);color:var(--text-primary);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.login-button:hover{background:linear-gradient(140deg,#6c589899,#58488485);border-color:var(--color-primary-lavender)}.login-button-secondary{background:linear-gradient(140deg,#3e4a6c7f,#363f5a70)}.login-button-secondary:hover{background:linear-gradient(140deg,#48547699,#3e486485);border-color:var(--text-secondary)}.login-choice-row{display:flex;gap:10px;justify-content:center}.login-demo-row{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgb(255 255 255 / 8%)}.login-demo-divider{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted, rgb(168 151 210 / 60%))}.login-button-demo{background:linear-gradient(140deg,#7cb4847f,#608e6c6b);border-color:#a8d2b27f}.login-button-demo:hover{background:linear-gradient(140deg,#8cc89499,#6c9c7885);border-color:#bee2c8b3}.login-demo-hint{margin:0;font-size:12px;text-align:center;color:var(--text-muted, rgb(168 151 210 / 65%));line-height:1.4}.login-scene-root{position:fixed;inset:0;z-index:200;display:flex;align-items:safe center;justify-content:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;animation:backdropFadeIn .4s var(--ease-out-soft)}.login-scene{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.login-scene-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 110%,rgb(86 70 134 / 35%) 0%,rgb(46 38 78 / 18%) 35%,transparent 70%),linear-gradient(180deg,#0a0d1a,#141a32 38%,#1f2548 65%,#2a2755 88%,#1a1530)}.login-scene-aurora{position:absolute;inset:-20% -10%;background:radial-gradient(ellipse 60% 30% at 30% 40%,rgb(196 178 232 / 32%) 0%,transparent 60%),radial-gradient(ellipse 50% 25% at 75% 55%,rgb(168 196 222 / 26%) 0%,transparent 60%),radial-gradient(ellipse 40% 20% at 50% 30%,rgb(210 168 196 / 20%) 0%,transparent 60%);filter:blur(24px)}.login-scene-stars{position:absolute;inset:0;background-repeat:repeat;opacity:.85}.login-scene-stars--far{background-image:radial-gradient(1px 1px at 20px 30px,rgb(230 232 248 / 70%),transparent 50%),radial-gradient(1px 1px at 60px 80px,rgb(216 222 241 / 60%),transparent 50%),radial-gradient(1px 1px at 110px 40px,rgb(232 230 250 / 70%),transparent 50%),radial-gradient(1px 1px at 150px 120px,rgb(200 210 240 / 55%),transparent 50%),radial-gradient(1px 1px at 90px 180px,rgb(240 235 255 / 65%),transparent 50%),radial-gradient(1px 1px at 200px 90px,rgb(218 222 245 / 60%),transparent 50%),radial-gradient(1px 1px at 240px 200px,rgb(230 232 248 / 70%),transparent 50%);background-size:280px 240px}.login-scene-stars--mid{background-image:radial-gradient(1.5px 1.5px at 30px 50px,rgb(232 218 248 / 85%),transparent 50%),radial-gradient(1.5px 1.5px at 130px 100px,rgb(216 232 248 / 80%),transparent 50%),radial-gradient(1.5px 1.5px at 220px 30px,rgb(240 226 248 / 85%),transparent 50%),radial-gradient(1.5px 1.5px at 80px 200px,rgb(218 230 252 / 75%),transparent 50%),radial-gradient(1.5px 1.5px at 280px 150px,rgb(232 222 250 / 80%),transparent 50%);background-size:360px 280px}.login-scene-stars--near{background-image:radial-gradient(2px 2px at 50px 80px,rgb(255 246 220 / 95%),transparent 55%),radial-gradient(2px 2px at 220px 160px,rgb(240 224 255 / 90%),transparent 55%),radial-gradient(2px 2px at 340px 60px,rgb(220 240 255 / 90%),transparent 55%),radial-gradient(2px 2px at 140px 240px,rgb(255 232 248 / 92%),transparent 55%);background-size:440px 320px}.login-scene-horizon{position:absolute;inset:auto 0 -4%;height:38%;pointer-events:none}.login-scene-island{position:absolute;bottom:0;border-radius:50% 50% 38% 38%/60% 60% 40% 40%;background:radial-gradient(ellipse at 50% 30%,#56467c99,#282046cc 60%,#121020eb);box-shadow:0 -8px 24px #a897d21f,inset 0 6px 14px #a897d214;filter:blur(.5px)}.login-scene-island:after{content:"";position:absolute;inset:8% 18% auto;height:22%;border-radius:50%;background:radial-gradient(ellipse,rgb(190 168 115 / 22%) 0%,transparent 70%);filter:blur(8px)}.login-scene-island--left{left:-6%;bottom:12%;width:36%;height:50%;opacity:.55;animation:loginIslandBob 16s var(--ease-in-out-smooth) infinite alternate}.login-scene-island--center{left:38%;bottom:-8%;width:28%;height:70%;opacity:.75;animation:loginIslandBob 19s var(--ease-in-out-smooth) -3s infinite alternate}.login-scene-island--right{right:-4%;bottom:18%;width:32%;height:44%;opacity:.5;animation:loginIslandBob 14s var(--ease-in-out-smooth) -1.5s infinite alternate}@keyframes loginIslandBob{0%{transform:translateZ(0)}to{transform:translate3d(0,-10px,0)}}.login-scene-fireflies{position:absolute;inset:0;pointer-events:none}.login-scene-firefly{position:absolute;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,rgb(255 240 200 / 95%) 0%,rgb(255 220 140 / 60%) 40%,transparent 70%);box-shadow:0 0 10px #ffe6a08c,0 0 20px #ffdc8c40;opacity:.65;will-change:transform,opacity;animation:loginFireflyDrift 18s var(--ease-in-out-smooth) infinite,loginFireflyPulse 7s ease-in-out infinite}.login-scene-firefly--1{left:12%;top:70%;animation-delay:0s,0s}.login-scene-firefly--2{left:24%;top:58%;animation-delay:-3s,-1.8s;animation-duration:21s,8s}.login-scene-firefly--3{left:38%;top:75%;animation-delay:-6s,-.9s;animation-duration:16s,6s}.login-scene-firefly--4{left:52%;top:50%;animation-delay:-9s,-3.6s;animation-duration:19s,8.4s}.login-scene-firefly--5{left:64%;top:68%;animation-delay:-2s,-2.6s;animation-duration:22s,7.2s}.login-scene-firefly--6{left:76%;top:60%;animation-delay:-7s,-1.5s;animation-duration:17s,8s}.login-scene-firefly--7{left:86%;top:78%;animation-delay:-11s,-4s;animation-duration:20s,6.8s}.login-scene-firefly--8{left:30%;top:40%;animation-delay:-4s,-2.9s;animation-duration:24s,9.2s}.login-scene-firefly--9{left:70%;top:42%;animation-delay:-8s,-5.1s;animation-duration:18s,7.6s}@keyframes loginFireflyDrift{0%{transform:translateZ(0)}25%{transform:translate3d(28px,-22px,0)}50%{transform:translate3d(-14px,-38px,0)}75%{transform:translate3d(22px,-18px,0)}to{transform:translateZ(0)}}@keyframes loginFireflyPulse{0%,to{opacity:.55}50%{opacity:.85}}.login-scene-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,rgb(8 10 22 / 35%) 75%,rgb(8 10 22 / 60%) 100%);pointer-events:none}.login-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:min(960px,92vw);padding:var(--space-5) var(--space-4);animation:loginStepIn .6s var(--ease-out-soft)}.login-hero-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.login-hero-title{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.4rem);font-weight:700;letter-spacing:.02em;line-height:1;background:linear-gradient(135deg,var(--color-primary-lavender) 0%,var(--color-primary-pale-blue) 50%,var(--color-primary-soft-gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px rgb(168 151 210 / 32%))}.login-hero-tagline{margin:0;font-family:var(--font-display);font-style:italic;font-size:clamp(1rem,1.8vw,1.25rem);color:var(--color-neutral-cloud, #d8def1);opacity:.85;letter-spacing:.01em;max-width:36ch}.login-hero-error{width:min(420px,90vw)}.login-hero-cards{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:var(--space-4);width:100%;max-width:820px}.login-hero-cards--single{grid-template-columns:1fr;max-width:440px;justify-items:center}.login-card-or{align-self:center;font-family:var(--font-display);font-style:italic;font-size:.95rem;letter-spacing:.18em;text-transform:lowercase;color:var(--color-primary-lavender);opacity:.6;padding:0 var(--space-2);position:relative}.login-card-or:before,.login-card-or:after{content:"";position:absolute;left:50%;width:1px;height:28px;background:linear-gradient(180deg,transparent,rgb(168 151 210 / 35%),transparent);transform:translate(-50%)}.login-card-or:before{top:-40px}.login-card-or:after{bottom:-40px}.login-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--glass-edge);background:linear-gradient(160deg,#363f5ac7,#242c46cc);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px #e8efff24,0 12px 32px #080a127f,0 0 0 1px #dae2ff14;text-align:center;overflow:hidden;transition:transform .24s var(--ease-out-soft),box-shadow .24s var(--ease-out-soft),border-color .24s var(--ease-out-soft)}.login-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at top,rgb(255 255 255 / 6%) 0%,transparent 50%)}.login-card:hover{transform:translateY(-3px);box-shadow:inset 0 1px #e8efff33,0 18px 40px #080a1299,0 0 32px var(--card-glow, rgb(168 151 210 / 28%))}.login-card--demo{--card-glow: rgb(141 169 123 / 32%);background:linear-gradient(160deg,#4a604eb3,#2e4038c2);border-color:#a8d2b252}.login-card--demo:hover{border-color:#bee2c87f}.login-card--signin{--card-glow: rgb(168 151 210 / 32%);background:linear-gradient(160deg,#463c66b8,#302c4ec7);border-color:#a897d252}.login-card--signin:hover{border-color:#c8b8e67f}.login-card-glyph{font-size:1.6rem;line-height:1;color:var(--color-primary-soft-gold);text-shadow:0 0 12px rgb(190 168 115 / 50%);animation:loginCardGlyphFloat 4s var(--ease-in-out-smooth) infinite alternate}.login-card--demo .login-card-glyph{color:#bee2c8;text-shadow:0 0 14px rgb(141 169 123 / 60%)}@keyframes loginCardGlyphFloat{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-3px) rotate(8deg)}}.login-card-title{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.login-card-body{margin:0;font-size:.92rem;line-height:1.5;color:var(--text-secondary);max-width:32ch}.login-card-body code{font-family:var(--font-mono);font-size:.86em;padding:1px 6px;border-radius:var(--radius-sm);background:#ffffff14;color:var(--color-primary-soft-gold)}.login-card-form{display:flex;flex-direction:column;gap:var(--space-2);width:100%;margin-top:var(--space-2)}.login-card-input{width:100%;padding:10px 14px;border-radius:var(--radius-md);font-size:.95rem;background:#1216227f;text-align:center}.login-card-cta{position:relative;width:100%;margin-top:auto;padding:12px 20px;border-radius:var(--radius-md);border:1px solid transparent;font-family:inherit;font-size:.98rem;font-weight:700;letter-spacing:.02em;color:var(--text-primary);cursor:pointer;overflow:hidden;transition:transform .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft),background .22s var(--ease-out-soft),border-color .22s var(--ease-out-soft)}.login-card-cta:hover{transform:translateY(-1px)}.login-card-cta:active{transform:scale(.97)}.login-card-cta:focus-visible{outline:none;box-shadow:0 0 0 2px #a897d299,0 0 0 6px #a897d22e}.login-card-cta--demo{background:linear-gradient(140deg,#8cc894bf,#649874cc);border-color:#bee2c899;box-shadow:inset 0 1px #e8f8e847,0 6px 18px #3858407a,0 0 26px #8da97b5c}.login-card-cta--demo:hover{background:linear-gradient(140deg,#a0dca8e0,#78ac84eb);border-color:#d2f0dacc;box-shadow:inset 0 1px #e8f8e857,0 8px 24px #3858408c,0 0 32px #8da97b7f}.login-card-cta--signin{background:linear-gradient(140deg,#8474b8bf,#605494d1);border-color:#beaee68c;box-shadow:inset 0 1px #e8e0f83d,0 6px 18px #3026507f}.login-card-cta--signin:hover{background:linear-gradient(140deg,#9888cce0,#7060a8eb);border-color:#d2c4f5bf;box-shadow:inset 0 1px #e8e0f852,0 8px 24px #30265099,0 0 28px #a897d261}.login-card-cta-sparkle{position:absolute;top:50%;left:50%;width:180%;height:220%;pointer-events:none;transform:translate(-50%,-50%) rotate(0);background:radial-gradient(2px 2px at 20% 30%,rgb(255 255 255 / 90%),transparent 50%),radial-gradient(1.5px 1.5px at 80% 60%,rgb(255 246 220 / 85%),transparent 50%),radial-gradient(2px 2px at 50% 80%,rgb(232 255 232 / 90%),transparent 50%),radial-gradient(1.5px 1.5px at 30% 90%,rgb(255 255 255 / 80%),transparent 50%),radial-gradient(2px 2px at 70% 20%,rgb(220 248 220 / 85%),transparent 50%);opacity:0;transition:opacity .25s var(--ease-out-soft)}.login-card-cta--demo:hover .login-card-cta-sparkle{opacity:1;animation:loginCtaSparkleSpin 4s linear infinite}@keyframes loginCtaSparkleSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.login-hero-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:.78rem;color:var(--color-primary-lavender);opacity:.5;letter-spacing:.06em}.login-hero-footer-sep{opacity:.5}@media(max-width:720px){.login-hero{gap:var(--space-4);padding:var(--space-4) var(--space-3)}.login-hero-cards{grid-template-columns:1fr;max-width:420px}.login-card-or:before{top:-22px;height:16px}.login-card-or:after{bottom:-22px;height:16px}.login-scene-island--left,.login-scene-island--right{display:none}}@media(max-width:480px){.login-hero-title{font-size:2.4rem}.login-scene-fireflies .login-scene-firefly:nth-child(n+5){display:none}}@media(prefers-reduced-motion:reduce){.login-scene-aurora,.login-scene-stars,.login-scene-island,.login-scene-firefly,.login-card-glyph,.login-hero-title,.login-card-cta--demo,.login-card-cta-sparkle,.login-scene-root{animation:none!important}.login-scene-firefly{opacity:.6}.login-card,.login-card-cta{transition:none}.login-card:hover{transform:none}}.login-art-root{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0e120c}.login-art-underlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) brightness(.62) saturate(1.05);transform:scale(1.06)}.login-art-stage{position:relative;container-type:size;border-radius:6px;box-shadow:0 18px 60px #0000008c}.login-art-stage-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:inherit}.login-art-stage--wide{width:min(100vw,150vh);aspect-ratio:1536 / 1024}.login-art-stage--book{width:min(100vw,133.3vh);aspect-ratio:1448 / 1086}.login-art-stage--tall{width:min(100vw,80vh);aspect-ratio:1122 / 1402}.login-art-stage--phone{width:min(100vw,56.28vh);aspect-ratio:941 / 1672}.login-art-form{display:contents}.login-art-input{position:absolute;inset:61.13% 52.21% 34.86% 30.27%;border:none;border-radius:.5em;padding:0 .85em;background:linear-gradient(180deg,#f2d9a2,#ecca8b 55%,#e2b878);box-shadow:inset 0 2px 7px #492f0c4d;font-family:var(--font-display);font-weight:600;font-size:2.6cqh;color:#45300f;caret-color:#6b4a16}.login-art-input::placeholder{color:#6a4e26bf;font-weight:500}.login-art-input:focus-visible{outline:2px solid rgb(214 168 76 / 95%);outline-offset:2px}.login-art-hotspot{position:absolute;border:none;background:transparent;cursor:pointer;border-radius:.9em;transition:backdrop-filter .12s ease}.login-art-hotspot:hover{-webkit-backdrop-filter:brightness(1.14) saturate(1.08);backdrop-filter:brightness(1.14) saturate(1.08)}.login-art-hotspot:active{-webkit-backdrop-filter:brightness(.92);backdrop-filter:brightness(.92)}.login-art-hotspot:focus-visible{outline:3px solid rgb(255 226 150 / 90%);outline-offset:3px}.login-art-submit{inset:68.95% 52.41% 24.61% 30.79%}.login-art-demo{inset:63.57% 12.04% 29.59% 75.98%}.login-art-error{position:absolute;top:55.5%;right:47.9%;left:29.95%;margin:0;padding:.3em .7em;text-align:center;font-family:var(--font-display);font-weight:700;font-size:2.2cqh;color:#7a1f1f;background:#f4e4bcf0;border:1px solid rgb(122 31 31 / 35%);border-radius:.5em;box-shadow:0 2px 8px #2818064d}.login-art-chip{position:absolute;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:3cqh;color:#45300f;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 .5em}.lpw-chip{inset:43.28% 32.87% 49.82% 48.34%}.lsp-chip{inset:47.66% 29.88% 46.97% 55.99%}.lcf-chip{inset:46.5% 37.15% 46.59% 44.89%;font-size:2.6cqh}.login-art-input--password.lpw-input{inset:56.35% 44.06% 35.17% 20.72%;background:linear-gradient(180deg,#f4ca94,#ecc08d 55%,#e6b785)}.login-art-input--password.lsp-input{inset:57.62% 45.64% 32.23% 20.7%;background:linear-gradient(180deg,#f0c898,#ebc194 55%,#e5ba8c)}.login-art-wand{border-radius:50%}.lpw-wand{inset:56.63% 38.88% 35.54% 56.28%}.lsp-wand{inset:57.81% 39.45% 31.64% 54.69%}.login-art-wand[aria-pressed=true]{-webkit-backdrop-filter:brightness(1.22) saturate(1.25);backdrop-filter:brightness(1.22) saturate(1.25)}.lpw-submit{inset:55.25% 20.03% 35.08% 64.36%}.lsp-submit{inset:57.81% 18.29% 32.42% 62.17%}.lcf-yes{inset:69.06% 53.87% 22.19% 25.69%}.lcf-no{inset:69.06% 25.41% 22.19% 53.59%}.login-art-error-chip{position:absolute;margin:0;padding:.3em .7em;text-align:center;font-family:var(--font-display);font-weight:700;font-size:2.2cqh;color:#7a1f1f;background:#f4e4bcf0;border:1px solid rgb(122 31 31 / 35%);border-radius:.5em;box-shadow:0 2px 8px #2818064d;height:fit-content}.lpw-error{inset:67.68% 19.89% auto 20.03%}.lsp-error{inset:70.8% 19.27% auto 19.53%}.lcf-error{inset:79.93% 24.03% auto 24.17%}.lrc-error{inset:14.27% 26.92% auto 26.74%}.lcl-error{inset:15.34% 26.92% auto 26.74%}.login-art-picker-list{position:absolute;width:auto;max-width:none;height:auto;max-height:none;margin:0;display:flex;flex-direction:column;gap:1.6cqh;padding:1.6cqh 2cqw;overflow-y:auto}.lpk-list{inset:46.5% 28.87% 30.02% 29.35%}.lpk-create{inset:76.89% 35.77% 17.4% 36.26%}.login-art-picker-list .character-picker-btn{background:#7a542624;background-image:none;border:1px solid rgb(122 84 38 / 38%);border-radius:.5em;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#45300f;font-family:var(--font-display-solid);font-weight:700;font-size:2.6cqh}.login-art-picker-list .character-picker-btn:hover{background:#7a542638;border-color:#7a542699}.login-art-picker-list .character-picker-btn-name{color:#45300f}.login-art-picker-list .character-picker-btn-arrow{color:#6a4e26bf}.login-art-picker-list .character-picker-remove{background:#7a54261a;border:1px solid rgb(122 84 38 / 32%);color:#6a4e26}.login-art-picker-list .character-picker-remove--confirm{background:#7a1f1f29;border-color:#7a1f1f7f;color:#7a1f1f}.login-art-cell{position:absolute;border:none;background:transparent;cursor:pointer;border-radius:8%;padding:0;overflow:hidden;transition:backdrop-filter .12s ease}.login-art-cell:hover{-webkit-backdrop-filter:brightness(1.1);backdrop-filter:brightness(1.1)}.login-art-cell:focus-visible{outline:3px solid rgb(255 226 150 / 90%);outline-offset:2px}.login-art-cell.selected{box-shadow:inset 0 0 0 3px #d6a84cf2,0 0 14px #ffd678a6}.login-art-cell-img{position:absolute;inset:4%;width:92%;height:92%;object-fit:cover;border-radius:7%}.login-art-cell-glyph{position:absolute;inset:0;display:grid;place-items:center;font-size:4cqh;color:#7a54268c}.login-art-cell-label{position:absolute;left:6%;right:6%;bottom:3%;font-family:var(--font-display);font-weight:700;font-size:1.7cqh;color:#f6e7c4;background:#3a260eb8;border-radius:.6em;padding:.1em .3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrc-c1{inset:22.68% 62.9% 64.76% 18.79%}.lrc-c2{inset:22.6% 40.51% 64.54% 40.6%}.lrc-c3{inset:22.67% 18.51% 64.61% 62.89%}.lrc-c4{inset:37.16% 63% 50.28% 18.98%}.lrc-c5{inset:37.08% 40.69% 50.13% 40.51%}.lrc-c6{inset:37.08% 18.59% 50.28% 62.62%}.lrc-c7{inset:51.64% 62.8% 35.88% 18.6%}.lrc-c8{inset:51.48% 40.6% 35.65% 40.42%}.lrc-c9{inset:51.49% 18.31% 35.8% 62.7%}.lrc-detail{inset:70.26% 19.34% 17.26% 20.94%}.lrc-choose{inset:88.45% 34.49% 6.21% 34.76%}.lcl-c1{inset:23.25% 52.3% 64.27% 20.57%}.lcl-c2{inset:23.26% 20.49% 64.34% 52.48%}.lcl-c3{inset:38.87% 52.3% 48.57% 20.57%}.lcl-c4{inset:38.8% 20.39% 48.57% 52.48%}.lcl-c5{inset:54.5% 52.3% 33.1% 20.57%}.lcl-c6{inset:54.5% 20.39% 33.1% 52.29%}.lcl-detail{inset:73.47% 19.79% 13.34% 20.94%}.lcl-choose{inset:92.01% 31.37% 2.64% 31.64%}.login-art-detail{position:absolute;overflow-y:auto;padding:1.4cqh 1.6cqw;font-family:var(--font-display);color:#45300f;text-align:center}.login-art-detail-name{margin:0 0 .5cqh;font-size:3cqh;font-weight:700}.login-art-detail-stats{margin:0 0 .8cqh;font-size:1.9cqh;font-style:italic;color:#6a4e26}.login-art-detail-desc{margin:0 0 .8cqh;font-size:1.9cqh;line-height:1.45}.login-art-detail-traits{margin:0;font-size:1.7cqh;font-weight:600;color:#6a4e26}.login-art-input-dark{position:absolute;border:none;border-radius:.4em;padding:0 .85em;background:linear-gradient(180deg,#1d1832,#171326);box-shadow:inset 0 2px 6px #00000073;font-family:var(--font-display);font-weight:600;font-size:2.8cqh;color:#e7ddf6;caret-color:#cbb8f0}.login-art-input-dark::placeholder{color:#a898d09e;font-weight:500}.login-art-input-dark:focus-visible{outline:2px solid rgb(178 150 235 / 90%);outline-offset:2px}.lcm-name{inset:44.84% 12.98% 49.36% 41.64%}.lcm-password{inset:60.41% 15.61% 33.79% 41.64%}.lcm-toggle{inset:60.96% 12.57% 34.35% 84.67%}.lcm-save{inset:71.55% 32.18% 19.98% 46.13%}.lcm-notnow{inset:71.55% 14.64% 19.98% 70.03%}.lcm-error{inset:82.41% 14.36% auto 42.13%}.login-art-error-chip--dark{color:#f3bcbc;background:#3a1c28eb;border-color:#dc787866}.login-art-stage--phone .login-art-input{inset:65.13% 56.32% 31.82% 18.6%;font-size:1.9cqh}.login-art-stage--phone .login-art-submit{inset:70.57% 55.9% 24.52% 17.53%}.login-art-stage--phone .login-art-demo{inset:70.57% 14.45% 24.52% 55.79%}.login-art-stage--phone .login-art-error{top:61.9%;right:61.21%;left:15.94%;font-size:1.5cqh}.login-art-stage--phone .login-art-chip{font-size:2.2cqh}.login-art-stage--phone .login-art-error-chip{font-size:1.5cqh}.login-art-stage--phone .lpw-chip{inset:47.85% 27.74% 44.08% 27.63%}.login-art-stage--phone .lpw-input{inset:60.11% 31.46% 36% 20.19%;font-size:2cqh}.login-art-stage--phone .lpw-wand{inset:60.29% 24.02% 36.12% 69.08%}.login-art-stage--phone .lpw-submit{inset:69.68% 23.49% 24.34% 23.91%}.login-art-stage--phone .lpw-error{inset:65.49% 23.49% auto 20.19%}.login-art-stage--phone .lsp-chip{inset:43.36% 32.2% 50.96% 32.41%}.login-art-stage--phone .lsp-input{inset:54.01% 31.46% 42.4% 20.19%;font-size:2cqh}.login-art-stage--phone .lsp-wand{inset:54.13% 24.02% 42.58% 69.08%}.login-art-stage--phone .lsp-submit{inset:62.5% 25.61% 30.32% 25.5%}.login-art-stage--phone .lsp-error{inset:58.91% 25.61% auto 20.19%}.login-art-stage--phone .lcf-chip{inset:41.57% 29.33% 52.45% 28.16%}.login-art-stage--phone .lcf-yes{inset:66.09% 29.86% 26.44% 29.76%}.login-art-stage--phone .lcf-no{inset:77.45% 30.39% 14.77% 29.76%}.login-art-stage--phone .lcf-error{inset:61.6% 29.33% auto 28.16%}.login-art-stage--phone .lpk-list{inset:39.77% 19.23% 30.62% 20.72%}.login-art-stage--phone .lpk-create{inset:78.95% 29.86% 16.27% 30.29%}.login-art-stage--phone .login-art-picker-list .character-picker-btn{font-size:2cqh}.login-art-stage--phone .login-art-input-dark{font-size:1.9cqh}.login-art-stage--phone .lcm-name{inset:66.87% 14.98% 29.31% 14.88%}.login-art-stage--phone .lcm-password{inset:74.76% 22.42% 20.93% 14.88%}.login-art-stage--phone .lcm-toggle{inset:75.06% 14.45% 21.05% 78.11%}.login-art-stage--phone .lcm-save{inset:84.03% 20.83% 11.18% 20.72%}.login-art-stage--phone .lcm-notnow{inset:90.01% 20.83% 5.5% 20.72%}.login-art-stage--phone .lcm-error{inset:80.14% 21.25% auto}.login-modal-backdrop--art{background:#12162273}.login-modal-backdrop--art:before{content:"";position:absolute;inset:-24px;z-index:-1;background:var(--login-art) center / cover no-repeat;filter:blur(14px) brightness(.55)}@media(prefers-reduced-motion:reduce){.login-art-hotspot,.login-art-cell{transition:none}}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:linear-gradient(135deg,#5e866e3d,#4a6e5e29);border-bottom:1px solid rgb(168 210 178 / 26%);color:var(--text-primary, rgb(232 224 246));font-size:13px;flex-wrap:wrap}.demo-banner-label{display:inline-flex;align-items:center;gap:8px;line-height:1.3}.demo-banner-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#a8d2b24d;color:#e8f8e8;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.demo-banner-button{padding:6px 14px;border-radius:6px;border:1px solid rgb(168 210 178 / 60%);background:linear-gradient(140deg,#7cb48499,#608e6c7f);color:#f8fcf8;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.demo-banner-button:hover{background:linear-gradient(140deg,#8cc894b8,#6c9c7899);border-color:#bee2c8cc}.demo-claim-modal{max-width:420px}.demo-claim-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.demo-claim-field{display:flex;flex-direction:column;gap:4px;text-align:left}.demo-claim-field-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, rgb(168 151 210 / 70%))}.login-modal--wide{width:min(860px,96vw);max-height:90vh;overflow-y:auto}.char-picker{align-items:center}.char-card-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}.char-card{position:relative;width:110px;aspect-ratio:3 / 4;border-radius:12px;border:2px solid var(--line-faint);background:#1e243899;overflow:hidden;cursor:pointer;padding:0;transition:border-color .15s,box-shadow .2s,transform .15s;flex:0 0 auto}@media(max-width:600px){.char-card{width:86px}.char-card-label{font-size:.72rem;padding:14px 2px 4px}}@media(max-width:380px){.char-card{width:72px}.char-card-label{font-size:.66rem;padding:12px 2px 3px}}.char-card:hover{border-color:#a897d27f;transform:translateY(-2px);box-shadow:0 6px 20px #080a1266}.char-card.selected{border-color:var(--color-primary-lavender);box-shadow:0 0 0 1px var(--color-primary-lavender),0 0 18px #a897d259,0 6px 20px #080a1266;transform:translateY(-2px)}.char-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.char-card-placeholder{position:absolute;inset:0;background:linear-gradient(160deg,#363f5acc,#283048b3)}.char-card-label{position:absolute;bottom:0;left:0;right:0;padding:18px 4px 6px;background:linear-gradient(to top,rgb(16 20 32 / 88%) 0%,transparent 100%);font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--text-primary);text-align:center;letter-spacing:.02em;line-height:1.2}.char-detail{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px;border-radius:12px;border:1px solid var(--line-soft);background:linear-gradient(160deg,#363f5acc,#283048b3);animation:char-detail-enter .2s ease-out}@keyframes char-detail-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.char-detail-name{margin:0;font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-primary-lavender);letter-spacing:.02em}.char-detail-stats{margin:0;font-size:.82rem;color:var(--color-primary-moss-green);font-weight:600;letter-spacing:.03em}.char-detail-desc{margin:0;font-size:.88rem;color:var(--text-primary);text-align:center;line-height:1.45}.char-detail-traits{width:100%;display:flex;flex-direction:column;gap:4px}.char-detail-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.char-detail-trait-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.char-detail-trait{font-size:.82rem;line-height:1.35}.char-detail-trait-name{color:var(--color-primary-soft-gold);font-weight:600}.char-detail-trait-detail{color:var(--text-secondary);margin-left:2px}.char-detail-trait-detail:before{content:" — ";color:var(--text-tertiary)}.char-detail-backstory{margin:0;font-size:.8rem;color:var(--text-secondary);text-align:center;line-height:1.45;font-style:italic}.char-picker-select{align-self:center;padding:10px 32px;font-size:.95rem}@media(prefers-reduced-motion:reduce){@keyframes char-detail-enter{0%{opacity:1;transform:none}to{opacity:1;transform:none}}}.video-modal-overlay{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-modal-overlay.video-fade-in{animation:videoFadeIn .6s ease-out forwards}.video-modal-overlay.video-fade-out{animation:videoFadeOut .6s ease-in forwards}@keyframes videoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes videoFadeOut{0%{opacity:1}to{opacity:0}}.video-modal{position:relative;width:min(800px,92vw);border-radius:var(--radius-lg);border:1px solid var(--glass-edge);background:#121622f5;box-shadow:0 8px 32px #0009;padding:8px}.video-modal-close{position:absolute;top:-12px;right:-12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--glass-edge);background:#2a1040e5;color:var(--color-accent-violet);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.video-modal-close:hover{background:#3e1a54e5}.video-modal-close:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.video-modal-player{width:100%;border-radius:8px;outline:none}.entity-detail-overlay{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:videoFadeIn .25s ease-out forwards;padding:24px}.entity-detail-card{position:relative;width:min(520px,96vw);max-height:88vh;overflow-y:auto;border-radius:var(--radius-lg);border:1px solid var(--glass-edge);background:#121622f5;box-shadow:0 8px 32px #0009;padding:32px 28px 24px;text-align:center;color:var(--color-text-primary, #d8dcef)}.entity-detail-close{position:absolute;top:-14px;right:-14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--glass-edge);background:#2a1040eb;color:var(--color-accent-violet, #b9aed8);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.entity-detail-close:hover{background:#3e1a54eb}.entity-detail-portrait-btn{display:inline-block;padding:0;margin:0 auto 14px;background:transparent;border:none;cursor:zoom-in;border-radius:10px}.entity-detail-portrait{display:block;width:220px;height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--glass-edge);box-shadow:0 4px 16px #0006;transition:transform .2s ease,box-shadow .2s ease}.entity-detail-portrait-btn:hover .entity-detail-portrait,.entity-detail-portrait-btn:focus-visible .entity-detail-portrait{transform:scale(1.03);box-shadow:0 6px 20px #0000008c}.entity-detail-name{margin:0 0 12px;font-size:1.25rem;font-weight:700;letter-spacing:.02em;color:var(--color-text-primary, #d8dcef)}.entity-detail-description{margin:0;font-size:.95rem;line-height:1.55;color:var(--color-text-secondary, #c0c5dc);white-space:pre-wrap;text-align:left}.image-preview-overlay{position:fixed;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;background:#000000e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:videoFadeIn .25s ease-out forwards;padding:24px;cursor:zoom-out}.image-preview-img{max-width:96vw;max-height:92vh;border-radius:8px;box-shadow:0 12px 48px #000000b3;cursor:default}.image-preview-close{position:absolute;top:24px;right:24px;width:38px;height:38px;border-radius:50%;border:1px solid var(--glass-edge);background:#2a1040eb;color:var(--color-accent-violet, #b9aed8);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview-close:hover{background:#3e1a54eb}.cmd-palette-backdrop{position:fixed;inset:0;z-index:210;display:flex;align-items:flex-start;justify-content:center;padding-top:min(18vh,140px);background:#121622a3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:backdropFadeIn .18s var(--ease-out-soft)}.cmd-palette{width:min(520px,92vw);max-height:min(68vh,520px);border-radius:var(--radius-lg);border:1px solid var(--glass-edge);background:linear-gradient(160deg,#363f5af7,#2b354ff2),linear-gradient(0deg,#0c0e184d,#0c0e184d);box-shadow:inset 0 1px #e8efff24,0 12px 44px #080a128c,0 0 0 1px #dae2ff14;display:flex;flex-direction:column;overflow:hidden;animation:dialogSlideIn .22s var(--ease-out-soft)}.cmd-palette-header{padding:12px 14px 0}.cmd-palette-search-row{display:flex;align-items:center;gap:8px;background:var(--surface-input);border:1px solid var(--line-faint);border-radius:var(--radius-md);padding:0 12px;height:42px;transition:border-color .17s var(--ease-out-soft)}.cmd-palette-search-row:focus-within{border-color:#a897d27f}.cmd-palette-search-icon{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.cmd-palette-input{flex:1;background:none;border:none;outline:none;font-family:var(--font-body);font-size:.92rem;color:var(--text-primary)}.cmd-palette-input::placeholder{color:var(--text-placeholder)}.cmd-palette-kbd{font-family:var(--font-mono);font-size:.7rem;padding:2px 6px;border-radius:4px;background:#3e4a6cb3;border:1px solid var(--line-faint);color:var(--text-secondary);line-height:1;flex-shrink:0}.cmd-palette-list{flex:1;overflow-y:auto;padding:8px 6px}.cmd-palette-empty{text-align:center;padding:24px 16px;color:var(--text-tertiary);font-size:.88rem}.cmd-palette-group{margin-bottom:4px}.cmd-palette-group-label{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary-lavender);padding:6px 10px 3px;opacity:.85}.cmd-palette-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-primary);font-family:var(--font-body);font-size:.86rem;cursor:pointer;text-align:left;transition:background .12s var(--ease-out-soft),transform .12s var(--ease-out-soft)}.cmd-palette-item:hover,.cmd-palette-item-selected{background:#505f867f}.cmd-palette-item-selected{background:linear-gradient(140deg,#505f86a3,#44567c8f)}.cmd-palette-item-usage{font-family:var(--font-mono);font-size:.82rem;color:var(--text-bright);white-space:nowrap;min-width:0;flex-shrink:0}.cmd-palette-item-desc{color:var(--text-secondary);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.cmd-palette-item-badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:#bea8734d;border:1px solid rgb(190 168 115 / 40%);color:var(--color-primary-soft-gold);flex-shrink:0}.cmd-palette-item-staff .cmd-palette-item-usage{color:var(--color-primary-soft-gold)}.cmd-palette-footer{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--line-faint)}.cmd-palette-hint{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-tertiary)}.cmd-palette-kbd-sm{font-family:var(--font-mono);font-size:.64rem;padding:1px 4px;border-radius:3px;background:#3e4a6c99;border:1px solid var(--line-faint);color:var(--text-secondary);line-height:1}.housing-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}.housing-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center}.housing-empty-icon{font-size:2.5rem;opacity:.6}.housing-hint{font-size:.78rem;color:var(--text-muted)}.housing-hint code{padding:1px 5px;border-radius:3px;background:var(--bg-surface);font-size:.76rem}.housing-owner-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-2)}.housing-owner-name{font-size:.92rem;font-weight:700;color:var(--text-bright)}.housing-room-count{font-size:.76rem;color:var(--text-muted)}.housing-actions{display:flex;gap:var(--space-2);padding:0 var(--space-2)}.housing-action-btn{padding:5px 12px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.housing-action-btn:hover{border-color:var(--line-subtle);color:var(--text-primary)}.housing-save-btn{background:var(--bg-surface-hover);border-color:var(--line-subtle);color:var(--text-bright)}.housing-visiting-banner{margin:0 var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--color-accent-moonlit-silver-muted);color:var(--color-accent-moonlit-silver);font-size:.82rem;font-weight:600}.housing-room-list{list-style:none;margin:0;padding:0 var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.housing-room-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--line-faint);transition:border-color .15s var(--ease-out-soft)}.housing-room-item:hover{border-color:var(--line-subtle)}.housing-room-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.housing-room-title{font-size:.85rem;font-weight:700;color:var(--text-bright)}.housing-room-template{font-size:.7rem;color:var(--text-muted);opacity:.7}.housing-room-desc{margin:4px 0 0;font-size:.78rem;color:var(--text-secondary);line-height:1.45}.housing-templates-section{padding:var(--space-2) 0;border-top:1px solid var(--line-faint)}.housing-template-cost{font-size:.78rem;font-weight:700;color:var(--color-accent-soft-gold, var(--text-bright));white-space:nowrap}.housing-template-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:4px}.housing-template-badge{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--line-subtle);color:var(--text-muted)}.housing-template-badge-entry{color:var(--color-accent-lavender, var(--text-secondary));border-color:var(--color-accent-lavender, var(--line-subtle))}.housing-customize-section{padding:var(--space-2);border-top:1px solid var(--line-faint)}.housing-section-label{font-size:.76rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.housing-edit-buttons{display:flex;gap:var(--space-2)}.housing-edit-form{display:flex;flex-direction:column;gap:var(--space-2)}.housing-edit-label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.housing-edit-input,.housing-edit-textarea{width:100%;padding:6px 10px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;outline:none;transition:border-color .15s var(--ease-out-soft)}.housing-edit-input:focus,.housing-edit-textarea:focus{border-color:var(--color-primary-lavender)}.housing-edit-textarea{resize:vertical;min-height:60px}.housing-edit-actions{display:flex;gap:var(--space-2)}.housing-vault-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;background:var(--bg-surface-hover);color:var(--color-accent-lavender);font-size:.72rem;font-weight:600}.trade-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;background:linear-gradient(160deg,var(--surface-panel-a),var(--surface-panel-b));border:1px solid var(--glass-edge);border-radius:var(--radius-lg, 16px);padding:22px 24px;width:min(880px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;box-shadow:inset 0 1px 0 var(--glass-edge),var(--shadow-lg),var(--shadow-glow);animation:dialogSlideIn .25s var(--ease-out-soft)}.trade-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.trade-title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--text-heading)}.trade-cancel-btn{padding:7px 14px;border:1px solid rgb(200 80 80 / 30%);border-radius:6px;background:#c8505024;color:var(--color-error);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.trade-cancel-btn:hover{background:#c8505040;transform:translateY(-1px)}.trade-columns{display:grid;grid-template-columns:minmax(0,1.35fr) 1px minmax(0,1fr);gap:0;align-items:start;margin-bottom:18px}.trade-column{display:flex;flex-direction:column;gap:10px}.trade-column-manage{padding-right:14px}.trade-column-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.trade-column-label{margin:0;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.trade-divider{width:1px;background:var(--line-soft);margin:0 12px}.trade-items{display:flex;flex-direction:column;gap:8px;min-height:88px;padding:10px;border-radius:12px;background:#0000002e;border:1px solid rgb(255 255 255 / 5%)}.trade-item{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.84rem;color:var(--text-primary);padding:7px 10px;border-radius:10px;background:#ffffff08}.trade-item-owned{border:1px solid rgb(255 255 255 / 5%)}.trade-gold{color:var(--color-soft-gold, #d4b86a);font-weight:600}.trade-empty{color:var(--text-tertiary);font-style:italic;justify-content:center;text-align:center}.trade-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgb(255 255 255 / 7%);background:#ffffff0d;font-size:.74rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.trade-accepted{color:var(--color-heal, #8abf8a);border-color:#62be844d;background:#62be841f}.trade-offer-controls{display:flex;flex-direction:column;gap:14px}.trade-gold-editor,.trade-inventory-picker{padding:12px;border-radius:12px;border:1px solid rgb(255 255 255 / 6%);background:#ffffff0a}.trade-field-label,.trade-picker-title{display:block;margin:0 0 8px;color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.trade-picker-count,.trade-available-gold{color:var(--text-tertiary);font-size:.73rem}.trade-gold-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.trade-gold-input{flex:1 1 180px;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid rgb(255 255 255 / 7%);background:#00000047;color:var(--text-primary);font:inherit}.trade-gold-input:focus{outline:none;border-color:var(--color-primary-lavender);box-shadow:0 0 0 1px #beb0ff47}.trade-secondary-btn,.trade-item-remove{padding:8px 12px;border-radius:9px;border:1px solid rgb(255 255 255 / 9%);background:#ffffff12;color:var(--text-primary);font-size:.79rem;font-weight:600;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.trade-secondary-btn:hover,.trade-item-remove:hover{transform:translateY(-1px);border-color:var(--color-primary-lavender);background:#beb0ff21}.trade-item-remove{color:var(--text-secondary);white-space:nowrap}.trade-picker-empty{margin:0;color:var(--text-tertiary);font-size:.8rem}.trade-picker-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.trade-picker-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgb(255 255 255 / 7%);background:#0000002e;color:var(--text-primary);text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.trade-picker-item:hover{transform:translateY(-1px);border-color:var(--color-primary-lavender);background:#beb0ff1f}.trade-picker-name{font-size:.82rem}.trade-picker-meta{color:var(--text-tertiary);font-size:.72rem;text-transform:uppercase}.trade-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:0}.trade-action-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.trade-reset-note,.trade-local-message{margin:0;font-size:.77rem;line-height:1.45}.trade-reset-note{color:var(--text-tertiary)}.trade-local-message{color:var(--text-secondary)}.trade-action-buttons{display:flex;align-items:center;gap:10px}.trade-accept-btn{padding:10px 20px;border:1px solid var(--line-soft);border-radius:10px;background:linear-gradient(140deg,#5848847f,#483e7070);color:var(--text-primary);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.trade-accept-btn:hover:not(:disabled){background:linear-gradient(140deg,#6c589899,#58488485);border-color:var(--color-primary-lavender);transform:translateY(-1px)}.trade-accept-btn:disabled{opacity:.5;cursor:default}@media(max-width:900px){.trade-panel{padding:18px}.trade-columns{grid-template-columns:1fr;gap:14px}.trade-column-manage{padding-right:0}.trade-divider{display:none}.trade-actions{flex-direction:column;align-items:stretch}.trade-action-buttons{justify-content:stretch}.trade-action-buttons>*{flex:1 1 0}}.leaderboard-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.leaderboard-empty{padding:var(--space-4);color:var(--text-muted);font-size:.85rem;text-align:center}.leaderboard-empty p{margin:0 0 var(--space-2)}.leaderboard-content{flex:1;overflow-y:auto;padding:0 var(--space-2) var(--space-2)}.leaderboard-cat-buttons{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) 0 var(--space-3)}.leaderboard-cat-btn{padding:4px 10px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:#ffffff0d;color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.leaderboard-cat-btn:hover{background:var(--primary-glass);color:var(--text-primary);border-color:var(--primary-dim)}.leaderboard-category{margin-bottom:var(--space-4)}.leaderboard-cat-header{font-size:.78rem;font-weight:600;color:var(--accent-gold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) 0;border-bottom:1px solid var(--line-faint);margin-bottom:var(--space-2)}.leaderboard-empty-note{margin:0;padding:var(--space-2) 0;font-size:.85rem;color:var(--text-muted);font-style:italic}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-row{transition:background .1s}.leaderboard-row:hover{background:#ffffff08}.leaderboard-rank{width:2rem;color:var(--text-muted);font-size:.78rem;padding:3px 0}.leaderboard-name{color:var(--text-primary);font-size:.85rem;padding:3px var(--space-2)}.leaderboard-score{text-align:right;color:var(--accent-gold);font-size:.82rem;font-variant-numeric:tabular-nums;padding:3px 0}.bank-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);height:100%;overflow-y:auto}.drawer-sheet.drawer-sheet-vault{background-image:var(--skin-bg, none),linear-gradient(180deg,#2b354ffa,#222940fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-vault .drawer-title{text-shadow:0 1px 2px rgb(0 0 0 / 72%),0 1px 12px rgb(0 0 0 / 55%)}.drawer-sheet-vault .drawer-header{border-bottom:none}.drawer-sheet-vault .drawer-body{padding:0}.bank-panel.bank-vault{padding:clamp(14px,3vw,24px)}.bank-vault .bank-gold-section{background:linear-gradient(135deg,#14121ca3,#0c0d1694);border-color:#d4b26e57;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bank-vault .bank-gold-heading{display:flex;align-items:center;gap:10px}.bank-emblem{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 6px rgb(226 198 134 / 45%))}.bank-vault .bank-gold-value{text-shadow:0 1px 8px rgb(0 0 0 / 55%)}.bank-vault .bank-item-row{background:#0c0d1685;border-color:#ffffff1a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:bank-drawer-slide .34s var(--ease-out-soft) both}.bank-vault .bank-item-row:hover{background:#161824a3}.bank-empty-emblem{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 0 10px rgb(226 198 134 / 40%))}.bank-gold-value.is-glint{animation:bank-coin-glint .9s ease-out}@keyframes bank-coin-glint{0%{transform:scale(1);text-shadow:0 1px 8px rgb(0 0 0 / 55%)}35%{transform:scale(1.12);color:#ffe6a3;text-shadow:0 0 12px rgb(255 214 120 / 90%),0 0 24px rgb(255 190 90 / 60%)}to{transform:scale(1);text-shadow:0 1px 8px rgb(0 0 0 / 55%)}}@keyframes bank-drawer-slide{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.bank-gold-value.is-glint,.bank-vault .bank-item-row{animation:none}}.inn-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:#080a128c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:mm-fade .16s var(--ease-out-soft)}.inn-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(380px,92vw);padding:26px 28px 30px;border-radius:18px;text-align:center;color:#f2e6cc;border:1px solid rgb(132 94 48 / 55%);background:radial-gradient(120% 80% at 50% 0%,rgb(96 70 38 / 45%),transparent 65%),linear-gradient(170deg,#3a2c1a,#261b10);box-shadow:0 22px 48px #0000008c,inset 0 1px #d8ba7a2e;animation:mm-pop .2s var(--ease-out-soft)}.inn-card-skinned{background-image:var(--inn-bg),linear-gradient(170deg,#3a2c1a,#261b10);background-size:cover;background-position:center}.inn-title{margin:0;font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:#f4e9cb}.inn-hook-area{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 0 2px}.inn-hook{width:10px;height:15px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#d4af5a,#8a6a2e);box-shadow:0 1px 2px #00000073;z-index:1}.inn-key{margin-top:-7px;border:none;background:none;padding:4px;cursor:pointer;color:#e6c46a;transform:rotate(-4deg);transform-origin:50% 8px;filter:drop-shadow(0 3px 5px rgb(0 0 0 / 45%));transition:transform .2s var(--ease-out-soft),filter .2s var(--ease-out-soft)}.inn-key:hover{transform:rotate(0) translateY(-2px);filter:drop-shadow(0 0 11px rgb(230 196 106 / 65%))}.inn-key-held{transform:translateY(-4px) rotate(3deg);filter:drop-shadow(0 0 12px rgb(230 196 106 / 75%))}.inn-key-svg{width:54px;height:auto;display:block}.inn-key-img{width:72px;height:auto;display:block}.inn-sub{margin:0;font-size:.92rem;line-height:1.5;color:#d8c39a;max-width:30ch}.inn-recall{display:flex;flex-direction:column;gap:3px;padding:10px 20px;border-radius:12px;background:#140c0461;border:1px solid rgb(132 94 48 / 42%)}.inn-recall-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8a24a}.inn-recall-value{font-family:var(--font-display);font-size:1rem;font-weight:600;color:#f2e6cc}.inn-confirm{display:flex;flex-direction:column;align-items:center;gap:11px}.inn-confirm-text{margin:0;font-size:.95rem;line-height:1.5;color:#ece0c4;max-width:30ch}.inn-confirm-btn{padding:11px 28px;border-radius:12px;border:1px solid #c8a24a;background:linear-gradient(180deg,#6a4e28,#4c3617);color:#f6e8c2;font-family:var(--font-display);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 3px 10px #0006,inset 0 1px #d8ba7a40;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.inn-confirm-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.inn-hint{margin:0;font-size:.74rem;font-style:italic;color:#d8c39ab3}@media(prefers-reduced-motion:reduce){.inn-backdrop,.inn-card{animation:none}}.inn-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);height:100%;overflow-y:auto}.inn-panel .panel-header{display:flex;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.inn-panel .panel-title{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.inn-panel-content{display:flex;flex-direction:column;gap:var(--space-4)}.inn-panel-intro{font-size:.95rem;line-height:1.55;color:var(--text-secondary)}.inn-panel-recall{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:8px;background:#ffffff08}.inn-panel-recall-label{font-size:.78rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.inn-panel-recall-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.inn-panel-actions{display:flex;flex-direction:column;gap:var(--space-2)}.inn-panel-primary,.inn-panel-secondary{padding:var(--space-3) var(--space-4);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.inn-panel-primary{border:1px solid var(--accent-warm, #c9a84c);background:linear-gradient(180deg,#c9a84c2e,#c9a84c14);color:var(--text-primary)}.inn-panel-primary:hover{background:linear-gradient(180deg,#c9a84c47,#c9a84c24)}.inn-panel-primary:active{transform:translateY(1px)}.inn-panel-secondary{border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary)}.inn-panel-secondary:hover{background:#ffffff0d;color:var(--text-primary)}.bank-panel .panel-header{display:flex;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.bank-panel .panel-title{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.bank-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center}.bank-empty-icon{font-size:2.4rem;opacity:.5}.bank-hint{font-size:.82rem;color:var(--text-tertiary);line-height:1.5}.bank-hint code{font-size:.78rem;padding:2px 6px;border-radius:4px;background:#ffffff14;color:var(--text-secondary)}.bank-content{display:flex;flex-direction:column;gap:var(--space-3)}.bank-gold-section{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#bea8731f,#bea8730f);border:1px solid rgb(190 168 115 / 22%)}.bank-gold-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.bank-gold-value{font-size:1.2rem;font-weight:800;color:var(--color-primary-soft-gold)}.bank-gold-actions{display:flex;align-items:center;gap:var(--space-2)}.bank-gold-input{flex:1;min-width:80px;padding:7px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff0a;color:var(--text-primary);font-size:.88rem;font-family:inherit;transition:border-color .15s}.bank-gold-input:focus{outline:none;border-color:var(--color-primary-soft-gold);box-shadow:0 0 0 2px #bea8732e}.bank-gold-input::placeholder{color:var(--text-disabled)}.bank-gold-input::-webkit-inner-spin-button,.bank-gold-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bank-gold-input[type=number]{-moz-appearance:textfield}.bank-action-btn{padding:7px 14px;border-radius:var(--radius-md);font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid rgb(190 168 115 / 30%);background:linear-gradient(135deg,#bea8737f,#aa945f70);color:#fff;transition:background .15s,opacity .15s;white-space:nowrap}.bank-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#c8b27da3,#b49e6994)}.bank-action-btn:active:not(:disabled){transform:translateY(1px)}.bank-action-btn:disabled{opacity:.45;cursor:not-allowed}.bank-capacity-section{display:flex;flex-direction:column;gap:6px}.bank-capacity-header{display:flex;align-items:center;justify-content:space-between}.bank-capacity-label{font-size:.88rem;font-weight:600;color:var(--text-primary)}.bank-capacity-count{font-size:.82rem;color:var(--text-secondary);font-weight:600}.bank-capacity-bar-track{height:8px;border-radius:99px;background:#ffffff0f;overflow:hidden}.bank-capacity-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#8ea97bcc,#71965ce5);transition:width .3s var(--ease-in-out-smooth);box-shadow:0 0 6px #8ea97b66}.bank-capacity-bar-fill.bank-capacity-full{background:linear-gradient(90deg,#d4888acc,#c06a6ce5);box-shadow:0 0 8px #d4888a7f}.bank-item-actions{display:flex;align-items:center;gap:var(--space-2)}.bank-item-input{flex:1;min-width:80px;padding:7px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#ffffff0a;color:var(--text-primary);font-size:.88rem;font-family:inherit;transition:border-color .15s}.bank-item-input:focus{outline:none;border-color:var(--color-primary-soft-gold);box-shadow:0 0 0 2px #bea8732e}.bank-item-input::placeholder{color:var(--text-disabled)}.bank-items-empty{text-align:center;padding:var(--space-4);color:var(--text-tertiary);font-size:.85rem;font-style:italic}.bank-item-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0;max-height:40vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(90 82 120 / 70%) transparent}.bank-item-list::-webkit-scrollbar{width:8px}.bank-item-list::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#5a5278b3,#465a6ea6)}.bank-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:8px 12px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-subtle);transition:background .12s,border-color .12s}.bank-item-row:hover{background:#ffffff0f;border-color:var(--line-soft)}.bank-item-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.bank-item-image{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;border:1px solid var(--line-faint)}.bank-item-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-withdraw-btn{flex-shrink:0;padding:5px 12px;border-radius:var(--radius-md);font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid rgb(142 169 123 / 30%);background:linear-gradient(135deg,#8ea97b99,#71965c8a);color:#fff;transition:background .15s}.bank-withdraw-btn:hover{background:linear-gradient(135deg,#98b385b8,#7ba066ad)}.stylist-panel{display:flex;flex-direction:column;gap:var(--space-3)}.stylist-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center}.stylist-empty-icon{font-size:2.4rem;opacity:.55}.stylist-hint{font-size:.82rem;color:var(--text-tertiary);line-height:1.5}.stylist-hint code{font-size:.78rem;padding:2px 6px;border-radius:4px;background:#ffffff14;color:var(--text-secondary)}.stylist-wallet{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#bea8731f,#bea8730f);border:1px solid rgb(190 168 115 / 22%)}.stylist-gold-icon{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--color-gold-bright),var(--color-primary-soft-gold));box-shadow:0 0 6px #bea87366;flex-shrink:0}.stylist-gold-amount{font-size:1.1rem;font-weight:800;color:var(--color-primary-soft-gold)}.stylist-gold-label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.stylist-fee-tag{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--text-tertiary);padding:2px 8px;border-radius:var(--radius-sm);background:#b092d024;border:1px solid rgb(176 146 208 / 22%);white-space:nowrap}.stylist-race-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:50vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(90 82 120 / 70%) transparent}.stylist-race-list::-webkit-scrollbar{width:8px}.stylist-race-list::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#5a5278b3,#465a6ea6)}.stylist-race-card{display:flex;flex-direction:column;padding:10px 12px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid var(--line-faint);transition:background .15s,border-color .15s}.stylist-race-card:hover{background:#ffffff12;border-color:var(--line-soft)}.stylist-race-card-current{border-color:#b092d066;background:#b092d014}.stylist-race-card-unaffordable{opacity:.6}.stylist-race-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.stylist-race-card-info{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.stylist-race-thumb{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;border:1px solid var(--line-faint)}.stylist-race-card-text{display:flex;flex-direction:column;gap:3px;min-width:0}.stylist-race-name{font-size:.92rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}.stylist-badge-current{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#c8b0e8;background:#b092d02e;border:1px solid rgb(176 146 208 / 30%);border-radius:var(--radius-sm);padding:1px 6px}.stylist-race-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stylist-race-mods{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.stylist-mod-chip{font-size:.7rem;font-weight:700;font-family:var(--font-mono);padding:1px 5px;border-radius:3px;white-space:nowrap}.stylist-mod-pos{color:#a0d28c;background:#8ea97b29}.stylist-mod-neg{color:#dc8c8c;background:#c8787824}.stylist-race-card-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.stylist-race-price{font-size:.88rem;font-weight:700;color:var(--color-primary-soft-gold);white-space:nowrap}.stylist-race-price-cant{color:var(--text-disabled)}.soft-button.stylist-change-btn{padding:4px 14px;font-size:.78rem}.soft-button.stylist-change-btn:not(:disabled){background:linear-gradient(135deg,#b092d0b3,#9176b4a8);border-color:#b092d05c}.soft-button.stylist-change-btn:not(:disabled):hover{background:linear-gradient(135deg,#c0a2e0c7,#a58ac8bd)}body:has(.game-shell){overflow:hidden;background:#141828}html:has(.game-shell),#root:has(.game-shell){height:100%;overflow:hidden}.game-shell{position:fixed;inset:0;display:flex;flex-direction:column;background:#141828;color:var(--text-primary);font-family:var(--font-body);overflow:hidden;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.game-canvas-layer{position:relative;flex:1 1 auto;min-height:0;z-index:0;--vbar-w: clamp(300px, 38vw, 480px)}.game-canvas-layer canvas{width:100%!important;height:100%!important;display:block}.staff-fab{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:calc(env(safe-area-inset-left,0px) + 12px);z-index:12;display:flex;flex-direction:column;gap:6px}.staff-fab-btn{appearance:none;border:1px solid rgb(212 184 92 / 50%);background:linear-gradient(135deg,#605132eb,#4c4024e0);color:var(--color-gold-bright);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 12px #080a1266;transition:transform .12s var(--ease-out-soft),box-shadow .15s}.staff-fab-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d4b85c47}.staff-fab-btn:active{transform:scale(.96)}.staff-fab-invis{font-size:1rem;padding:4px 10px;letter-spacing:0}.staff-fab-invis-active{background:linear-gradient(135deg,#a882c6cc,#8c6ea8c2);border-color:#d8c5e899;color:var(--text-bright)}.game-target-hud{position:absolute;top:calc(env(safe-area-inset-top,0) + 12px);left:50%;transform:translate(-50%);z-index:11;background:linear-gradient(180deg,#501e28e5,#3c1620d6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgb(232 160 160 / 50%);border-radius:var(--radius-md);padding:6px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 14px #080a1266;pointer-events:none;min-width:140px}.game-target-name{font-size:.85rem;font-weight:600;color:var(--text-bright);text-shadow:0 1px 4px rgb(0 0 0 / 60%)}.game-target-hp-track{width:100%;height:5px;background:#0000007f;border-radius:3px;overflow:hidden}.game-target-hp-fill{display:block;height:100%;background:linear-gradient(90deg,#d4888a,#e8a0a0);transition:width .25s var(--ease-out-soft)}.game-shell .combat-log-wrap{position:absolute;inset:84px auto auto 50%;transform:translate(-50%);z-index:9;width:max-content;max-width:min(560px,calc(100vw - 220px));pointer-events:none}.game-shell .combat-log-wrap .combat-log{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.game-shell .combat-log-wrap .combat-log-msg{background:#0a0c169e;padding:4px 12px;border-radius:var(--radius-md);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.canvas-vitals-hud{position:absolute;top:12px;left:12px;z-index:9;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:8px 14px;background-image:var(--vitals-bg, none),linear-gradient(160deg,#342618d1,#22180fe0);background-size:100% 100%,auto;background-repeat:no-repeat,no-repeat;background-position:center;border:1px solid rgb(122 92 54 / 55%);border-radius:14px 14px 16px 16px/16px 16px 14px 14px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 18px #080a1273,inset 0 1px #fff0d21a}.canvas-vitals-hud .vbar-vital{flex:0 0 auto;width:clamp(120px,18vw,220px)}.vitals-sprig{position:absolute;top:-26px;left:-2px;width:34px;height:38px;pointer-events:none;transform:rotate(-6deg);filter:drop-shadow(0 2px 3px rgb(0 0 0 / 35%))}.canvas-room-sign{position:absolute;top:58px;left:24px;z-index:9;padding-top:15px;max-width:min(48vw,440px);filter:drop-shadow(0 7px 10px rgb(8 10 18 / 45%))}.sign-chain{position:absolute;top:0;width:10px;height:16px;transform-origin:top center}.sign-chain-left{left:22px;transform:rotate(10deg)}.sign-chain-right{right:22px;transform:rotate(-10deg)}.sign-plank{position:relative;display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:9px;transform:rotate(-1.1deg);background-image:var(--sign-bg, none),repeating-linear-gradient(91deg,#0000000f 0 5px,#ffffff08 5px 11px),linear-gradient(180deg,#7c5733,#674428);background-size:100% 100%,auto,auto;background-repeat:no-repeat,repeat,no-repeat;background-position:center;border:2px solid #3f2914;box-shadow:inset 0 1px #ffebc824,inset 0 -4px 7px #00000061}.sign-mushroom{position:absolute;bottom:-6px;width:18px;height:16px;pointer-events:none;filter:drop-shadow(0 1px 1px rgb(0 0 0 / 35%))}.sign-mushroom-left{left:-4px;transform:rotate(-8deg)}.sign-mushroom-right{right:-4px;transform:rotate(8deg)}.sign-plank:before,.sign-plank:after{content:"";position:absolute;top:6px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#2a1a0c,#100904)}.sign-plank:before{left:11px}.sign-plank:after{right:11px}.sign-title{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1.12;color:#f4e7c8;text-shadow:0 1px 1px rgb(0 0 0 / 55%),0 0 2px rgb(0 0 0 / 35%);letter-spacing:.01em}.sign-expand{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:1px solid #3f2914;border-radius:50%;background:radial-gradient(circle at 38% 32%,#8a6638,#5a3c20);color:#f4e7c8;cursor:pointer;transition:filter .15s var(--ease-out-soft)}.sign-expand:hover{filter:brightness(1.2)}.canvas-room-title-icon{width:13px;height:13px}.canvas-vitals-skin{position:absolute;top:6px;left:12px;z-index:9;width:var(--vbar-w);aspect-ratio:1258 / 294;pointer-events:none;filter:drop-shadow(0 6px 14px rgb(8 10 18 / 45%))}.vskin-art{position:absolute;width:101.75%;left:-.79%;top:-87.07%;height:auto;pointer-events:none}.vskin-overlay{position:absolute;inset:0}.vskin-slot{position:absolute;border-radius:999px;overflow:hidden}.vskin-slot-hp{left:13.4%;width:28.3%;top:30%;height:58%}.vskin-slot-mp{left:45.4%;width:18.3%;top:34%;height:50%}.vskin-drain{position:absolute;top:0;right:0;bottom:0;background:linear-gradient(90deg,#0a070300 0,#0a07039e 14px);transition:left .3s var(--ease-out-soft)}.vskin-num{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:600;font-size:clamp(.55rem,1.1vw,.76rem);line-height:1;white-space:nowrap;color:#3a2a14;text-shadow:0 1px 0 rgb(255 250 238 / 55%);pointer-events:none}.vskin-num-hp{left:26.8%;top:56.2%}.vskin-num-mp{left:54.2%;top:56.2%}.vskin-num-gold{left:71.4%;top:54.7%;color:#4a3410}.vskin-hotspot{position:absolute;transform:translate(-50%,-50%);width:5.5%;aspect-ratio:1;border:none;border-radius:50%;background:none;cursor:pointer;pointer-events:auto}.vskin-hotspot:disabled{cursor:default}.vskin-heal{left:79.8%;top:55%}.vskin-mana{left:85.9%;top:55%}.vskin-gear{position:absolute;left:92.5%;top:55%;transform:translate(-50%,-50%);width:5.5%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;pointer-events:auto}.audio-controls-skinned,.vskin-audio-hotspot{width:100%;height:100%}.vskin-audio-hotspot{position:relative;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.vskin-audio-hotspot:focus-visible,.audio-master-row:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #b8d8e894,0 0 0 4px #d8c5e84d}.vskin-audio-badge{position:absolute;top:4%;right:2%;width:9px;height:9px;border-radius:50%;background:var(--text-disabled);border:1px solid rgb(0 0 0 / 35%);box-shadow:0 1px 3px #0006}.vskin-audio-badge-on{background:var(--color-status-online);box-shadow:0 0 6px var(--color-status-online),0 1px 3px #0006}.audio-master-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-chip);color:var(--text-secondary);font:inherit;font-size:.8rem;cursor:pointer}.audio-master-row.audio-master-on{color:var(--text-bright);background:linear-gradient(135deg,#5b7954c7,#496b50bd);border-color:#78a06e66}.canvas-room-sign.canvas-room-sign-skinned{left:calc(12px + .43 * var(--vbar-w));top:calc(6px + var(--vbar-w) / 4.279 - 22px);width:clamp(125px,13vw,175px);max-width:none;aspect-ratio:1216 / 794;overflow:hidden;container-type:inline-size;z-index:8;border:none;background:none;padding:0;cursor:pointer}.rsign-art{position:absolute;width:105.26%;left:-2.47%;top:0;height:auto;pointer-events:none}.rsign-title{position:absolute;left:50.5%;top:52%;transform:translate(-50%,-50%);max-width:46%;margin:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:calc(8cqw * var(--rsign-fit, 1));line-height:1.06;overflow-wrap:break-word;color:#5b4326;text-shadow:0 1px 0 rgb(255 248 232 / 55%);pointer-events:none}.sign-zoom-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#08060c8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);cursor:zoom-out;animation:sign-zoom-fade .15s var(--ease-out-soft)}.sign-zoom{position:relative;width:min(620px,84vw);aspect-ratio:1216 / 794;overflow:hidden;container-type:inline-size;filter:drop-shadow(0 16px 34px rgb(0 0 0 / 55%));animation:sign-zoom-pop .2s var(--ease-out-soft)}@keyframes sign-zoom-fade{0%{opacity:0}to{opacity:1}}@keyframes sign-zoom-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.sign-zoom-backdrop,.sign-zoom{animation:none}}.canvas-room-sign{transition:opacity .15s var(--ease-out-soft)}.action-dock{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.kiosks{display:flex;flex-direction:row;align-items:flex-end;gap:22px;max-width:100%;overflow-x:auto;padding:2px 4px;scrollbar-width:none}.kiosks::-webkit-scrollbar{display:none}.kiosk{display:flex;flex-direction:column;align-items:center;gap:4px;width:72px;padding:4px;border:none;background:none;color:var(--text-secondary);cursor:pointer;transition:color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.kiosk:hover{color:var(--text-bright);transform:scale(1.06)}.kiosk-active{color:var(--text-bright)}.kiosk-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px}.kiosk-img{width:100%;height:100%;object-fit:contain;opacity:.9;filter:drop-shadow(0 2px 6px rgb(8 10 18 / 65%));transition:opacity .15s var(--ease-out-soft),filter .15s var(--ease-out-soft)}.kiosk:hover .kiosk-img,.kiosk-active .kiosk-img{opacity:1;filter:drop-shadow(0 0 10px rgb(176 193 255 / 60%))}.kiosk-icon-svg{width:34px;height:34px;filter:drop-shadow(0 1px 4px rgb(8 10 18 / 80%))}.kiosk-label{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.1;min-height:2.2em;text-shadow:0 1px 4px rgb(8 10 18 / 90%)}.canvas-command{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;background:var(--surface-input);border:1px solid var(--line-soft);border-radius:var(--radius-md)}.canvas-command-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;outline:none}.canvas-command-input::placeholder{color:var(--text-placeholder)}.canvas-command-send{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;flex-shrink:0;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#7685bee5,#62709ee5);color:var(--text-white);cursor:pointer}.canvas-command-send-icon{width:18px;height:18px}.skill-bar{display:flex;align-items:center;gap:6px;max-width:100%;padding:2px 4px;overflow-x:auto;scrollbar-width:none}.skill-bar::-webkit-scrollbar{display:none}.canvas-hud-stack{position:absolute;top:12px;right:calc(env(safe-area-inset-right,0px) + 12px);z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.hud-stack-toggle{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line-soft);border-radius:50%;background:linear-gradient(160deg,#141828d6,#0e111ce5);color:var(--text-secondary);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.hud-stack-toggle:hover{border-color:#b0c1ff7f;color:var(--text-bright)}.hud-stack-toggle-glyph{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease-out-soft)}.canvas-hud-stack.is-open .hud-stack-toggle-glyph{transform:translateY(1px) rotate(225deg)}.hud-stack-items{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transform:translate(14px);pointer-events:none;transition:opacity .2s var(--ease-out-soft),transform .2s var(--ease-out-soft)}.canvas-hud-stack.is-open .hud-stack-items{opacity:1;transform:translate(0);pointer-events:auto}@media(hover:hover){.canvas-hud-stack:hover .hud-stack-items{opacity:1;transform:translate(0);pointer-events:auto}}.hud-stack-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line-soft);border-radius:50%;background:linear-gradient(160deg,#141828d6,#0e111ce5);color:var(--text-secondary);font-family:var(--font-display);font-size:1.05rem;font-weight:700;cursor:pointer;overflow:hidden;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.hud-stack-btn:hover{border-color:#b0c1ff7f;color:var(--text-bright);transform:scale(1.06)}.hud-stack-img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 1px 3px rgb(8 10 18 / 70%))}.hud-stack-glyph{line-height:1}.canvas-flee-btn{position:absolute;bottom:64px;right:calc(env(safe-area-inset-right,0px) + 12px);z-index:11;padding:9px 22px;border:1px solid rgb(212 136 138 / 60%);border-radius:var(--radius-md);background:linear-gradient(160deg,#4a1a1aeb,#301010f2);color:#f0c0c2;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 16px #2808088c;transition:border-color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.canvas-flee-btn:hover{border-color:#e8a0a0cc;transform:translateY(-1px)}@media(max-width:640px){.canvas-vitals-hud{gap:6px;padding:6px 8px;max-width:calc(100% - 16px)}.canvas-vitals-hud .vbar-vital{width:auto;flex:1 1 0;min-width:48px}.canvas-vitals-hud .vbar-quick-potion-label,.canvas-vitals-hud .audio-controls{display:none}.canvas-room-sign{top:56px;left:16px;max-width:calc(100% - 160px)}.sign-title{font-size:1.05rem}.kiosks{gap:10px;max-width:calc(100% - 24px)}.kiosk{width:56px}.kiosk-icon{width:46px;height:46px}.kiosk-icon-svg{width:26px;height:26px}.kiosk-label{font-size:.58rem}.canvas-flee-btn,.atmosphere-hud{bottom:12px}}@media(max-width:430px){.action-dock{padding-left:6px;padding-right:6px}.kiosks{gap:0;width:100%;max-width:100%;justify-content:space-between;padding:2px 0;overflow-x:visible}.kiosk{flex:1 1 0;min-width:0;width:auto;padding:2px;gap:3px}.kiosk-icon{width:38px;height:38px}.kiosk-icon-svg{width:22px;height:22px}.kiosk-label{font-size:.52rem;min-height:2.1em}}.bottom-stack{flex:0 0 auto;display:flex;flex-direction:column;background-color:#10131f;background-image:linear-gradient(180deg,#0f121e8c,#0a0c16b8),var(--room-bg, none);background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-top:1px solid var(--line-soft)}.room-panel{position:relative;flex:0 0 auto;height:264px;overflow:hidden;color:var(--text-primary)}.room-panel-body{display:flex;gap:var(--space-5);align-items:stretch;height:100%;padding:28px 28px 16px;box-sizing:border-box}.room-panel-main{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 126 86 / 60%) transparent}.room-panel-main::-webkit-scrollbar{width:8px}.room-panel-main::-webkit-scrollbar-track{background:transparent;margin:4px 0}.room-panel-main::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b09668b3,#826c48b3);border-radius:4px}.room-panel-main::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c6aa78d9,#967e56d9)}.room-panel-main::-webkit-scrollbar-button{display:none;height:0;width:0}.room-panel-title{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line-faint);font-family:var(--font-display);font-size:1.42rem;font-weight:600;line-height:1.2;letter-spacing:.01em;color:var(--text-heading)}.room-panel-desc{margin:0;font-size:.98rem;line-height:1.6;color:var(--text-secondary)}.room-panel-peek{margin:6px 0 0;font-size:.98rem;line-height:1.6;color:var(--text-secondary);font-style:italic}.peek-room-name{color:var(--color-primary-dusty-rose)}.room-panel-nav{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.room-compass{display:flex;align-items:center;justify-content:center}.room-compass-pad{position:relative;width:216px;height:216px;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;place-items:center;background-image:var(--compass-bg, none);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:var(--radius-lg)}.compass-dir-north{grid-column:2;grid-row:1;align-self:start;--dir-shift: translate(0, -6px)}.compass-dir-up{grid-column:3;grid-row:1;align-self:end;justify-self:start;--dir-shift: translate(-4px, 4px)}.compass-dir-west{grid-column:1;grid-row:2;justify-self:start;--dir-shift: translate(-6px, 0)}.compass-dir-east{grid-column:3;grid-row:2;justify-self:end;--dir-shift: translate(6px, 0)}.compass-dir-down{grid-column:1;grid-row:3;align-self:start;justify-self:end;--dir-shift: translate(4px, -4px)}.compass-dir-south{grid-column:2;grid-row:3;align-self:end;--dir-shift: translate(0, 6px)}.compass-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:6px 9px;border:1px solid rgb(190 168 115 / 42%);border-radius:var(--radius-sm);background:linear-gradient(160deg,#22293ce5,#141828f0);color:var(--text-bright);font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transform:var(--dir-shift, none);transition:border-color .15s var(--ease-out-soft),background .15s var(--ease-out-soft),transform .12s var(--ease-out-soft)}.compass-btn:hover{border-color:#d4c696d9;background:linear-gradient(160deg,#384364f0,#1e2438f5);transform:var(--dir-shift, none) scale(1.05)}.compass-btn-art{border:none;background:none;padding:0;min-width:0}.compass-btn-art:before{content:"";position:absolute;top:50%;left:50%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#100e0ac7,#100e0a94 45%,#100e0a00 78%);z-index:-1;pointer-events:none}.compass-btn-art:hover{border:none;background:none}.compass-btn-img{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 75%));transition:filter .15s var(--ease-out-soft)}.compass-btn-art:hover .compass-btn-img{filter:drop-shadow(0 0 8px rgb(212 198 150 / 70%))}.compass-btn-off{border-color:transparent;background:none;color:var(--text-disabled);cursor:default;opacity:.5}.compass-btn-off:hover{border-color:transparent;background:none;transform:var(--dir-shift, none)}.compass-btn-art.compass-btn-off .compass-btn-img,.compass-btn-art.compass-btn-off:hover .compass-btn-img{filter:grayscale(1) brightness(.7)}.room-panel-toggle{position:absolute;top:4px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:18px;border:1px solid var(--line-faint);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;background:#272f49b3;color:var(--text-tertiary);cursor:pointer}.room-panel-collapsed{max-height:26px;min-height:26px;overflow:visible}.room-panel-toggle-icon{width:16px;height:16px;transition:transform .15s var(--ease-out-soft)}.room-panel-toggle-icon-up{transform:rotate(180deg)}@media(max-width:640px){.room-panel{height:234px}.room-panel-title{display:none}.room-panel-body{padding:26px 14px 14px;gap:var(--space-3)}.room-compass-pad{width:184px;height:184px}.compass-btn{min-width:32px;padding:5px 7px;font-size:.82rem}.compass-btn-img{width:38px;height:38px}.compass-btn-art:before{width:46px;height:46px}}.vbar{position:relative;flex:0 0 auto;z-index:20;background:linear-gradient(180deg,#22293cdb,#141828f5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-soft);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:8px;box-shadow:0 -8px 24px #080a1266}.vbar-vitals{display:flex;align-items:center;gap:10px}.vbar-vital{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.vbar-vital-label{font-size:.62rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.vbar-vital-track{position:relative;height:6px;background:#0006;border-radius:3px;overflow:hidden;border:1px solid var(--line-faint)}.vbar-vital-fill{position:absolute;top:0;left:0;bottom:0;border-radius:3px;transition:width .3s var(--ease-out-soft)}.vbar-vital-hp{background:linear-gradient(90deg,var(--color-hp-dark),var(--color-hp-light));box-shadow:0 0 8px #9ebf755c}.vbar-vital-mp{background:linear-gradient(90deg,var(--color-mana-dark),var(--color-mana-light));box-shadow:0 0 8px #7fb6cf5c}.vbar-vital-text{font-size:.66rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.vbar-gold{display:flex;align-items:center;gap:5px;padding:4px 10px;background:linear-gradient(135deg,#d4b85c2e,#bda8731f);border:1px solid rgb(212 184 92 / 36%);border-radius:999px}.vbar-quick-potion{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;border:1px solid var(--line-faint);background:linear-gradient(135deg,#ffffff0f,#ffffff05);color:var(--text-secondary);font-size:.66rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease;flex-shrink:0}.vbar-quick-potion-icon{font-size:.85rem;font-weight:700;line-height:1}.vbar-quick-potion-hp{color:var(--color-hp-light);border-color:#9ebf7561;background:linear-gradient(135deg,#9ebf752e,#9ebf7514)}.vbar-quick-potion-hp:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 8px #9ebf754d;background:linear-gradient(135deg,#9ebf7547,#9ebf7524)}.vbar-quick-potion-mana{color:var(--color-mana-light);border-color:#7fb6cf61;background:linear-gradient(135deg,#7fb6cf2e,#7fb6cf14)}.vbar-quick-potion-mana:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 8px #7fb6cf4d;background:linear-gradient(135deg,#7fb6cf47,#7fb6cf24)}.vbar-quick-potion:disabled{opacity:.35;cursor:not-allowed}.combat-quick-potion{display:inline-flex;align-items:center;gap:4px}.combat-quick-potion-hp{color:var(--color-hp-light);border-color:#9ebf7561;background:linear-gradient(135deg,#9ebf752e,#9ebf7514)}.combat-quick-potion-hp:hover:not(:disabled){box-shadow:0 0 8px #9ebf754d;background:linear-gradient(135deg,#9ebf7547,#9ebf7524)}.combat-quick-potion-mana{color:var(--color-mana-light);border-color:#7fb6cf61;background:linear-gradient(135deg,#7fb6cf2e,#7fb6cf14)}.combat-quick-potion-mana:hover:not(:disabled){box-shadow:0 0 8px #7fb6cf4d;background:linear-gradient(135deg,#7fb6cf47,#7fb6cf24)}.combat-quick-potion:disabled{opacity:.35;cursor:not-allowed}.vbar-gold-coin{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--color-gold-coin-light),var(--color-gold-coin-dark));box-shadow:0 0 6px #d4b85c99}.vbar-gold-text{font-size:.78rem;font-weight:700;color:var(--color-gold-bright);font-variant-numeric:tabular-nums}.vbar-skills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0;scroll-snap-type:x mandatory}.vbar-skills::-webkit-scrollbar{display:none}.vbar-skill{position:relative;flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);border:2px solid var(--line-soft);background:linear-gradient(135deg,#3c4664eb,#2e3850e0);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s var(--ease-out-soft),border-color .15s;overflow:hidden;scroll-snap-align:start}.vbar-skill.skill-attack{border-color:#d4888a99}.vbar-skill.skill-aoe{border-color:#d4985a99}.vbar-skill.skill-debuff{border-color:#a882c699}.vbar-skill.skill-heal{border-color:#8abf8a99}.vbar-skill.skill-buff{border-color:#6ca8b299}.vbar-skill.skill-self{border-color:#8caec999}.vbar-skill:active:not(:disabled){transform:scale(.92)}.vbar-skill:disabled{opacity:.7;cursor:not-allowed}.vbar-skill-empty{border-style:dashed;background:#2830467f;cursor:default}.vbar-skill.drag-over{border-color:#d8c5e8cc;box-shadow:0 0 0 2px #d8c5e84d,0 4px 14px #a897d261}.vbar-skill-img{width:100%;height:100%;object-fit:cover}.vbar-skill-icon{width:28px;height:28px;color:var(--text-bright)}.vbar-skill-sweep{position:absolute;bottom:0;left:0;right:0;background:#080a1299;pointer-events:none;transition:height .25s linear}.vbar-skill-key{position:absolute;top:2px;right:4px;font-size:.6rem;font-weight:700;color:var(--text-tertiary);text-shadow:0 1px 2px rgb(0 0 0 / 80%);font-family:var(--font-mono)}.vbar-petbar{display:flex;gap:6px;flex-shrink:0}.vbar-petbar-divider{flex-shrink:0;width:2px;align-self:stretch;margin:2px 4px;background:linear-gradient(180deg,transparent,rgb(168 151 210 / 35%) 30%,rgb(168 151 210 / 35%) 70%,transparent);border-radius:1px}.vbar-pet-skill{border-color:#a897d28c;background:linear-gradient(135deg,#463c64eb,#363052e0)}.vbar-pet-skill:not(:disabled):hover{border-color:#d8c5e8cc;box-shadow:0 0 0 1px #d8c5e84d}.vbar-pet-skill .vbar-skill-key{color:#d8c5e8e5;font-size:.55rem}.vbar-actions{display:flex;align-items:center;gap:10px}.vbar-btn{appearance:none;border:1px solid var(--line-soft);background:linear-gradient(135deg,#4d5879e5,#3e4a6cd6);color:var(--text-bright);width:44px;height:44px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,background .15s;flex-shrink:0}.vbar-btn:active{transform:scale(.94)}.vbar-btn-active{background:linear-gradient(135deg,#a897d2e5,#8caec9d6);border-color:#d8c5e899}.vbar-icon{width:22px;height:22px;color:currentcolor}.vbar-status{flex:1;text-align:center;font-size:.72rem;color:var(--text-tertiary)}.vbar-status-on{color:var(--color-status-online)}.vbar-input-row{display:flex;gap:8px;animation:vbar-slide-up .2s var(--ease-out-soft)}.vbar-input{flex:1;appearance:none;background:#141828e5;border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:10px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;outline:none;transition:border-color .15s,box-shadow .15s}.vbar-input:focus{border-color:#a897d2b3;box-shadow:0 0 0 3px #a897d22e}.vbar-input-send{appearance:none;border:none;background:linear-gradient(135deg,#a897d2eb,#8caec9db);color:var(--text-white);width:44px;height:44px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center}.vbar-input-send:active{transform:scale(.94)}.vbar-panel-grid{display:none;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 0;max-height:50vh;overflow-y:auto}.vbar-panel-grid-open{display:grid;animation:vbar-slide-up .2s var(--ease-out-soft)}.vbar-panel-btn{appearance:none;border:1px solid var(--line-soft);background:linear-gradient(135deg,#3c4664e0,#2e3850d6);color:var(--text-primary);border-radius:var(--radius-md);padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .12s,background .15s;min-height:70px;position:relative}.vbar-panel-btn:active{transform:scale(.95)}.vbar-panel-btn-active{background:linear-gradient(135deg,#a897d2eb,#8caec9db);border-color:#d8c5e899}.vbar-panel-btn-dungeon{background:linear-gradient(135deg,#d2788cd1,#8c506ed1);border-color:#e8aabe8c}.vbar-panel-btn-hint{border-color:var(--color-primary-soft-gold);animation:vbar-panel-btn-hint-pulse 2s var(--ease-in-out-smooth) infinite}@keyframes vbar-panel-btn-hint-pulse{0%,to{box-shadow:0 0 #bea8738c}50%{box-shadow:0 0 14px 2px #bea8738c}}.vbar-panel-btn-hint-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--color-primary-soft-gold);box-shadow:0 0 6px #bea873cc}@media(prefers-reduced-motion:reduce){.vbar-panel-btn-hint{animation:none;box-shadow:0 0 0 2px #bea8738c}}.vbar-panel-btn-dungeon:hover{background:linear-gradient(135deg,#e08c9ee0,#9e6080e0)}.vbar-panel-btn .vbar-icon{width:24px;height:24px}.vbar-panel-label{font-size:.66rem;font-weight:600;text-align:center}@keyframes vbar-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.drawer-backdrop{position:fixed;inset:0;background:#080a1200;z-index:var(--z-drawer);pointer-events:none;transition:background .3s var(--ease-out-soft)}.drawer-backdrop-visible{background:#080a127f;pointer-events:auto;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.drawer-sheet{position:fixed;bottom:0;left:0;right:0;z-index:calc(var(--z-drawer) + 1);background:linear-gradient(180deg,#2b354ffa,#222940fa);border-top:1px solid var(--line-soft);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -16px 48px #080a1299;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0);height:var(--drawer-height, 60vh);transition:var(--drawer-transition, none)}.drawer-handle-zone{display:flex;justify-content:center;padding:10px 0 6px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drawer-handle-zone:active{cursor:grabbing}.drawer-handle{width:40px;height:4px;background:#d8def15c;border-radius:2px}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px 12px;border-bottom:1px solid var(--line-faint)}.drawer-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-bright);margin:0}.drawer-close{appearance:none;border:1px solid var(--line-soft);background:#3c4664cc;color:var(--text-primary);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem}.drawer-close:active{transform:scale(.94)}.drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 20px}@media(min-width:600px){.vbar{padding-left:20px;padding-right:20px}.vbar-panel-grid{grid-template-columns:repeat(6,1fr)}}@media(min-width:768px){.vbar-panel-grid{display:grid}.vbar-actions{display:none}.vbar-actions.vbar-actions-show{display:flex}}.vbar-btn-reconnect{width:auto;padding:0 14px;font-size:.78rem;font-weight:600;letter-spacing:.02em;background:linear-gradient(135deg,#a897d2eb,#8caec9db);color:var(--text-white);border-color:#d8c5e899}@media(min-width:768px){.drawer-sheet{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(720px,92vw);max-height:82vh;height:auto;border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:0 24px 60px #080a1299,0 8px 24px #080a1266;transition:opacity .2s var(--ease-out-soft);padding-bottom:0}.drawer-sheet .drawer-handle-zone{display:none}.drawer-sheet .drawer-header{padding-top:16px}.drawer-sheet .drawer-body{flex:1 1 auto;min-height:0}}@media(min-width:1024px){.vbar-panel-grid{grid-template-columns:repeat(13,1fr)}.drawer-sheet{width:min(840px,80vw);max-height:80vh}}@media(min-width:768px){.drawer-sheet:has(.drawer-map-body){width:min(1280px,94vw);max-height:94vh}.drawer-sheet:has(.equipment-panel-v2){width:min(1040px,92vw);max-height:90vh}.drawer-sheet:has(.shop-popout){height:min(640px,86vh);max-height:86vh}.drawer-sheet:has(.trainer-panel){height:min(660px,86vh);max-height:86vh}}.drawer-sheet.drawer-sheet-satchel{background-image:var(--skin-bg, none),radial-gradient(130% 90% at 50% -8%,rgb(132 94 48 / 38%),transparent 62%),linear-gradient(168deg,#5b4226,#402d18 58%,#34250f);background-size:cover,auto,auto;background-position:center;border:2px solid #2b1f10;border-top:2px solid #2b1f10;box-shadow:0 -16px 48px #080a1299}@media(min-width:768px){.drawer-sheet.drawer-sheet-satchel{border:2px solid #2b1f10;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b}}.drawer-sheet-satchel:after{content:"";position:absolute;inset:7px;z-index:0;border-radius:14px;border:1.5px dashed rgb(216 186 122 / 38%);pointer-events:none}.drawer-sheet-satchel>*{position:relative;z-index:1}.drawer-sheet-satchel .drawer-handle{background:#d8ba7a7f}.drawer-sheet-satchel .drawer-header{border-bottom:1px solid rgb(132 94 48 / 50%)}.drawer-sheet-satchel .drawer-title{color:#f4e9cb;text-shadow:0 1px 2px rgb(18 10 3 / 55%)}.drawer-sheet-satchel .drawer-close{border-color:#845e3099;background:#362716d1;color:#e6d2a4}.drawer-sheet-satchel .drawer-close:hover{background:#4a361feb;color:#f4e9cb}.drawer-sheet.drawer-sheet-equipment{background-image:var(--skin-bg, none),radial-gradient(120% 75% at 50% -6%,rgb(86 76 132 / 32%),transparent 62%),linear-gradient(172deg,#2b2742,#1d1b30 58%,#14121f);background-size:cover,auto,auto;background-position:center;border:1px solid rgb(120 104 168 / 28%);border-top:1px solid rgb(120 104 168 / 28%);box-shadow:0 -16px 48px #080a129e}@media(min-width:768px){.drawer-sheet.drawer-sheet-equipment{border:1px solid rgb(120 104 168 / 28%);box-shadow:0 24px 60px #080a12a3,0 8px 24px #080a1270}}.drawer-sheet-equipment .drawer-header{border-bottom:1px solid rgb(120 104 168 / 26%)}.drawer-sheet-equipment .drawer-title{color:#ece6d2;text-shadow:0 1px 2px rgb(8 6 16 / 55%)}.drawer-sheet.drawer-sheet-shop{background-image:var(--skin-bg, none),repeating-linear-gradient(91deg,#3a281600 0 38px,#1c120838 38px 40px),linear-gradient(176deg,#573f24,#3d2a16 60%,#2f2011);background-size:cover,auto,auto;background-position:center;border:2px solid #271a0d;border-top:2px solid #271a0d;box-shadow:0 -16px 48px #080a1299}@media(min-width:768px){.drawer-sheet.drawer-sheet-shop{border:2px solid #271a0d;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b}}.drawer-sheet-shop .drawer-header{position:relative;padding:12px 16px 24px;border-bottom:none;background:repeating-linear-gradient(90deg,#4e807b 0 32px,#b07d8a 32px 64px);box-shadow:inset 0 -2px 6px #28140859;-webkit-mask:radial-gradient(15px 15px at 50% 0,#000 98%,transparent 100%) 0 100% / 32px 15px repeat-x,linear-gradient(#000,#000) top / 100% calc(100% - 14px) no-repeat;mask:radial-gradient(15px 15px at 50% 0,#000 98%,transparent 100%) 0 100% / 32px 15px repeat-x,linear-gradient(#000,#000) top / 100% calc(100% - 14px) no-repeat}.drawer-sheet-shop .drawer-title{color:#fff6e6;text-shadow:0 1px 3px rgb(40 16 6 / 70%)}.drawer-sheet-shop .drawer-close{border-color:#fff6e673;background:#3c1e10b3;color:#fff6e6}.drawer-sheet-shop .drawer-close:hover{background:#502a16d9}.drawer-sheet-shop .drawer-handle{background:#fff6e68c}.drawer-sheet.drawer-sheet-trainer{background-image:var(--skin-bg, none),radial-gradient(120% 80% at 50% 12%,rgb(255 255 255 / 5%),transparent 60%),linear-gradient(170deg,#33453c,#26342d 60%,#1f2a25);background-size:cover,auto,auto;background-position:center;border:7px solid #543c22;border-top:7px solid #543c22;box-shadow:0 -16px 48px #080a1299,inset 0 0 0 1px #140e0699}@media(min-width:768px){.drawer-sheet.drawer-sheet-trainer{border:7px solid #543c22;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 0 1px #140e0699}}.drawer-sheet-trainer .drawer-header{border-bottom:1px solid rgb(255 255 255 / 12%)}.drawer-sheet-trainer .drawer-title{color:#eef0e6;text-shadow:0 1px 2px rgb(8 12 10 / 60%)}.drawer-sheet-trainer .drawer-handle{background:#eef0e673}.drawer-sheet.drawer-sheet-journal{background-image:var(--skin-bg, none),radial-gradient(120% 80% at 50% 0%,rgb(150 104 52 / 18%),transparent 60%),linear-gradient(172deg,#6a4a28,#4a3118 70%,#3a260f);background-size:cover,auto,auto;background-position:center;border:6px solid #5a4128;border-top:6px solid #5a4128;box-shadow:0 -16px 48px #080a1299,inset 0 0 0 1px #281a0c73}@media(min-width:768px){.drawer-sheet.drawer-sheet-journal{border:6px solid #5a4128;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 0 1px #281a0c73}.drawer-sheet:has(.combat-log-panel){height:min(660px,86vh);max-height:86vh}}.drawer-sheet-journal .drawer-header{border-bottom:1px solid rgb(240 225 190 / 22%)}.drawer-sheet-journal .drawer-title{color:#f6ecce;text-shadow:0 1px 3px rgb(20 10 2 / 70%)}.drawer-sheet-journal .drawer-close{border-color:#f0e1be66;background:#1e120873;color:#f0e3c4}.drawer-sheet-journal .drawer-close:hover{background:#322010a6;color:#fff}.drawer-sheet-journal .drawer-handle{background:#f0e1be66}.drawer-sheet.drawer-sheet-questboard{background-image:var(--skin-bg, none),radial-gradient(circle at 18% 28%,rgb(120 86 48 / 22%) 0 1.5px,transparent 2.5px),radial-gradient(circle at 64% 58%,rgb(96 68 38 / 20%) 0 1.5px,transparent 2.5px),radial-gradient(circle at 42% 82%,rgb(120 86 48 / 18%) 0 1.5px,transparent 2.5px),linear-gradient(168deg,#cdac79,#bb9a63);background-size:cover,84px 84px,116px 116px,64px 64px,auto;border:9px solid #5e4226;border-top:9px solid #5e4226;box-shadow:0 -16px 48px #080a1299,inset 0 0 0 2px #281a0c73,inset 0 0 28px #462e1659}@media(min-width:768px){.drawer-sheet.drawer-sheet-questboard{border:9px solid #5e4226;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 0 2px #281a0c73,inset 0 0 28px #462e1659}.drawer-sheet:has(.quest-panel){height:min(680px,88vh);max-height:88vh}}.drawer-sheet-questboard .drawer-header{border-bottom:1px solid rgb(240 225 190 / 20%)}.drawer-sheet-questboard .drawer-title{color:#f6ecce;text-shadow:0 1px 3px rgb(20 12 4 / 70%)}.drawer-sheet-questboard .drawer-close{border-color:#f0e1be66;background:#1e120873;color:#f0e3c4}.drawer-sheet-questboard .drawer-close:hover{background:#322010a6;color:#fff}.drawer-sheet-questboard .drawer-handle{background:#f0e1be66}.drawer-sheet-questboard .quest-panel{height:100%;min-height:0;overflow:hidden}.drawer-sheet-questboard .quest-tab-bar{flex:0 0 auto;flex-wrap:wrap;border-bottom:none;gap:6px;padding:0}.drawer-sheet-questboard .quest-tab{padding:6px 14px;border:1px solid rgb(60 40 20 / 55%);border-radius:8px;border-bottom:1px solid rgb(60 40 20 / 55%);background:linear-gradient(180deg,#46301acc,#322212cc);color:#e6d2a4;font-family:var(--font-display);font-weight:700;box-shadow:inset 0 1px #d8ba7a29}.drawer-sheet-questboard .quest-tab:hover{color:#fbf0d4}.drawer-sheet-questboard .quest-tab-active{background:linear-gradient(180deg,#e7d6b0,#d2bb8c);border-color:#8a6a2e;color:#382a18}.drawer-sheet-questboard .quest-tab-badge{background:#3c281459;color:#f0dca8;border-radius:999px;padding:0 6px;font-size:.66rem;font-weight:800}.drawer-sheet-questboard .quest-tab-active .quest-tab-badge{background:#8a6a2e59;color:#3a2810}.drawer-sheet-questboard .quest-tab-badge-available{background:#60845673;color:#1f3a1c}.drawer-sheet-questboard .quest-panel-section{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 4px 4px;scrollbar-width:thin;scrollbar-color:rgb(60 40 20 / 55%) transparent}.drawer-sheet-questboard .quest-panel-section::-webkit-scrollbar{width:8px}.drawer-sheet-questboard .quest-panel-section::-webkit-scrollbar-thumb{background:#3c281473;border-radius:999px}.drawer-sheet-questboard .quest-item,.drawer-sheet-questboard .quest-available-card,.drawer-sheet-questboard .quest-timed-row,.drawer-sheet-questboard .quest-bounty-card,.drawer-sheet-questboard .quest-global-card{position:relative;background:linear-gradient(155deg,#f2e8ce,#e3d4ad);border:1px solid rgb(106 74 36 / 45%);border-radius:4px;box-shadow:0 4px 10px #140c0459;color:#33271a}.drawer-sheet-questboard .quest-item:before,.drawer-sheet-questboard .quest-available-card:before,.drawer-sheet-questboard .quest-timed-row:before,.drawer-sheet-questboard .quest-bounty-card:before,.drawer-sheet-questboard .quest-global-card:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f0a0a0,#b5482f 70%);box-shadow:0 2px 3px #140c047f;z-index:2}.drawer-sheet-questboard .quest-list{display:flex;flex-direction:column;gap:14px}.drawer-sheet-questboard .quest-available-list{display:flex;flex-direction:column;gap:16px}.drawer-sheet-questboard .quest-list>.quest-item:nth-child(odd){transform:rotate(-.8deg)}.drawer-sheet-questboard .quest-list>.quest-item:nth-child(2n){transform:rotate(.7deg)}.drawer-sheet-questboard .quest-available-list>li:nth-child(odd){transform:rotate(.7deg)}.drawer-sheet-questboard .quest-available-list>li:nth-child(2n){transform:rotate(-.8deg)}.drawer-sheet-questboard .quest-item:hover,.drawer-sheet-questboard .quest-item-expanded,.drawer-sheet-questboard .quest-available-card:hover{transform:rotate(0)!important}.drawer-sheet-questboard .quest-item,.drawer-sheet-questboard .quest-available-card{transition:transform .16s var(--ease-out-soft),box-shadow .16s var(--ease-out-soft)}.drawer-sheet-questboard .quest-item-header,.drawer-sheet-questboard .quest-available-name{color:#2e2212}.drawer-sheet-questboard .quest-item-header:hover{background:#6a4a2414}.drawer-sheet-questboard .quest-item-name{font-family:var(--font-display);font-weight:700}.drawer-sheet-questboard .quest-item-description,.drawer-sheet-questboard .quest-available-description{color:#5a4226}.drawer-sheet-questboard .quest-objective-text{color:#3a2c1a}.drawer-sheet-questboard .quest-objective-count,.drawer-sheet-questboard .quest-available-obj-count,.drawer-sheet-questboard .quest-item-progress-badge{color:#6a4a24;background:#6a4a2424}.drawer-sheet-questboard .quest-objective-check,.drawer-sheet-questboard .quest-available-obj-icon,.drawer-sheet-questboard .quest-item-icon,.drawer-sheet-questboard .quest-available-icon{color:#8a6a2e}.drawer-sheet-questboard .quest-objective-done .quest-objective-text{color:#3c6e3a}.drawer-sheet-questboard .meter-track{background:#3c281438}.drawer-sheet-questboard .meter-fill-quest{background:linear-gradient(90deg,#8a6a2e,#b88a3e)}.drawer-sheet-questboard .meter-fill-quest-done{background:linear-gradient(90deg,#4c7a44,#6fa05e)}.drawer-sheet-questboard .quest-reward-xp,.drawer-sheet-questboard .quest-reward-gold,.drawer-sheet-questboard .quest-reward-item{color:#6e4e16;background:#e6c46a57;border:1px solid rgb(184 138 46 / 50%);padding:1px 8px;border-radius:999px}.drawer-sheet-questboard .quest-available-rewards-label{color:#6a4a24}.drawer-sheet-questboard .quest-item-ready-badge{background:#6084564d;border:1px solid rgb(60 110 58 / 50%);color:#2f5226;border-radius:999px;padding:1px 8px;font-size:.66rem;font-weight:800}.drawer-sheet-questboard .quest-turnin-button,.drawer-sheet-questboard .quest-accept-button{background:linear-gradient(180deg,#e6c46a,#c79a3a);border:1px solid #8a6a2e;color:#2e2212}.drawer-sheet-questboard .quest-abandon-button{background:#3c28141f;border:1px solid rgb(138 62 44 / 45%);color:#8a3a2a}.drawer-sheet-questboard .quest-load-button{background:linear-gradient(180deg,#e6c46a,#c79a3a);border:1px solid #8a6a2e;color:#2e2212}.drawer-sheet-questboard .quest-timed-row,.drawer-sheet-questboard .quest-bounty-card,.drawer-sheet-questboard .quest-global-card{padding-top:14px}.drawer-sheet-questboard .quest-timed-list{display:flex;flex-direction:column;gap:14px}.drawer-sheet-questboard .quest-timed-description,.drawer-sheet-questboard .quest-bounty-title,.drawer-sheet-questboard .quest-global-title{color:#2e2212}.drawer-sheet-questboard .quest-timed-type-badge{background:#6a4a2429;border:1px solid rgb(106 74 36 / 35%);color:#6a4a24}.drawer-sheet-questboard .quest-bounty-icon,.drawer-sheet-questboard .quest-global-icon,.drawer-sheet-questboard .quest-streak-icon{color:#8a6a2e}.drawer-sheet-questboard .quest-timed-done-check{color:#3c6e3a}.drawer-sheet-questboard .quest-streak-banner{background:#e6c46a47;border:1px solid rgb(184 138 46 / 45%);color:#6e4e16}.drawer-sheet-questboard .quest-notifications{flex:0 0 auto}.drawer-sheet-questboard .quest-notification{background:linear-gradient(155deg,#f2e8ce,#e3d4ad);border:1px solid rgb(106 74 36 / 45%);color:#33271a;box-shadow:0 2px 6px #140c044d}.drawer-sheet-questboard .quest-notification-text strong{color:#2e2212}.drawer-sheet-questboard .quest-notification-icon{color:#8a6a2e}.drawer-sheet-questboard .quest-notification-dismiss{color:#6a4a24}.drawer-sheet-questboard .quest-empty-state .empty-note{color:#5a4226}.drawer-sheet-questboard .quest-empty-icon{color:#6a4a24;opacity:.5}.drawer-sheet.drawer-sheet-grimoire{background-image:var(--skin-bg, none),radial-gradient(60px 100% at 50% 50%,rgb(60 40 20 / 22%),transparent),radial-gradient(130% 90% at 50% -6%,rgb(150 110 64 / 16%),transparent 60%),linear-gradient(170deg,#e9dcba,#dccaa0 68%,#d2bf94);background-size:cover,auto,auto,auto;background-position:center;border:10px solid #4a3320;border-top:10px solid #4a3320;box-shadow:0 -16px 48px #080a1299,inset 0 0 0 2px #1e12087f,inset 0 0 30px #462e164d}@media(min-width:768px){.drawer-sheet.drawer-sheet-grimoire{border:10px solid #4a3320;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 0 2px #1e12087f,inset 0 0 30px #462e164d}.drawer-sheet:has(.spellbook){width:min(960px,92vw);height:min(680px,88vh);max-height:88vh}}.drawer-sheet-grimoire .drawer-header{border-bottom:1px solid rgb(90 60 30 / 30%)}.drawer-sheet-grimoire .drawer-title{color:#2e2212;text-shadow:0 0 8px rgb(247 240 222 / 85%),0 1px 0 rgb(255 250 236 / 60%)}.drawer-sheet-grimoire .drawer-close{border-color:#5a3c1e7f;background:#5a3c1e29;color:#4a3014}.drawer-sheet-grimoire .drawer-close:hover{background:#5a3c1e4d;color:#2a1c08}.drawer-sheet-grimoire .drawer-handle{background:#5a3c1e66}.drawer-sheet-grimoire .spellbook{height:100%;min-height:0}.drawer-sheet-grimoire .spellbook-header{align-items:baseline}.drawer-sheet-grimoire .spellbook-class{color:#281b0d;text-shadow:0 0 6px rgb(247 240 222 / 80%),0 1px 0 rgb(255 250 236 / 55%)}.drawer-sheet-grimoire .spellbook-level{color:#463218;text-shadow:0 0 6px rgb(247 240 222 / 80%)}.drawer-sheet-grimoire .spellbook-hint{color:#463218;text-shadow:0 0 6px rgb(247 240 222 / 75%)}.drawer-sheet-grimoire .spellbook-sp-badge{background:#6a4a2429;border:1px solid rgb(106 74 36 / 35%);color:#6a4a24}.drawer-sheet-grimoire .spellbook-sp-badge-available{background:#e6c46a57;border-color:#b88a2e8c;color:#6e4e16}.drawer-sheet-grimoire .spellbook-search-input{background:#f7f0dee5;border:1px solid rgb(106 74 36 / 50%);color:#2e2212}.drawer-sheet-grimoire .spellbook-search-input::placeholder{color:#6a4a2499}.drawer-sheet-grimoire .spellbook-search-input:focus{border-color:#8a6a2e}.drawer-sheet-grimoire .spellbook-result-count{color:#5a4226;text-shadow:0 0 5px rgb(247 240 222 / 75%)}.drawer-sheet-grimoire .spellbook-tab,.drawer-sheet-grimoire .spellbook-class-pill{background:#5a3c1e1a;border:1px solid rgb(106 74 36 / 38%);color:#6a4a24}.drawer-sheet-grimoire .spellbook-tab:hover,.drawer-sheet-grimoire .spellbook-class-pill:hover{background:#5a3c1e2e;color:#3a2c1a}.drawer-sheet-grimoire .spellbook-tab-active,.drawer-sheet-grimoire .spellbook-class-pill-active{background:linear-gradient(180deg,#e7d6b0,#d2bb8c);border-color:#8a6a2e;color:#382a18}.drawer-sheet-grimoire .spellbook-grid{flex:1 1 auto;min-height:0;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-content:start;scrollbar-color:rgb(106 74 36 / 50%) transparent}.drawer-sheet-grimoire .spellbook-grid::-webkit-scrollbar-thumb{background:#6a4a2473}.drawer-sheet-grimoire .spellbook-card{background:linear-gradient(150deg,#f7f0def0,#eadec0eb);border:1px solid rgb(138 106 46 / 50%);border-radius:6px;color:#33271a;box-shadow:0 2px 6px #140c0459}.drawer-sheet-grimoire .spellbook-card:hover:not(:disabled){background:linear-gradient(150deg,#fcf6e6f7,#f0e4c6f2);border-color:#8a6a2e}.drawer-sheet-grimoire .spellbook-card-icon{border:1px solid rgb(184 138 46 / 55%);box-shadow:inset 0 0 0 1px #fffaec4d}.drawer-sheet-grimoire .spellbook-card-name{color:#2e2212;font-family:var(--font-display)}.drawer-sheet-grimoire .spellbook-card-desc{color:#5a4226}.drawer-sheet-grimoire .spellbook-stat{background:#6a4a241f;border:1px solid rgb(106 74 36 / 26%)}.drawer-sheet-grimoire .spellbook-stat-mana{color:#2f5a76}.drawer-sheet-grimoire .spellbook-stat-cd{color:#6a4a24}.drawer-sheet-grimoire .spellbook-stat-target{color:#5a4226}.drawer-sheet-grimoire .spellbook-stat-level{color:#6e4e16}.drawer-sheet-grimoire .spellbook-stat-class{color:#5a4a86}.drawer-sheet-grimoire .spellbook-stat-pet{color:#3c6e3a}.drawer-sheet-grimoire .spellbook-stat-racial{color:#8a3a66}.drawer-sheet-grimoire .spellbook-stat-passive{color:#5a4a86}.drawer-sheet-grimoire .spellbook-assign-btn{background:linear-gradient(180deg,#e6c46a,#c79a3a);border:1px solid #8a6a2e;color:#2e2212}.drawer-sheet-grimoire .spellbook-assign-btn:hover{filter:brightness(1.08)}.drawer-sheet-grimoire .spellbook-assign-btn-active{box-shadow:0 0 0 2px #8a6a2e73}.drawer-sheet-grimoire .spellbook-slot-picker{background:linear-gradient(180deg,#f2e8ce,#e3d4ad);border:1px solid rgb(106 74 36 / 45%)}.drawer-sheet-grimoire .spellbook-slot-pick{color:#3a2c1a}.drawer-sheet-grimoire .spellbook-slot-pick:hover{background:#e6c46a66}.drawer-sheet-grimoire .spellbook-empty{color:#5a4226}.drawer-sheet-grimoire .spellbook-empty-hint{color:#7a5e38}@media(max-width:640px){.drawer-sheet-grimoire .spellbook-grid{grid-template-columns:1fr;background:none}}.drawer-sheet.drawer-sheet-mail{background-image:var(--skin-bg, none),radial-gradient(130% 90% at 50% -6%,rgb(150 110 64 / 14%),transparent 60%),linear-gradient(170deg,#efe4c8,#e2d2ad 70%,#d6c596);background-size:cover,auto,auto;background-position:center;border:7px solid #5a4128;border-top:7px solid #5a4128;box-shadow:0 -16px 48px #080a1299,inset 0 0 0 1px #281a0c66}@media(min-width:768px){.drawer-sheet.drawer-sheet-mail{border:7px solid #5a4128;box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 0 1px #281a0c66}.drawer-sheet:has(.mail-panel){height:min(640px,86vh);max-height:86vh}}.drawer-sheet-mail .drawer-header{border-bottom:1px solid rgb(90 60 30 / 30%)}.drawer-sheet-mail .drawer-title{color:#2e2212;text-shadow:0 0 6px rgb(247 240 222 / 80%),0 1px 0 rgb(255 250 236 / 55%)}.drawer-sheet-mail .drawer-close{border-color:#5a3c1e7f;background:#5a3c1e29;color:#4a3014}.drawer-sheet-mail .drawer-close:hover{background:#5a3c1e4d;color:#2a1c08}.drawer-sheet-mail .drawer-handle{background:#5a3c1e66}.drawer-sheet-mail .mail-panel{height:100%;min-height:0;overflow-y:auto}.drawer-sheet-mail .empty-note{color:#5a4226}.drawer-sheet-mail .mail-empty-icon{color:#6a4a24;opacity:.5}.drawer-sheet-mail .mail-inbox-label{color:#3a2c1a;font-family:var(--font-display)}.drawer-sheet-mail .mail-unread-badge{background:linear-gradient(180deg,#c0563f,#9a3f2c);color:#f7e9da}.drawer-sheet-mail .mail-compose-button{background:linear-gradient(180deg,#e6c46a,#c79a3a);border:1px solid #8a6a2e;color:#2e2212;font-family:var(--font-display);font-weight:700}.drawer-sheet-mail .mail-compose-button:hover{filter:brightness(1.08);color:#2e2212}.drawer-sheet-mail .mail-inbox-item{border-bottom:1px solid rgb(106 74 36 / 22%)}.drawer-sheet-mail .mail-inbox-item.mail-unread{background:#e6c46a2e}.drawer-sheet-mail .mail-inbox-row{color:#5a4226}.drawer-sheet-mail .mail-inbox-row:hover{color:#2e2212;box-shadow:inset 0 0 12px #6a4a2414}.drawer-sheet-mail .mail-inbox-marker{color:#b5482f}.drawer-sheet-mail .mail-inbox-from{color:#2e2212;font-family:var(--font-display)}.drawer-sheet-mail .mail-inbox-preview{color:#6a4a24;opacity:1}.drawer-sheet-mail .mail-inbox-date{color:#7a5e38;opacity:1}.drawer-sheet-mail .mail-delete-button{color:#6a4a24}.drawer-sheet-mail .mail-delete-button:hover,.drawer-sheet-mail .mail-delete-confirm{color:#a8442f}.drawer-sheet-mail .mail-message-title{color:#2e2212;font-family:var(--font-display)}.drawer-sheet-mail .mail-message-header .mail-message-date{color:#6a4a24;opacity:1}.drawer-sheet-mail .mail-message-body{color:#33271a;font-size:.9rem;line-height:1.6}.drawer-sheet-mail .mail-back-button{background:#5a3c1e1f;border:1px solid rgb(106 74 36 / 45%);color:#5a4226}.drawer-sheet-mail .mail-back-button:hover{background:#5a3c1e38;color:#2e2212}.drawer-sheet-mail .mail-compose-label{color:#5a4226;font-family:var(--font-display)}.drawer-sheet-mail .mail-compose-input,.drawer-sheet-mail .mail-compose-textarea{background:#fffaecbf;border:1px solid rgb(106 74 36 / 45%);color:#2e2212}.drawer-sheet-mail .mail-compose-input::placeholder,.drawer-sheet-mail .mail-compose-textarea::placeholder{color:#6a4a248c}.drawer-sheet-mail .mail-compose-send{background:linear-gradient(180deg,#c0563f,#9a3f2c);color:#f7e9da;font-family:var(--font-display);font-weight:700}.drawer-sheet-mail .mail-compose-abort{border:1px solid rgb(106 74 36 / 45%);color:#6a4a24}.drawer-sheet-mail .mail-compose-abort:hover{color:#2e2212;border-color:#8a6a2e}.drawer-sheet.drawer-sheet-chart{background-image:var(--skin-bg, none),radial-gradient(120% 80% at 50% 0%,rgb(222 202 160 / 55%),transparent 70%),linear-gradient(168deg,#d9c49a,#c3aa78 58%,#b59a66);background-size:cover,auto,auto;background-position:center;border:2px solid #2b1d10;border-top:2px solid #2b1d10;box-shadow:0 -16px 48px #080a1299,inset 0 0 36px #281a0c4d}@media(min-width:768px){.drawer-sheet.drawer-sheet-chart{box-shadow:0 24px 60px #080a129e,0 8px 24px #080a126b,inset 0 0 36px #281a0c4d}}.drawer-sheet-chart .drawer-header{border-bottom:1px solid rgb(90 60 30 / 25%)}.drawer-sheet-chart .drawer-title{color:#f6ecce;text-shadow:0 1px 3px rgb(20 12 4 / 80%),0 0 10px rgb(20 12 4 / 50%)}.drawer-sheet-chart .drawer-close{border-color:#f0e1be66;background:#1e120873;color:#f0e3c4}.drawer-sheet-chart .drawer-close:hover{background:#322010a6;color:#fff}.drawer-sheet-chart .drawer-handle{background:#5a3c1e66}.app-shell,.top-banner,.dashboard,.terminal-card,.panel-play,.terminal-overlay,.terminal-primary{display:none!important}.quest-complete-toast{position:fixed;top:calc(var(--space-4, 16px) + 56px);right:var(--space-4, 16px);z-index:240;width:min(320px,calc(100vw - 32px));padding:14px 16px;background:linear-gradient(155deg,color-mix(in srgb,var(--c-soft-gold, #f0c674) 18%,var(--c-surface-raised, #1e2340)) 0%,var(--c-surface-raised, #1e2340) 60%,color-mix(in srgb,var(--c-accent-lavender, #b294bb) 14%,var(--c-surface-raised, #1e2340)) 100%);border:1px solid color-mix(in srgb,var(--c-soft-gold, #f0c674) 45%,transparent);border-radius:14px;box-shadow:0 18px 48px #00000073,0 0 0 1px color-mix(in srgb,var(--c-soft-gold, #f0c674) 22%,transparent),0 0 32px color-mix(in srgb,var(--c-soft-gold, #f0c674) 28%,transparent);color:var(--c-text-primary, #d8dcef);cursor:pointer;animation:questCompleteToastIn .38s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.quest-complete-toast.quest-complete-toast-closing{animation:questCompleteToastOut .32s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}@keyframes questCompleteToastIn{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes questCompleteToastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(16px) scale(.97)}}.quest-complete-toast-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.quest-complete-toast-icon{font-size:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c-soft-gold, #f0c674) 60%,transparent))}.quest-complete-toast-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.quest-complete-toast-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 70%,var(--c-text-secondary, #8890b0));font-weight:600}.quest-complete-toast-name{font-size:15px;font-weight:700;color:var(--c-text-primary, #d8dcef);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-complete-toast-desc{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--c-text-secondary, #8890b0);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quest-complete-toast-rewards{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.quest-complete-toast-reward{display:inline-flex;align-items:baseline;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;background:color-mix(in srgb,var(--c-surface-base, #131630) 60%,transparent);border:1px solid color-mix(in srgb,var(--c-text-secondary, #8890b0) 25%,transparent)}.quest-complete-toast-reward-amount{font-weight:700}.quest-complete-toast-reward-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-secondary, #8890b0)}.quest-complete-toast-reward-xp{border-color:color-mix(in srgb,var(--c-accent-lavender, #b294bb) 45%,transparent);color:color-mix(in srgb,var(--c-accent-lavender, #b294bb) 80%,var(--c-text-primary, #d8dcef))}.quest-complete-toast-reward-gold{border-color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 55%,transparent);color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 90%,var(--c-text-primary, #d8dcef))}.quest-complete-toast-reward-currency{border-color:color-mix(in srgb,var(--c-pale-blue, #81a2be) 45%,transparent);color:color-mix(in srgb,var(--c-pale-blue, #81a2be) 85%,var(--c-text-primary, #d8dcef))}.quest-complete-toast-reward-item{border-color:color-mix(in srgb,var(--c-dusty-rose, #d4a3a3) 50%,transparent);color:color-mix(in srgb,var(--c-dusty-rose, #d4a3a3) 90%,var(--c-text-primary, #d8dcef))}.quest-complete-toast-reward-icon{font-size:12px;opacity:.85}@media(prefers-reduced-motion:reduce){.quest-complete-toast,.quest-complete-toast.quest-complete-toast-closing{animation-duration:80ms}}.combat-victory-toast{position:fixed;top:calc(var(--space-4, 16px) + 56px + 180px);right:var(--space-4, 16px);z-index:240;width:min(320px,calc(100vw - 32px));padding:14px 16px;background:linear-gradient(155deg,color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 22%,var(--c-surface-raised, #1e2340)) 0%,var(--c-surface-raised, #1e2340) 60%,color-mix(in srgb,var(--c-soft-gold, #f0c674) 14%,var(--c-surface-raised, #1e2340)) 100%);border:1px solid color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 45%,transparent);border-radius:14px;box-shadow:0 18px 48px #00000073,0 0 0 1px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 22%,transparent),0 0 32px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 28%,transparent);color:var(--c-text-primary, #d8dcef);cursor:pointer;animation:combatVictoryToastIn .38s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.combat-victory-toast.combat-victory-toast-closing{animation:combatVictoryToastOut .32s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}@keyframes combatVictoryToastIn{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes combatVictoryToastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(16px) scale(.97)}}.combat-victory-toast-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.combat-victory-toast-icon{font-size:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 60%,transparent))}.combat-victory-toast-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.combat-victory-toast-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 75%,var(--c-text-secondary, #8890b0));font-weight:600}.combat-victory-toast-name{font-size:15px;font-weight:700;color:var(--c-text-primary, #d8dcef);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-victory-toast-rewards{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none}.combat-victory-toast-reward{display:inline-flex;align-items:baseline;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;background:color-mix(in srgb,var(--c-surface-base, #131630) 60%,transparent);border:1px solid color-mix(in srgb,var(--c-text-secondary, #8890b0) 25%,transparent)}.combat-victory-toast-reward-amount{font-weight:700}.combat-victory-toast-reward-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-secondary, #8890b0)}.combat-victory-toast-reward-xp{border-color:color-mix(in srgb,var(--c-accent-lavender, #b294bb) 45%,transparent);color:color-mix(in srgb,var(--c-accent-lavender, #b294bb) 80%,var(--c-text-primary, #d8dcef))}.combat-victory-toast-reward-gold{border-color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 55%,transparent);color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 90%,var(--c-text-primary, #d8dcef))}.combat-victory-toast-loot{display:flex;flex-direction:column;gap:4px;margin:0;padding:6px 0 0;list-style:none;border-top:1px solid color-mix(in srgb,var(--c-text-secondary, #8890b0) 18%,transparent)}.combat-victory-toast-loot-item{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--c-text-primary, #d8dcef);min-width:0}.combat-victory-toast-loot-bullet{color:color-mix(in srgb,var(--c-moss-green, #b5bd68) 80%,var(--c-text-primary, #d8dcef));font-size:12px;flex:0 0 auto}.combat-victory-toast-loot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.combat-victory-toast,.combat-victory-toast.combat-victory-toast-closing{animation-duration:80ms}}.flee-toast{position:fixed;top:calc(var(--space-4, 16px) + 56px + 180px);right:var(--space-4, 16px);z-index:240;width:min(320px,calc(100vw - 32px));padding:14px 16px;background:linear-gradient(155deg,color-mix(in srgb,var(--c-pale-blue, #81a2be) 24%,var(--c-surface-raised, #1e2340)) 0%,var(--c-surface-raised, #1e2340) 60%,color-mix(in srgb,var(--c-accent-lavender, #b294bb) 14%,var(--c-surface-raised, #1e2340)) 100%);border:1px solid color-mix(in srgb,var(--c-pale-blue, #81a2be) 50%,transparent);border-radius:14px;box-shadow:0 18px 48px #00000073,0 0 0 1px color-mix(in srgb,var(--c-pale-blue, #81a2be) 22%,transparent),0 0 32px color-mix(in srgb,var(--c-pale-blue, #81a2be) 28%,transparent);color:var(--c-text-primary, #d8dcef);cursor:pointer;animation:fleeToastIn .38s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.flee-toast.flee-toast-forced{background:linear-gradient(155deg,color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 26%,var(--c-surface-raised, #1e2340)) 0%,var(--c-surface-raised, #1e2340) 60%,color-mix(in srgb,var(--c-pale-blue, #81a2be) 14%,var(--c-surface-raised, #1e2340)) 100%);border-color:color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 55%,transparent);box-shadow:0 18px 48px #00000073,0 0 0 1px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 26%,transparent),0 0 32px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 32%,transparent)}.flee-toast.flee-toast-closing{animation:fleeToastOut .32s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}@keyframes fleeToastIn{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes fleeToastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(16px) scale(.97)}}.flee-toast-header{display:flex;align-items:center;gap:12px}.flee-toast-icon{font-size:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c-pale-blue, #81a2be) 60%,transparent))}.flee-toast-forced .flee-toast-icon{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 65%,transparent))}.flee-toast-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.flee-toast-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--c-pale-blue, #81a2be) 80%,var(--c-text-secondary, #8890b0));font-weight:600}.flee-toast-forced .flee-toast-eyebrow{color:color-mix(in srgb,var(--c-dusty-rose, #c97f7f) 80%,var(--c-text-secondary, #8890b0))}.flee-toast-name{font-size:14px;font-weight:600;color:var(--c-text-primary, #d8dcef);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.flee-toast,.flee-toast.flee-toast-closing{animation-duration:80ms}}.racial-proc-toast{position:fixed;top:calc(var(--space-4, 16px) + 56px + 180px);right:var(--space-4, 16px);z-index:240;width:min(320px,calc(100vw - 32px));padding:14px 16px;background:linear-gradient(155deg,color-mix(in srgb,var(--c-soft-gold, #f0c674) 26%,var(--c-surface-raised, #1e2340)) 0%,var(--c-surface-raised, #1e2340) 58%,color-mix(in srgb,var(--c-accent-lavender, #b294bb) 20%,var(--c-surface-raised, #1e2340)) 100%);border:1px solid color-mix(in srgb,var(--c-soft-gold, #f0c674) 50%,transparent);border-radius:14px;box-shadow:0 18px 48px #00000073,0 0 0 1px color-mix(in srgb,var(--c-soft-gold, #f0c674) 24%,transparent),0 0 34px color-mix(in srgb,var(--c-accent-lavender, #b294bb) 30%,transparent);color:var(--c-text-primary, #d8dcef);cursor:pointer;animation:racialProcToastIn .38s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.racial-proc-toast.racial-proc-toast-closing{animation:racialProcToastOut .32s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}@keyframes racialProcToastIn{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes racialProcToastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(16px) scale(.97)}}.racial-proc-toast-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.racial-proc-toast-icon{font-size:22px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c-soft-gold, #f0c674) 65%,transparent))}.racial-proc-toast-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.racial-proc-toast-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--c-soft-gold, #f0c674) 82%,var(--c-text-secondary, #8890b0));font-weight:600}.racial-proc-toast-name{font-size:15px;font-weight:700;color:var(--c-text-primary, #d8dcef);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.racial-proc-toast-text{margin:0;font-size:13px;line-height:1.4;color:var(--c-text-secondary, #8890b0)}@media(prefers-reduced-motion:reduce){.racial-proc-toast,.racial-proc-toast.racial-proc-toast-closing{animation-duration:80ms}}.mm-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:#08060c94;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:mm-fade .16s var(--ease-out-soft)}.mm-card{position:relative;display:flex;gap:18px;width:min(760px,95vw);max-height:90vh;padding:22px;color:#3a2c1a;border-radius:14px;border:2px solid #4a3825;background-image:var(--mm-bg, none),linear-gradient(155deg,#ece2c8,#ddcba6);background-size:100% 100%,auto;background-repeat:no-repeat,no-repeat;box-shadow:0 22px 48px #0000008c,inset 0 0 0 1px #fff8e659,inset 0 2px 18px #785c3840;animation:mm-pop .2s var(--ease-out-soft)}.mm-figure{position:relative;flex:0 0 40%;max-width:300px;margin:0;align-self:stretch;min-height:0}.mm-image{width:100%;height:100%;object-fit:cover;border-radius:10px;border:2px solid #4a3825;box-shadow:inset 0 0 0 2px #fff8e666,0 4px 12px #00000059;background:transparent}.mm-image-empty{min-height:220px;background:#2a3242}.mm-figure-variant .mm-image{filter:grayscale(.85)}.mm-variant-wash{position:absolute;inset:0;border-radius:10px;background:var(--mm-variant-tint, transparent);mix-blend-mode:screen;opacity:.6;pointer-events:none}.mm-portrait-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.mm-card:not(.mm-card-skinned) .mm-figure-framed{flex:0 0 auto;aspect-ratio:2 / 3;align-self:center}.mm-figure-framed .mm-image{border:none;box-shadow:none}.mm-zoom{position:absolute;right:8px;bottom:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;border-radius:50%;border:1px solid #4a3825;background:#ece2c8eb;color:#3a2c1a;cursor:pointer;transition:transform .15s var(--ease-out-soft),background .15s var(--ease-out-soft)}.mm-zoom:hover{transform:scale(1.08);background:#f3ead2}.mm-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.mm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgb(74 56 37 / 35%);padding-bottom:8px}.mm-titles{min-width:0}.mm-name{margin:0;font-family:var(--font-display-solid);font-size:1.7rem;font-weight:700;line-height:1.1;color:#2e2212}.mm-variant-name{display:inline-block;margin-left:8px;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.02em;vertical-align:middle;text-shadow:0 1px 1px rgb(0 0 0 / 55%)}.mm-meta{font-family:var(--font-display-solid);font-size:.92rem;color:#6b5640;letter-spacing:.02em}.mm-arcanum{display:block;width:fit-content;margin-top:5px;padding:2px 10px;border-radius:999px;border:1px solid;font-family:var(--font-display-solid);font-size:.76rem;font-weight:700;letter-spacing:.04em}.mm-arcanum-recorded{color:#2c4a26;background:color-mix(in srgb,var(--color-heal) 28%,#f3ead2);border-color:color-mix(in srgb,var(--color-heal) 45%,#4a3825)}.mm-arcanum-first{color:#4a3208;background:color-mix(in srgb,var(--color-gold-bright) 42%,#f3ead2);border-color:color-mix(in srgb,var(--color-gold-bright) 60%,#4a3825)}.mm-arcanum-claimed{color:#5c4a33;background:color-mix(in srgb,#d9c89a 32%,#f3ead2);border-color:color-mix(in srgb,#d9c89a 55%,#6b5640)}.mm-badge{position:absolute;top:16px;right:16px;z-index:2;padding:5px 12px;border-radius:4px;font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2e2212;background:color-mix(in srgb,var(--consider-accent, #d9c89a) 70%,#f3ead2);border:1px solid color-mix(in srgb,var(--consider-accent, #d9c89a) 60%,#4a3825);box-shadow:0 1px 4px #00000040}.mm-desc{margin:0;font-size:1.02rem;line-height:1.5;color:#3a2c1a;white-space:pre-line}.mm-desc:first-letter{font-family:var(--font-display);font-size:2.6rem;font-weight:700;line-height:.8;float:left;margin:4px 8px 0 0;color:#6a4a24}.mm-assess{margin-top:auto;padding-top:10px;border-top:1px solid rgb(74 56 37 / 30%);display:flex;flex-direction:column;gap:8px}.mm-winbar{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#5a4628}.mm-winbar-label{flex:0 0 auto;letter-spacing:.03em}.mm-winbar-pct{flex:0 0 auto;font-weight:700;color:#4a3410}.mm-winbar-track{flex:1 1 auto;height:7px;border-radius:4px;background:#4a382538;border:1px solid rgb(74 56 37 / 30%);overflow:hidden}.mm-winbar-fill{display:block;height:100%;border-radius:4px;background:var(--consider-accent, #d9c89a)}.mm-stats{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px 14px}.mm-stat{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:.8rem}.mm-stat dt{color:#5a4226;text-transform:uppercase;letter-spacing:.02em}.mm-stat dd{margin:0;font-weight:700;color:#3a2c1a;font-variant-numeric:tabular-nums}.mm-assessing{margin-top:auto;padding-top:10px;border-top:1px solid rgb(74 56 37 / 30%);font-style:italic;color:#7a6044}.mm-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(8px,1.4vw,16px);padding-top:8px}.mm-action{flex:0 0 auto;width:clamp(60px,13%,82px);display:inline-flex;flex-direction:column;align-items:center;gap:5px;padding:2px;border:none;background:none;cursor:pointer;transition:transform .15s var(--ease-out-soft)}.mm-action:hover{transform:translateY(-2px)}.mm-action-icon{width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 2px 5px rgb(40 28 14 / 45%));transition:filter .15s var(--ease-out-soft)}.mm-action:hover .mm-action-icon{filter:drop-shadow(0 0 12px rgb(230 196 106 / 75%))}.mm-action-glyph{display:inline-flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;font-size:clamp(1.7rem,5vw,2.7rem);line-height:1;color:#5a4226;filter:drop-shadow(0 1px 2px rgb(40 28 14 / 35%))}.mm-action-label{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:1px 10px;border-radius:999px;color:#f0e6cf;background:#3a2c1ad9}.mm-compose{display:flex;gap:8px;margin:4px 0 10px}.mm-compose-input{flex:1;min-width:0;border:1px solid rgb(120 96 52 / 45%);border-radius:8px;background:#faf4e4eb;color:#3a2f1c;padding:8px 12px;font-size:.92rem}.mm-compose-input:focus{outline:none;border-color:#b48c46e5;box-shadow:0 0 0 2px #b48c464d}.mm-compose-send{flex:0 0 auto;border:1px solid rgb(120 96 52 / 50%);border-radius:8px;background:linear-gradient(165deg,#6b8f5a,#4a6a3d);color:#f3ecd8;font-family:var(--font-display);font-weight:700;padding:0 18px;cursor:pointer}.mm-compose-send:disabled{opacity:.45;cursor:default}.mm-give{margin:4px 0 10px;max-height:30vh;overflow-y:auto;border:1px solid rgb(120 96 52 / 35%);border-radius:8px;background:#faf4e4b3;padding:6px}.mm-give-empty{margin:6px;font-style:italic;color:#5a4226bf;text-align:center}.mm-give-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.mm-give-item{width:100%;text-align:left;border:1px solid transparent;border-radius:6px;background:none;color:#3a2f1c;padding:7px 10px;font-size:.9rem;cursor:pointer;transition:background .15s var(--ease-out-soft)}.mm-give-item:hover{background:#b48c4638;border-color:#b48c4673}.mm-card-skinned{display:block;width:min(840px,96vw);max-height:none;aspect-ratio:1280 / 853;padding:0;border:none;background-size:100% 100%,auto;box-shadow:0 22px 48px #0000008c}.mm-card-skinned .mm-figure{position:absolute;left:9%;top:11%;width:34%;height:76%;flex:none;max-width:none}.mm-card-skinned .mm-image{width:100%;height:100%;object-fit:contain;border:none;border-radius:0;background:none;box-shadow:none}.mm-card-skinned .mm-zoom{right:2px;bottom:2px}.mm-card-skinned .mm-badge{left:85.5%;top:9.5%;right:auto;transform:translate(-50%,-50%);padding:0;border:none;background:none;box-shadow:none;font-size:.6rem;letter-spacing:.1em;color:#5a4326}.mm-card-skinned .mm-content{position:absolute;inset:12% 5.5% 8% 45%;gap:8px;overflow:hidden}.mm-card-skinned .mm-assess{position:relative;border-top-color:#4a382559}.mm-card-skinned .mm-assess:before{content:"";position:absolute;inset:-2px -6px -4px;z-index:-1;border-radius:12px;background:#f7f0dee0;filter:blur(6px)}.mm-card-skinned .mm-desc{flex:1 1 auto;min-height:0;overflow-y:auto;font-size:1.12rem;font-weight:500;line-height:1.5;color:#33271a;text-shadow:0 1px 1px rgb(255 250 236 / 55%);scrollbar-width:thin;scrollbar-color:rgb(106 74 36 / 55%) transparent}.mm-card-skinned .mm-desc::-webkit-scrollbar{width:6px}.mm-card-skinned .mm-desc::-webkit-scrollbar-track{background:transparent}.mm-card-skinned .mm-desc::-webkit-scrollbar-thumb{background:#6a4a247f;border-radius:3px}.mm-card-skinned .mm-assess,.mm-card-skinned .mm-assessing{margin-top:0}.mm-back{align-self:flex-start;margin:0;padding:2px 4px;border:none;background:none;font-family:var(--font-display);font-size:.85rem;color:#6a4a24;cursor:pointer}.mm-back:hover{color:#2e2212}.mm-view{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.mm-card-skinned .mm-view{scrollbar-width:thin;scrollbar-color:rgb(106 74 36 / 55%) transparent}.mm-card-skinned .mm-view::-webkit-scrollbar{width:6px}.mm-card-skinned .mm-view::-webkit-scrollbar-track{background:transparent}.mm-card-skinned .mm-view::-webkit-scrollbar-thumb{background:#6a4a247f;border-radius:3px}.mm-dialog{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0}.mm-dialog-text{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;margin:0;font-size:1.04rem;line-height:1.5;font-style:italic;color:#33271a;text-shadow:0 1px 1px rgb(255 250 236 / 50%);scrollbar-width:thin;scrollbar-color:rgb(106 74 36 / 55%) transparent}.mm-dialog-text::-webkit-scrollbar{width:6px}.mm-dialog-text::-webkit-scrollbar-track{background:transparent}.mm-dialog-text::-webkit-scrollbar-thumb{background:#6a4a247f;border-radius:3px}.mm-dialog-waiting{flex:0 0 auto;opacity:.6;font-style:normal}.mm-dialog-choices{flex:0 1 auto;list-style:none;margin:0;padding:0 3px;display:flex;flex-direction:column;gap:6px;max-height:45%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(106 74 36 / 55%) transparent}.mm-dialog-choices::-webkit-scrollbar{width:6px}.mm-dialog-choices::-webkit-scrollbar-track{background:transparent}.mm-dialog-choices::-webkit-scrollbar-thumb{background:#6a4a247f;border-radius:3px}.mm-dialog-choice{position:relative;width:100%;text-align:left;padding:9px 14px 9px 30px;border-radius:8px;border:1px solid rgb(74 56 37 / 35%);background:#f7f0dead;color:#33271a;font-family:var(--font-display);font-size:.97rem;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mm-dialog-choice:before{content:"❧";position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#8a6a2e;font-size:.95em;transition:transform .15s var(--ease-out-soft)}.mm-dialog-choice:hover{background:#faf4e4f2;border-color:#8a6a2e;transform:translate(2px)}.mm-dialog-choice:hover:before{transform:translateY(-50%) scale(1.18)}.mm-dialog-end{margin:0;font-style:italic;color:#7a6044}.mm-view .quest-offer-panel{display:flex;flex-direction:column;gap:12px}.mm-view .quest-offer-section{display:flex;flex-direction:column;gap:8px}.mm-view .quest-offer-section-title{margin:0;font-family:var(--font-display);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6a4a24}.mm-view .quest-available-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mm-view .quest-available-card{display:flex;flex-direction:column;gap:7px;padding:0;border:none;background:none;box-shadow:none;animation:none}.mm-view .quest-available-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mm-view .quest-available-name{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#2e2212}.mm-view .quest-available-level-pill{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:1px 9px;border-radius:999px;color:#5a4226;background:#b88a2e33;border:1px solid rgb(184 138 46 / 45%)}.mm-view .quest-available-description{margin:0;font-size:.92rem;line-height:1.45;color:#3a2c1a}.mm-view .quest-available-objectives{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.mm-view .quest-available-objective{display:flex;align-items:center;gap:6px;font-size:.84rem;color:#5a4628}.mm-view .quest-available-obj-icon{color:#6a4a24}.mm-view .quest-available-obj-count{margin-left:auto;font-variant-numeric:tabular-nums;color:#6a4a24}.mm-view .quest-available-rewards{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem}.mm-view .quest-available-rewards-label{color:#6a4a24;font-weight:600}.mm-view .quest-reward-xp,.mm-view .quest-reward-gold,.mm-view .quest-reward-item{padding:2px 8px;border-radius:999px;font-weight:600;color:#5a4226;background:#b88a2e2e;border:1px solid rgb(184 138 46 / 40%)}.mm-view .quest-reward-item-icon{color:#b88a2e;margin-right:2px}.mm-view .quest-offer-requirements{display:flex;flex-wrap:wrap;gap:6px}.mm-view .quest-offer-requirement{font-size:.76rem;padding:2px 8px;border-radius:4px;color:#5a4226;background:#6a4a241f;border:1px solid rgb(106 74 36 / 35%)}.mm-view .quest-offer-locked{margin:0;font-size:.82rem;font-style:italic;color:#9a5a3a}.mm-view .quest-accept-button{position:relative;align-self:flex-start;margin-top:4px;padding:9px 16px 9px 32px;border-radius:8px;border:1px solid rgb(74 56 37 / 35%);background:#f7f0dead;color:#33271a;font-family:var(--font-display);font-weight:700;font-size:.97rem;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.mm-view .quest-accept-button:before{content:"❧";position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a6a2e;font-size:.95em;transition:transform .15s var(--ease-out-soft)}.mm-view .quest-accept-button:hover:not(:disabled){background:#faf4e4f2;border-color:#8a6a2e;transform:translate(2px)}.mm-view .quest-accept-button:hover:not(:disabled):before{transform:translateY(-50%) scale(1.18)}.mm-view .quest-accept-button:disabled{opacity:.5;cursor:not-allowed}.mm-view .quest-turnin-button{border-color:#8a6a2e8c;background:#e6c46a61;color:#2e2212}.mm-view .quest-turnin-button:hover:not(:disabled){background:#e6c46a99;border-color:#8a6a2e}.mm-view .quest-offer-empty{display:flex;flex-direction:column;align-items:center;gap:6px}.mm-view .quest-empty-icon{color:#b88a2e;font-size:1.4rem}.mm-view .empty-note{color:#6a4a24}@keyframes mm-fade{0%{opacity:0}to{opacity:1}}@keyframes mm-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mm-backdrop,.mm-card{animation:none}}.mm-close-x{display:none}@media(max-width:640px){.mm-card{flex-direction:column;gap:12px;padding:16px;max-height:90vh;overflow-y:auto}.mm-close-x{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px);right:12px;z-index:210;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgb(255 246 230 / 45%);background:#1e1208d1;color:#f4e9cb;font-size:1.05rem;line-height:1;cursor:pointer}.mm-figure{flex:0 0 auto;max-width:none;width:100%}.mm-image{height:200px}.mm-content{overflow-y:visible}.mm-name{font-size:1.4rem}.mm-stats{grid-template-columns:repeat(2,1fr)}.mm-card-skinned{display:flex;aspect-ratio:auto;width:min(420px,92vw);height:auto;padding:16px;border:2px solid #4a3825;background-image:linear-gradient(155deg,#ece2c8,#ddcba6)}.mm-card-skinned .mm-figure{position:static;width:100%;height:200px}.mm-card-skinned .mm-content{position:static;inset:auto;overflow:visible}.mm-card-skinned .mm-desc{overflow-y:visible}.mm-card-skinned .mm-badge{top:14px;right:14px;left:auto;transform:none;padding:4px 10px;font-size:.7rem;color:#2e2212;background:color-mix(in srgb,var(--consider-accent, #d9c89a) 70%,#f3ead2);border:1px solid #4a3825}}.dice-panel{display:flex;flex-direction:column;gap:1rem}.dice-stage{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.1rem 0 .4rem}.dice-die{position:relative;display:flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:20px;background:linear-gradient(150deg,var(--surface-chip),var(--surface-panel-b));border:1px solid var(--glass-edge);box-shadow:0 14px 28px #0000004d,inset 0 1px #ffffff14;transition:box-shadow .36s ease,border-color .36s ease,transform .36s ease}.dice-die-number,.dice-die-mystery{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--text-bright)}.dice-die-mystery{color:var(--text-placeholder)}.dice-die-pip{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--color-primary-soft-gold);opacity:.55}.dice-die-pip-tl{top:10px;left:10px}.dice-die-pip-tr{top:10px;right:10px}.dice-die-pip-bl{bottom:10px;left:10px}.dice-die-pip-br{bottom:10px;right:10px}.dice-die-rolling{animation:dice-tumble .24s ease-in-out infinite}@keyframes dice-tumble{0%{transform:rotate(-7deg) translateY(0)}25%{transform:rotate(5deg) translateY(-7px)}50%{transform:rotate(-4deg) translateY(2px)}75%{transform:rotate(7deg) translateY(-4px)}to{transform:rotate(-7deg) translateY(0)}}.dice-die-won{border-color:color-mix(in srgb,var(--color-primary-moss-green) 70%,transparent);box-shadow:0 0 26px color-mix(in srgb,var(--color-primary-moss-green) 45%,transparent),0 14px 28px #0000004d;animation:dice-win-pop .42s ease}@keyframes dice-win-pop{0%{transform:scale(1)}45%{transform:scale(1.16) rotate(3deg)}to{transform:scale(1)}}.dice-die-won .dice-die-number{color:var(--color-hp-light)}.dice-die-won .dice-die-pip{background:var(--color-primary-moss-green);opacity:.9}.dice-die-lost{border-color:color-mix(in srgb,var(--color-primary-dusty-rose) 50%,transparent);box-shadow:0 10px 22px #0000005c;filter:saturate(.8)}.dice-die-lost .dice-die-number{color:var(--color-primary-dusty-rose)}.dice-outcome{margin:0;min-height:1.4em;text-align:center;color:var(--text-secondary);line-height:1.5}.dice-outcome-win{color:var(--color-hp-light);font-weight:600}.dice-outcome-lose{color:var(--color-primary-dusty-rose)}@media(prefers-reduced-motion:reduce){.dice-die-rolling,.dice-die-won{animation:none}}.char-cabinet{--cc-wood: #4a3a26;--cc-wood-dark: #271d12;--cc-brass: #c9a24a;--cc-brass-soft: #e6cd92;--cc-leaf: #7bbf6a;--cc-gem: #9a6bd0;--cc-ink: #efe4cd;--cc-ink-dim: #c2b294;position:relative;display:flex;flex-direction:column;gap:10px;padding:4px clamp(12px,2.5vw,22px) clamp(12px,2.5vw,20px);color:var(--cc-ink)}.drawer-sheet.drawer-sheet-cabinet{background-image:var(--skin-bg, none),linear-gradient(165deg,#2e2418fa,#1e1810fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-cabinet .drawer-title{display:none}.drawer-sheet-cabinet .drawer-header{border-bottom:none;padding:6px 12px 0;min-height:0}.drawer-sheet-cabinet .drawer-body{padding:0}.drawer-sheet-cabinet .drawer-body,.cc-modal-body{scrollbar-width:thin;scrollbar-color:rgb(201 162 74 / 65%) transparent}.drawer-sheet-cabinet .drawer-body::-webkit-scrollbar,.cc-modal-body::-webkit-scrollbar{width:8px}.drawer-sheet-cabinet .drawer-body::-webkit-scrollbar-thumb,.cc-modal-body::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#c9a24ab3,#8c6834a6)}.drawer-sheet-cabinet .drawer-body::-webkit-scrollbar-track,.cc-modal-body::-webkit-scrollbar-track{background:transparent}.cc-frame,.cc-plaque{position:relative;border-radius:12px;border:1px solid rgb(201 162 74 / 44%);background:linear-gradient(165deg,#362716b8,#261b0fad);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:inset 0 1px #f0d79c29,0 6px 18px #140c0442}.cc-plaque{border-radius:10px;background:linear-gradient(165deg,#2e2112bd,#20170cb3)}.cc-frame.has-art{border:40px solid transparent;border-image:var(--cc-frame-img, none) 64 fill / 40px / 0 stretch}.cc-grid{display:grid;grid-template-columns:minmax(190px,270px) 1fr minmax(92px,128px);grid-template-areas:"showcase identity identity" "showcase readouts stats";gap:12px;align-items:start}.cc-showcase{grid-area:showcase;display:flex;flex-direction:column;gap:10px}.cc-identity{grid-area:identity}.cc-readouts{grid-area:readouts}.cc-stats{grid-area:stats}@media(max-width:720px){.cc-grid{grid-template-columns:1fr;grid-template-areas:"showcase" "identity" "readouts" "stats"}}.cc-niche{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:14px 14px 10px 10px;overflow:hidden;border:1px solid rgb(201 162 74 / 32%);background:radial-gradient(ellipse at 50% 30%,rgb(60 80 70 / 55%),transparent 62%),linear-gradient(180deg,#1c2620f5,#0e1410f5);box-shadow:inset 0 0 40px #0009,inset 0 2px #e6cd921f}.cc-niche.has-art{background-image:var(--cc-niche);background-size:cover;background-position:center}.cc-sprite{position:absolute;left:50%;bottom:2%;transform:translate(-50%);max-width:98%;max-height:99%;object-fit:contain;filter:drop-shadow(0 6px 14px rgb(0 0 0 / 55%))}.cc-sprite-empty{position:absolute;inset:18%;border-radius:12px;background:#ffffff0a}.cc-sprite-rack{display:flex;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:6px;padding:8px;border-radius:12px;border:1px solid rgb(201 162 74 / 28%);background:linear-gradient(160deg,#281f14e0,#1a140ddb);box-shadow:inset 0 0 18px #00000073;overflow-y:auto;min-height:60px;max-height:166px;scrollbar-width:thin;scrollbar-color:rgb(201 162 74 / 65%) transparent}.cc-sprite-rack::-webkit-scrollbar{width:8px}.cc-sprite-rack::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#c9a24ab3,#8c6834a6)}.cc-sprite-rack::-webkit-scrollbar-track{background:transparent}.cc-thumb{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;padding:3px;border-radius:9px;border:1px solid rgb(201 162 74 / 26%);background:#141c16b3;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.cc-thumb img{max-width:100%;max-height:100%;object-fit:contain}.cc-thumb:hover{transform:translateY(-1px);border-color:#e6cd928c}.cc-thumb.is-active{border-color:var(--cc-brass, #c9a24a);box-shadow:0 0 0 1px var(--cc-brass, #c9a24a),0 0 10px #c9a24a73}.cc-thumb-auto{font-family:var(--font-display);font-size:.6rem;line-height:1.05;text-align:center;color:var(--cc-brass-soft)}.cc-identity{display:flex;flex-direction:column;gap:9px;padding:clamp(12px,2vw,18px)}.cc-id-row{display:flex;align-items:center;gap:10px}.cc-id-row-split{flex-wrap:wrap}.cc-id-label{flex-shrink:0;min-width:46px;font-size:.78rem;font-weight:700;color:var(--cc-ink-dim)}.cc-id-value{font-size:.95rem;color:var(--cc-ink)}.cc-id-row-split .cc-id-value{margin-right:auto;font-weight:600}.cc-id-name{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.05rem;color:var(--cc-brass-soft)}.cc-scribe-btn{width:24px;height:24px;border-radius:50%;border:1px solid rgb(201 162 74 / 36%);background:#3c2e1a99;color:var(--cc-brass-soft);font-size:.82rem;cursor:pointer;transition:background .15s,transform .15s}.cc-scribe-btn:hover{background:#523e22d9;transform:translateY(-1px)}.cc-select{flex:1;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid rgb(201 162 74 / 32%);background:#16110abf;color:var(--cc-ink);font-family:inherit;font-size:.88rem}.cc-select:focus{outline:none;border-color:var(--cc-brass)}.cc-segmented{display:inline-flex;gap:4px;padding:3px;border-radius:999px;border:1px solid rgb(201 162 74 / 26%);background:#140f09b3}.cc-seg{padding:5px 14px;border:none;border-radius:999px;background:none;color:var(--cc-ink-dim);font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.cc-seg.is-active{color:#2a1f12;background:linear-gradient(160deg,var(--cc-brass-soft),var(--cc-brass));box-shadow:0 1px 4px #00000059}.cc-toggle-row,.cc-wimpy{display:flex;align-items:center;gap:12px}.cc-toggle-label{flex:1;display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--cc-ink)}.cc-toggle-label:before{content:"";width:14px;height:14px;border-radius:3px 8px;background:var(--cc-leaf);opacity:.7;flex-shrink:0}.cc-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:none;cursor:pointer;padding:0}.cc-toggle-track{position:relative;width:46px;height:24px;border-radius:999px;background:#140f09d9;border:1px solid rgb(201 162 74 / 30%);transition:background .18s}.cc-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#efe1bd,#b08a3c);box-shadow:0 1px 3px #0000007f;transition:transform .18s var(--ease-out-soft)}.cc-toggle.is-on .cc-toggle-track{background:linear-gradient(160deg,#7bbf6ab3,#5a9650b3);border-color:#7bbf6a8c}.cc-toggle.is-on .cc-toggle-thumb{transform:translate(22px)}.cc-toggle-state{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--cc-ink-dim);min-width:26px}.cc-toggle.is-on .cc-toggle-state{color:var(--cc-leaf)}.cc-toggle:disabled{opacity:.5;cursor:default}.cc-wimpy-slider{flex:1;accent-color:var(--cc-brass)}.cc-wimpy-value{min-width:34px;text-align:center;padding:3px 6px;border-radius:6px;border:1px solid rgb(201 162 74 / 30%);background:#140f09b3;font-size:.84rem;font-weight:700}.cc-wimpy-step{width:26px;height:26px;border-radius:7px;border:1px solid rgb(201 162 74 / 36%);background:#3c2e1ab3;color:var(--cc-brass-soft);font-size:1rem;cursor:pointer}.cc-wimpy-step:hover:not(:disabled){background:#523e22d9}.cc-wimpy-step:disabled{opacity:.4;cursor:default}.cc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px}.cc-ctl{display:inline-flex;align-items:center;gap:7px}.cc-ctl-toggle{border:none;background:none;padding:4px 2px;cursor:pointer}.cc-ctl-toggle:disabled{opacity:.5;cursor:default}.cc-ctl-leaf{width:13px;height:13px;flex-shrink:0;border-radius:3px 8px;background:var(--cc-leaf);opacity:.7}.cc-ctl-name{font-size:.84rem;font-weight:600;color:var(--cc-ink);white-space:nowrap}.cc-switch{position:relative;width:38px;height:20px;flex-shrink:0;border-radius:999px;background:#140f09d9;border:1px solid rgb(201 162 74 / 30%);transition:background .18s}.cc-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#efe1bd,#b08a3c);box-shadow:0 1px 3px #0000007f;transition:transform .18s var(--ease-out-soft)}.cc-ctl-toggle.is-on .cc-switch{background:linear-gradient(160deg,#7bbf6ab8,#5a9650b8);border-color:#7bbf6a8c}.cc-ctl-toggle.is-on .cc-switch-thumb{transform:translate(18px)}.cc-ctl-wimpy{gap:5px;margin-left:auto}.cc-step{width:22px;height:22px;border-radius:6px;border:1px solid rgb(201 162 74 / 36%);background:#3c2e1aa6;color:var(--cc-brass-soft);font-size:.95rem;line-height:1;cursor:pointer}.cc-step:hover:not(:disabled){background:#523e22d9}.cc-step:disabled{opacity:.4;cursor:default}.cc-step-val{min-width:36px;text-align:center;font-size:.84rem;font-weight:700;color:var(--cc-ink)}.cc-readouts{display:flex;flex-direction:column;gap:12px;padding:clamp(12px,2vw,18px)}.cc-topline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.92rem;color:var(--cc-ink)}.cc-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:#c9a24a2e;border:1px solid rgb(201 162 74 / 34%);color:var(--cc-brass-soft);font-size:.78rem;margin-right:6px}.cc-bars{display:flex;flex-direction:column;gap:9px}.cc-bar{display:grid;grid-template-columns:18px 56px 1fr auto;align-items:center;gap:10px}.cc-bar-icon{width:16px;height:16px;border-radius:4px}.cc-bar-hp .cc-bar-icon{background:radial-gradient(circle at 35% 30%,#e8736a,#b8322a)}.cc-bar-mana .cc-bar-icon{background:radial-gradient(circle at 35% 30%,#6fb6e8,#2f6fc0);border-radius:50%}.cc-bar-xp .cc-bar-icon{background:radial-gradient(circle at 35% 30%,#c79be8,#8a4fc0);transform:rotate(45deg)}.cc-bar-label{font-size:.84rem;font-weight:700;color:var(--cc-ink)}.cc-bar-track{position:relative;height:16px;border-radius:999px;background:#080604c7;border:1px solid rgb(201 162 74 / 28%);overflow:hidden;box-shadow:inset 0 1px 4px #0009}.cc-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;transition:width .28s var(--ease-out-soft)}.cc-bar-hp .cc-bar-fill{background:linear-gradient(180deg,#e3635a,#a82a22)}.cc-bar-mana .cc-bar-fill{background:linear-gradient(180deg,#5aa6e3,#2560b0)}.cc-bar-xp .cc-bar-fill{background:linear-gradient(180deg,#b98ae0,#7a45b8)}.cc-bar-value{font-size:.82rem;font-weight:700;color:var(--cc-ink);white-space:nowrap}.cc-section-title{margin:0;font-family:var(--font-display);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-brass-soft)}.cc-effects-empty{margin:4px 0 0;color:var(--cc-ink-dim);font-size:.84rem;font-style:italic}.cc-charms{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.cc-charm{display:flex;flex-direction:column;align-items:center;gap:2px;width:74px;padding:8px 4px 6px;border-radius:12px 12px 10px 10px;border:1px solid color-mix(in srgb,var(--cc-charm-accent, #8fa9c8) 45%,transparent);background:radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--cc-charm-accent, #8fa9c8) 30%,transparent),transparent 62%),linear-gradient(165deg,#1e170ee5,#120d08e0);text-align:center}.cc-charm.has-art{border:none;background:var(--cc-charm) center / contain no-repeat}.cc-charm-glyph{width:26px;height:26px;border-radius:6px 12px;background:var(--cc-charm-accent, #8fa9c8);box-shadow:0 0 10px color-mix(in srgb,var(--cc-charm-accent, #8fa9c8) 60%,transparent)}.cc-charm-name{font-size:.68rem;font-weight:700;color:var(--cc-ink);line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-charm-time{font-size:.66rem;color:var(--cc-ink-dim)}.cc-charm-more{justify-content:center;width:48px;font-size:.9rem;font-weight:800;color:var(--cc-brass-soft)}.cc-derived{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cc-derived-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px}.cc-derived-label{font-size:.74rem;font-weight:700;color:var(--cc-ink-dim);text-transform:uppercase;letter-spacing:.05em}.cc-derived-value{font-size:.98rem;font-weight:800;color:var(--cc-brass-soft);white-space:nowrap}.cc-stats{padding:12px 10px}.cc-stats-title{margin:0 0 8px;text-align:center;font-family:var(--font-display);font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cc-brass-soft)}.cc-stats-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.cc-stat-row{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:7px;background:#0806047f;border:1px solid rgb(201 162 74 / 18%)}.cc-stat-abbrev{font-size:.78rem;font-weight:700;color:var(--cc-ink-dim)}.cc-stat-value{font-size:.92rem;font-weight:800;color:var(--cc-ink)}.cc-stats-empty{text-align:center;color:var(--cc-ink-dim)}.cc-actions{display:flex;gap:16px;padding:2px clamp(6px,3vw,28px)}.cc-gem-btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;padding:10px 18px;border-radius:12px;border:1px solid rgb(201 162 74 / 40%);color:#fdf3d8;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.02em;cursor:pointer;text-shadow:0 1px 3px rgb(0 0 0 / 70%);box-shadow:inset 0 1px #ffffff24,0 6px 16px #08060366;transition:transform .15s,filter .15s}.cc-gem-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.cc-gem-green{background:linear-gradient(160deg,#3a6e46eb,#224a2eeb)}.cc-gem-purple{background:linear-gradient(160deg,#60428ceb,#3e2a60eb)}.cc-gem-btn.has-art{min-height:82px;border:none;background:var(--cc-btn) center / contain no-repeat;box-shadow:none}.cc-gem-purple.has-art .cc-gem-label{color:#2a2030;text-shadow:0 1px 1px rgb(250 244 226 / 55%);transform:translateY(3px)}.cc-prestige-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:9px 14px;border-radius:10px;border:1px solid rgb(154 107 208 / 34%);background:linear-gradient(160deg,#281c38cc,#181122c7)}.cc-prestige-rank{font-size:.84rem;font-weight:700;color:#d9c2f4;white-space:nowrap}.cc-prestige-bar{position:relative;height:12px;border-radius:999px;background:#08060ccc;border:1px solid rgb(154 107 208 / 32%);overflow:hidden}.cc-prestige-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,#b98ae0,#7a45b8);border-radius:999px;transition:width .28s var(--ease-out-soft)}.cc-prestige-points{font-size:.8rem;font-weight:700;color:#d9c2f4;white-space:nowrap}.cc-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:18px;background:#0806048c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cc-modal,.cc-scribe{width:min(560px,100%);max-height:88%;display:flex;flex-direction:column;padding:16px 18px}.cc-scribe{gap:12px;border-radius:12px;border:1px solid rgb(201 162 74 / 36%);background:linear-gradient(165deg,#3c301ef5,#281f12f5)}.cc-scribe.has-art{border:none;background:var(--cc-scribe) center / cover no-repeat,#281f12f5;color:#3a2a16}.cc-scribe-title{margin:0;font-family:var(--font-display);font-size:1.05rem;color:var(--cc-brass-soft);text-align:center}.cc-scribe.has-art .cc-scribe-title{color:#5a3a16}.cc-scribe-text{min-height:140px;resize:vertical;padding:12px;border-radius:8px;border:1px solid rgb(201 162 74 / 30%);background:#140f098c;color:var(--cc-ink);font-family:var(--font-display);font-size:1rem;line-height:1.5}.cc-scribe.has-art .cc-scribe-text{background:#f5eeda8c;color:#2e2010;border-color:#785a2866}.cc-scribe-text:focus{outline:none;border-color:var(--cc-brass)}.cc-scribe-actions{display:flex;justify-content:flex-end;gap:8px}.cc-scribe-cancel,.cc-scribe-clear,.cc-scribe-save{padding:7px 16px;border-radius:8px;border:1px solid rgb(201 162 74 / 36%);background:#281f12cc;color:var(--cc-ink);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.cc-scribe-save{border-color:var(--cc-brass);background:linear-gradient(160deg,var(--cc-brass-soft),var(--cc-brass));color:#2a1f12}.cc-scribe-save:disabled{opacity:.5;cursor:default}.cc-modal{gap:12px}.cc-modal-head{display:flex;align-items:center;justify-content:space-between}.cc-modal-title{margin:0;font-family:var(--font-display);font-size:1.1rem;color:var(--cc-brass-soft)}.cc-modal-close{width:30px;height:30px;border-radius:50%;border:1px solid rgb(201 162 74 / 36%);background:#281f12cc;color:var(--cc-ink);cursor:pointer}.cc-modal-body{overflow-y:auto;display:flex;flex-direction:column;gap:8px}.cc-ach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cc-ach-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:#08060473;border:1px solid rgb(201 162 74 / 18%)}.cc-ach-row:has(.cc-ach-bar){grid-template-columns:1fr 120px auto}.cc-ach-name{font-size:.88rem;font-weight:600;color:var(--cc-ink)}.cc-ach-title{font-size:.8rem;color:var(--cc-brass-soft);font-style:italic}.cc-ach-bar{position:relative;height:8px;border-radius:999px;background:#080604b3;overflow:hidden}.cc-ach-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,var(--cc-leaf),#4f8a44)}.cc-ach-count{font-size:.78rem;color:var(--cc-ink-dim)}.cc-ach-done{border-color:#7bbf6a47}.cc-prestige-tbd{align-items:center;text-align:center;padding:24px 12px;gap:10px}.cc-prestige-glyph{margin:0;font-size:2.4rem;color:var(--cc-gem);text-shadow:0 0 18px rgb(154 107 208 / 60%)}.cc-prestige-soon{margin:0;font-family:var(--font-display);font-size:1.05rem;color:#d9c2f4}.cc-prestige-meta{margin:0;font-size:.84rem;color:var(--cc-ink-dim)}.char-cabinet-empty{align-items:center;justify-content:center;min-height:40vh}.cc-empty-card{text-align:center;display:flex;flex-direction:column;gap:8px;padding:28px 24px}.cc-empty-title{margin:0;font-family:var(--font-display);font-size:1.1rem;color:var(--cc-brass-soft)}.cc-empty-note{margin:0;color:var(--cc-ink-dim)}.cc-empty-logout{margin-top:6px;align-self:center;padding:8px 18px;border-radius:8px;border:1px solid rgb(201 162 74 / 36%);background:#281f12cc;color:var(--cc-ink);cursor:pointer}@media(prefers-reduced-motion:reduce){.cc-toggle-thumb,.cc-bar-fill,.cc-prestige-fill{transition:none}}.drawer-sheet.drawer-sheet-board{background:linear-gradient(165deg,#22180ef5,#140e08f7)}.drawer-sheet-board .drawer-title,.drawer-sheet-board .drawer-handle-zone{display:none}.drawer-sheet-board .drawer-header{position:absolute;top:4px;left:6px;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-board .drawer-body{padding:0;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.drawer-sheet.drawer-sheet-board{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:1447 / 1087}}.chatboard{--chat-accent-say: #79c46b;--chat-accent-tell: #b08be0;--chat-accent-gossip: #e0b24f;--chat-accent-shout: #e08a46;--chat-accent-ooc: #5fb0e0;--chat-ink: #f3e7cf;position:relative;width:100%;max-height:100%;aspect-ratio:1447 / 1087;margin:auto;background-image:var(--chat-bg, none);background-size:100% 100%;background-position:center;background-repeat:no-repeat}.cb-hotspot{position:absolute;margin:0;padding:0;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:box-shadow .15s var(--ease-out-soft),background .15s var(--ease-out-soft)}.cb-hotspot:hover:not(:disabled){background:#ffffff14}.cb-hotspot:disabled{cursor:default}.cb-hotspot:focus-visible{outline:2px solid rgb(230 205 146 / 80%);outline-offset:1px}.cb-channel.is-active{box-shadow:inset 0 0 0 2px var(--chat-accent),0 0 14px #c9a24a59;border-radius:12px}.cb-emote.is-active{box-shadow:inset 0 0 0 2px var(--chat-accent-gossip)}.cb-feed{position:absolute;overflow-y:auto;display:flex;flex-direction:column;padding:clamp(6px,1.2vh,12px) clamp(8px,1.4vw,14px);color:var(--chat-ink);scrollbar-width:thin;scrollbar-color:rgb(201 162 74 / 50%) transparent}.cb-feed::-webkit-scrollbar{width:7px}.cb-feed::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#c9a24aa6,#8c683499)}.cb-feed::-webkit-scrollbar-track{background:transparent}.cb-empty{margin:auto;text-align:center;font-style:italic;color:#f3e7cf7f}.cb-compose{display:contents}.cb-input{position:absolute;border:none;background:transparent;color:#2a2113;font-size:clamp(.78rem,1.5vw,1rem);padding:0 clamp(6px,1vw,14px);border-radius:8px}.cb-input::placeholder{color:#2a21137f;font-style:italic}.cb-input:focus{outline:none;box-shadow:inset 0 0 0 2px #c9a24a73}.cb-target{border-right:1px solid rgb(120 96 52 / 35%)}.cb-emote-picker{position:absolute;z-index:7;display:flex;flex-direction:column;gap:6px;padding:8px;overflow-y:auto;border-radius:10px;border:1px solid rgb(201 162 74 / 35%);background:linear-gradient(160deg,#281f14f5,#1a140df7);box-shadow:0 6px 20px #0000008c}.drawer-sheet.drawer-sheet-starframe{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#1e2850f5,#0c1022fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-starframe .drawer-title,.drawer-sheet-starframe .drawer-handle-zone{display:none}.drawer-sheet-starframe .drawer-header{position:absolute;top:1.5%;right:2.2%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-starframe .drawer-close{background:transparent;border-color:transparent}.drawer-sheet-starframe .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-starframe{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3}}.whoboard{position:absolute;inset:16% 6% 10.5%;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,12px);color:#dfe6ff}.whoboard-grid{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.whoboard-head,.whoboard-row{display:grid;grid-template-columns:clamp(40px,6%,70px) 1.7fr 1fr 1fr .6fr clamp(108px,16%,172px);align-items:center;gap:clamp(4px,1vw,12px);padding:0 clamp(4px,1vw,14px)}.whoboard-head{padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid rgb(150 180 255 / 28%)}.whoboard-th{background:none;border:none;padding:0;text-align:left;font-family:var(--font-display);font-size:clamp(.78rem,1.6vw,.96rem);font-weight:600;letter-spacing:.03em;color:#c4d4ffe5;cursor:pointer;transition:color .15s var(--ease-out-soft)}.whoboard-th:hover{color:#fff}.whoboard-col-level{text-align:center}.whoboard-col-actions{font-family:var(--font-display);font-size:clamp(.78rem,1.6vw,.96rem);font-weight:600;letter-spacing:.03em;color:#c4d4ffe5;text-align:center;display:flex;gap:clamp(4px,.8vw,10px);justify-content:center}.whoboard-row .whoboard-col-actions{transform:translateY(4px)}.whoboard-body{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 180 255 / 60%) transparent}.whoboard-body::-webkit-scrollbar{width:8px}.whoboard-body::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#96b4ffb3,#5a78d2a6)}.whoboard-body::-webkit-scrollbar-track{background:transparent}.whoboard-row{min-height:clamp(44px,9%,76px);border-bottom:1px solid rgb(120 150 230 / 14%);transition:background .15s var(--ease-out-soft)}.whoboard-row:hover{background:#7896ff1a}.whoboard-portrait{display:grid;place-items:center;width:clamp(34px,90%,52px);aspect-ratio:1;border-radius:10px;border:1px solid rgb(150 180 255 / 40%);background:radial-gradient(circle at 50% 35%,rgb(70 100 180 / 55%),transparent 65%),linear-gradient(160deg,#182040e5,#0c1022eb);box-shadow:inset 0 0 10px #0000008c,0 0 8px #7896ff40;overflow:hidden}.whoboard-sprite{max-width:92%;max-height:92%;object-fit:contain;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 55%))}.whoboard-sprite-empty{width:60%;height:60%;border-radius:50%;background:#96b4ff1f}.whoboard-col-name{display:flex;flex-direction:column;min-width:0}.whoboard-name{font-family:var(--font-display);font-size:clamp(.92rem,2vw,1.18rem);font-weight:600;color:#eaf0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whoboard-title{font-size:clamp(.66rem,1.3vw,.82rem);font-style:italic;color:#a8c4ffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whoboard-col-class,.whoboard-col-race{font-size:clamp(.8rem,1.6vw,1rem);color:#d6e0ffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whoboard-col-level{font-family:var(--font-display);font-size:clamp(.9rem,1.8vw,1.1rem);color:#eaf0ff}.whoboard-action{display:grid;place-items:center;width:clamp(30px,46%,46px);aspect-ratio:1;padding:2px;border-radius:9px;border:1px solid rgb(150 180 255 / 30%);background:linear-gradient(160deg,#283668bf,#161e3ccc);color:#cfe0ff;cursor:pointer;transition:transform .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.whoboard-action img{width:100%;height:100%;object-fit:contain}.whoboard-action:hover{transform:translateY(-1px);border-color:#b0c8ffb3;box-shadow:0 0 12px #7896ff66}.whoboard-action-glyph{font-size:1.05rem;line-height:1}.whoboard-empty{margin:auto;text-align:center;font-style:italic;color:#c4d4ff99;padding:clamp(20px,8vh,70px) 12px}.whoboard-footer{display:flex;align-items:center;gap:clamp(6px,1.2vw,14px);padding-top:clamp(4px,1vh,10px);border-top:1px solid rgb(150 180 255 / 24%);flex-wrap:wrap}.whoboard-count{font-family:var(--font-display);font-size:clamp(.78rem,1.5vw,.95rem);color:#d6e0ffeb}.whoboard-count strong{color:#9fc0ff}.whoboard-search{flex:1 1 140px;min-width:0;padding:clamp(6px,1vh,9px) 12px;border-radius:999px;border:1px solid rgb(150 180 255 / 35%);background:#10162ebf;color:#eaf0ff;font-size:.88rem}.whoboard-search::placeholder{color:#b0c4ff8c}.whoboard-search:focus{outline:none;border-color:#b0c8ffbf;box-shadow:0 0 0 2px #7896ff4d}.whoboard-classfilter{padding:clamp(6px,1vh,9px) 10px;border-radius:10px;border:1px solid rgb(150 180 255 / 35%);background:#10162ed9;color:#eaf0ff;font-size:.85rem;cursor:pointer}.whoboard-refresh{flex:0 0 auto;width:clamp(30px,5vw,38px);height:clamp(30px,5vw,38px);border-radius:50%;border:1px solid rgb(150 180 255 / 35%);background:#1e284ecc;color:#cfe0ff;font-size:1.1rem;cursor:pointer;transition:transform .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.whoboard-refresh:hover:not(:disabled){transform:rotate(90deg);border-color:#b0c8ffb3}.whoboard-refresh:disabled{opacity:.4;cursor:default}.mm-player-title{margin:0 0 6px;font-style:italic;color:#a8c4ffe5;font-size:.95rem}.drawer-sheet.drawer-sheet-archive{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 40%,#221e34f5,#0e0e1cfa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-archive .drawer-title,.drawer-sheet-archive .drawer-handle-zone{display:none}.drawer-sheet-archive .drawer-header{position:absolute;top:9.5%;right:6.8%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-archive .drawer-close{background:transparent;border-color:transparent;color:#3a2f25}.drawer-sheet-archive .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-archive{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3}}.guildboard{position:absolute;inset:12.5% 6.5% 6.5%;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,12px);overflow-y:auto;color:#3a2f25;font-size:clamp(.8rem,1.5vw,1rem);scrollbar-width:thin;scrollbar-color:rgb(120 100 70 / 55%) transparent}.guildboard-centered{align-items:center;justify-content:center}.guildboard-state-a{display:grid;grid-template-columns:1fr;gap:clamp(8px,1.6vh,16px);align-content:start}.gb-card{background:#f8f2e18c;border:1px solid rgb(120 100 70 / 30%);border-radius:10px;padding:clamp(8px,1.4vh,14px) clamp(10px,1.4vw,16px);box-shadow:inset 0 1px #ffffff4d,0 2px 8px #281e142e}.gb-card-title{margin:0 0 8px;text-align:center;font-family:var(--font-display);font-size:clamp(.82rem,1.7vw,1rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3a5048;border-bottom:1px solid rgb(90 110 100 / 30%);padding-bottom:5px}.gb-card-titlerow{display:flex;align-items:center;justify-content:space-between;gap:8px}.gb-card-titlerow .gb-card-title{flex:1;margin-bottom:6px}.gb-empty{margin:6px 0;font-style:italic;color:#3a2f25a6;text-align:center}.gb-btn{border:1px solid rgb(80 70 50 / 35%);border-radius:8px;padding:clamp(5px,.9vh,9px) clamp(10px,1.4vw,16px);font-family:var(--font-display);font-size:clamp(.74rem,1.4vw,.9rem);font-weight:600;letter-spacing:.03em;color:#f3ecd8;cursor:pointer;transition:transform .15s var(--ease-out-soft),filter .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.gb-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 2px 8px #281e144d}.gb-btn:disabled{opacity:.45;cursor:default}.gb-btn-accept,.gb-btn-promote,.gb-btn-setmotd,.gb-btn-primary{background:linear-gradient(165deg,#5a8a7e,#3f6a60)}.gb-btn-decline,.gb-btn-kick{background:linear-gradient(165deg,#a8615a,#82433d)}.gb-btn-demote{background:linear-gradient(165deg,#8a6ca0,#634a78)}.gb-btn-ghost{background:#ece2c8b3;color:#4a3c2c;border-color:#78644666}.gb-invite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px}.gb-invite-info{display:flex;flex-direction:column;min-width:0}.gb-invite-guild{font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:#3a2f25}.gb-tag{color:#7a5f8e;font-weight:600}.gb-invite-from{font-size:.8rem;font-style:italic;color:#3a2f25b3}.gb-invite-actions{display:flex;gap:6px;flex-shrink:0}.gb-create-form{display:flex;flex-direction:column;gap:10px}.gb-field{display:flex;flex-direction:column;gap:4px}.gb-label{font-size:.82rem;font-weight:600;color:#4a3c2c}.gb-label em{font-style:italic;font-weight:400;color:#4a3c2cb3}.gb-input{border:1px solid rgb(120 100 70 / 40%);border-radius:8px;background:#fffcf4cc;color:#3a2f25;padding:clamp(7px,1.2vh,11px) 12px;font-size:.9rem;min-width:0}.gb-input::placeholder{color:#5a4c3a8c;font-style:italic}.gb-input:focus{outline:none;border-color:#5a8a7e;box-shadow:0 0 0 2px #5a8a7e4d}.gb-input-tag{max-width:120px;text-transform:uppercase;letter-spacing:.1em}.gb-create-btn{margin-top:4px;align-self:stretch}.guildboard-state-b{padding-right:2px}.gb-identity{display:flex;align-items:center;gap:clamp(10px,1.6vw,18px)}.gb-crest{flex:0 0 auto;width:clamp(48px,9vw,78px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:2px solid rgb(150 130 90 / 55%);background:radial-gradient(circle at 50% 35%,rgb(70 90 140 / 70%),transparent 65%),linear-gradient(160deg,#2a3354,#16203c);box-shadow:inset 0 0 14px #0000007f,0 0 10px #788cc84d}.gb-crest-tag{font-family:var(--font-display);font-size:clamp(.8rem,1.8vw,1.1rem);font-weight:700;letter-spacing:.04em;color:#cfe0ff}.gb-guild-name{margin:0;font-family:var(--font-display);font-size:clamp(1.1rem,2.6vw,1.7rem);font-weight:700;color:#2f2519}.gb-identity-meta{margin:2px 0 0;font-size:.9rem;color:#3a2f25cc}.gb-motd-text{margin:0;line-height:1.4}.gb-motd-edit{display:flex;gap:6px}.gb-motd-edit .gb-input{flex:1}.gb-icon-btn{border:1px solid rgb(120 100 70 / 35%);border-radius:7px;background:#ece2c8b3;color:#4a3c2c;padding:3px 9px;cursor:pointer;font-size:.9rem}.gb-icon-btn:hover{filter:brightness(1.08)}.gb-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(8px,1.4vw,16px);align-items:start}.gb-roster-scroll{max-height:clamp(140px,28vh,280px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(120 100 70 / 55%) transparent}.gb-member-list{list-style:none;margin:0;padding:0}.gb-member{width:100%;display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:none;color:#3a2f25;cursor:pointer;text-align:left;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft)}.gb-member:hover{background:#788a7e29}.gb-member.is-selected{background:#5a8a7e38;border-color:#5a8a7e99}.gb-member.is-offline{opacity:.55}.gb-member-num{color:#3a2f258c;font-variant-numeric:tabular-nums;min-width:1.4em}.gb-member-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.gb-member-dot.is-online{background:#5a8a5a;box-shadow:0 0 5px #5a8a5ab3}.gb-member-dot.is-offline{background:#7864467f}.gb-member-name{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-member-level{font-size:.78rem;color:#3a2f25b3}.gb-member-rank{font-size:.8rem;color:#5a4a78;font-weight:600;min-width:4em;text-align:right}.gb-controls-hint{margin:0 0 8px;font-size:.82rem;font-style:italic;color:#3a2f25b3;text-align:center}.gb-controls-actions{display:grid;gap:6px}.gb-controls-actions .gb-btn{width:100%}.gb-invite-bar{display:flex;gap:6px;margin-top:10px}.gb-invite-bar .gb-input{flex:1}.gb-hall{display:flex;flex-direction:column;gap:8px}.gb-hall-meta{font-size:.78rem;color:#3a2f25b3}.gb-hall-actions{display:flex;gap:6px;flex-wrap:wrap}.gb-chat{display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-height:0}.gb-chat-feed{flex:1 1 auto;min-height:clamp(80px,16vh,180px);max-height:28vh;overflow-y:auto;border-radius:8px;border:1px solid rgb(120 100 70 / 30%);background:#1c1a16c7;padding:8px 10px;scrollbar-width:thin;scrollbar-color:rgb(150 130 90 / 55%) transparent}.gb-chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.gb-chat-msg{line-height:1.35;color:#e8ddc4;font-size:.9rem}.gb-chat-sender{color:#9fc4b8;font-weight:600;margin-right:6px}.gb-chat-form{display:flex;align-items:center;gap:6px}.gb-chat-say{font-family:var(--font-display);font-weight:600;color:#4a3c2c}.gb-chat-form .gb-input{flex:1}.gb-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.gb-confirm{display:flex;align-items:center;gap:8px;font-size:.86rem;color:#4a3c2c}@media(max-width:720px){.guildboard-state-a,.gb-columns{grid-template-columns:1fr}}.friendsboard{position:absolute;inset:16% 9.5% 7% 10.5%;display:flex;flex-direction:column;gap:clamp(8px,1.6vh,14px);color:#dfe6ff}.fb-add-card{align-self:flex-start;width:70%;border:none;background:transparent;padding:clamp(4px,1vh,10px) 0 0;box-shadow:none}.fb-add-title{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(.82rem,1.7vw,1rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#c4d4ffeb}.fb-add-form{display:flex;gap:clamp(6px,1vw,12px)}.fb-add-input{flex:1 1 auto;min-width:0;border-radius:999px;border:1px solid rgb(150 180 255 / 35%);background:#0a1024bf;color:#eaf0ff;padding:clamp(8px,1.2vh,11px) 16px;font-size:.92rem}.fb-add-input::placeholder{color:#b0c4ff8c;font-style:italic}.fb-add-input:focus{outline:none;border-color:#b0c8ffbf;box-shadow:0 0 0 2px #7896ff4d}.fb-add-btn{flex:0 0 auto;border-radius:10px;border:1px solid rgb(150 180 255 / 45%);background:linear-gradient(165deg,#3a5c54f2,#28423cf5);color:#eaf6f0;font-family:var(--font-display);font-size:clamp(.82rem,1.6vw,1rem);font-weight:700;letter-spacing:.06em;padding:0 clamp(16px,2.4vw,32px);cursor:pointer;transition:transform .15s var(--ease-out-soft),filter .15s var(--ease-out-soft)}.fb-add-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.fb-add-btn:disabled{opacity:.45;cursor:default}.fb-list-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.fb-list-title{margin:0;font-family:var(--font-display);font-size:clamp(.82rem,1.7vw,1rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#c4d4ffeb}.fb-online-count{display:inline-flex;align-items:center;gap:6px;font-size:clamp(.74rem,1.4vw,.9rem);letter-spacing:.04em;text-transform:uppercase;color:#b0c4ffcc}.fb-online-dot{width:8px;height:8px;border-radius:50%;background:#79c46b;box-shadow:0 0 6px #79c46bcc}.fb-grid{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border:1px solid rgb(150 180 255 / 24%);border-radius:12px;background:#0c122873;overflow:hidden}.fb-head,.fb-row{display:grid;grid-template-columns:clamp(44px,8%,74px) 1.8fr 1.6fr .6fr clamp(100px,16%,168px);align-items:center;gap:clamp(4px,1vw,12px);padding:0 clamp(8px,1.4vw,16px)}.fb-head{padding-top:10px;padding-bottom:8px;border-bottom:1px solid rgb(150 180 255 / 26%);font-family:var(--font-display);font-size:clamp(.72rem,1.4vw,.88rem);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#b0c4ffcc}.fb-col-actions{text-align:center}.fb-body{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 180 255 / 55%) transparent}.fb-body::-webkit-scrollbar{width:8px}.fb-body::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#96b4ffb3,#5a78d2a6)}.fb-body::-webkit-scrollbar-track{background:transparent}.fb-row{min-height:clamp(48px,10%,78px);border-bottom:1px solid rgb(120 150 230 / 12%);transition:background .15s var(--ease-out-soft)}.fb-row:hover{background:#7896ff17}.fb-row.is-offline{opacity:.55}.fb-portrait{position:relative;display:grid;place-items:center;width:clamp(36px,92%,56px);aspect-ratio:1;border-radius:50%;border:1px solid rgb(150 180 255 / 45%);background:radial-gradient(circle at 50% 35%,rgb(70 100 180 / 55%),transparent 65%),linear-gradient(160deg,#182040eb,#0c1022f0);box-shadow:inset 0 0 10px #0000008c,0 0 8px #7896ff40;overflow:hidden}.fb-portrait-dot{position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;z-index:1}.fb-sprite{max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 55%))}.fb-sprite-empty{width:55%;height:55%;border-radius:50%;background:#96b4ff24}.fb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fb-dot.is-online{background:#79c46b;box-shadow:0 0 6px #79c46bcc}.fb-dot.is-offline{background:#96aad273}.fb-col-name{display:flex;flex-direction:column;min-width:0}.fb-name{font-family:var(--font-display);font-size:clamp(.94rem,2vw,1.2rem);font-weight:600;color:#eaf0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-title{font-size:clamp(.68rem,1.3vw,.84rem);font-style:italic;color:#a8c4ffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-col-loc{font-size:clamp(.8rem,1.5vw,.98rem);color:#cedcffe0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-col-level{font-family:var(--font-display);font-size:clamp(.9rem,1.8vw,1.1rem);color:#eaf0ff;text-align:center}.fb-col-actions{display:flex;gap:clamp(4px,.8vw,10px);justify-content:center;align-items:center}.fb-remove .whoboard-action-glyph{font-size:1.2rem;line-height:1;color:#e6a0a0e5}.fb-confirm{display:inline-flex;align-items:center;gap:4px}.fb-confirm-yes{border:1px solid rgb(200 120 120 / 50%);border-radius:8px;background:#783232b3;color:#ffe0e0;font-size:.74rem;padding:4px 8px;cursor:pointer}.fb-confirm-no{border:1px solid rgb(150 180 255 / 35%);border-radius:8px;background:#1e284ecc;color:#cfe0ff;font-size:.9rem;padding:2px 8px;cursor:pointer}.fb-notes{list-style:none;margin:6px clamp(8px,1.4vw,16px);padding:0;display:flex;flex-direction:column;gap:4px}.fb-note{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;font-size:.85rem;background:#3c508c38;color:#d6e0ffe5}.fb-note-online{background:#3c6e503d}.fb-note-offline{background:#50466438}.fb-empty{margin:auto;text-align:center;font-style:italic;color:#c4d4ff99;padding:clamp(20px,8vh,70px) 12px}@media(max-width:720px){.fb-head,.fb-row{grid-template-columns:clamp(40px,12%,60px) 1.6fr .6fr clamp(96px,26%,150px)}.fb-col-loc{display:none}}.drawer-sheet.drawer-sheet-stainedglass{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#16204ef5,#080c22fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-stainedglass .drawer-title,.drawer-sheet-stainedglass .drawer-handle-zone{display:none}.drawer-sheet-stainedglass .drawer-header{position:absolute;top:6.5%;right:9%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-stainedglass .drawer-close{background:transparent;border-color:transparent}.drawer-sheet-stainedglass .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-stainedglass{width:auto;height:94vh;max-height:94vh;aspect-ratio:1131 / 1456}}.groupboard{position:absolute;inset:19% 10% 8%;display:flex;flex-direction:column;gap:clamp(8px,1.6vh,14px);overflow-y:auto;color:#dfe6ff;font-size:clamp(.82rem,1.5vw,1rem);scrollbar-width:thin;scrollbar-color:rgb(200 170 90 / 55%) transparent}.groupboard-centered{align-items:center;justify-content:center}.groupboard-state-b{min-height:0}.gp-card{border:1px solid rgb(200 170 90 / 38%);border-radius:12px;background:linear-gradient(165deg,#18225099,#0e1434a3);padding:clamp(8px,1.4vh,14px) clamp(10px,1.6vw,18px);box-shadow:inset 0 1px #b4c8ff24,0 2px 10px #00000059}.gp-card-title{margin:0 0 10px;font-family:var(--font-display);font-size:clamp(.84rem,1.7vw,1.02rem);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#e6c873}.gp-empty{margin:8px 0;font-style:italic;color:#ced8ff8c;text-align:center}.gp-btn{border:1px solid rgb(200 170 90 / 40%);border-radius:8px;padding:clamp(6px,1vh,10px) clamp(12px,1.6vw,18px);font-family:var(--font-display);font-size:clamp(.78rem,1.4vw,.94rem);font-weight:700;letter-spacing:.04em;color:#f3ecd8;cursor:pointer;transition:transform .15s var(--ease-out-soft),filter .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.gp-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 2px 10px #00000059}.gp-btn:disabled{opacity:.45;cursor:default}.gp-btn-invite{background:linear-gradient(165deg,#3a4f96,#26356a);border-color:#96b4ff7f}.gp-btn-accept{background:linear-gradient(165deg,#3f8a52,#2c6a3d)}.gp-btn-decline{background:linear-gradient(165deg,#a8484a,#82333a)}.gp-btn-leave{background:linear-gradient(165deg,#a8484a,#7a2f36);padding-left:clamp(20px,3vw,44px);padding-right:clamp(20px,3vw,44px)}.gp-intro{display:flex;align-items:center;gap:clamp(10px,1.6vw,18px)}.gp-intro-emblem{flex:0 0 auto;width:clamp(44px,9vw,70px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:2px solid rgb(200 170 90 / 55%);background:radial-gradient(circle at 50% 35%,rgb(90 120 200 / 70%),transparent 65%),linear-gradient(160deg,#2a3a78,#16204a);box-shadow:inset 0 0 14px #0000007f,0 0 10px #7896ff4d;color:#cfe0ff;font-size:1.4rem}.gp-intro-text{flex:1;min-width:0}.gp-intro-title{margin:0;font-family:var(--font-display);font-size:clamp(1rem,2vw,1.3rem);font-weight:700;color:#eaf0ff}.gp-intro-sub{margin:2px 0 10px;color:#ced8ffcc}.gp-invite-bar{display:flex;gap:8px}.gp-invite-bar .gp-input{flex:1}.gp-input{border:1px solid rgb(200 170 90 / 35%);border-radius:8px;background:#0a1028bf;color:#eaf0ff;padding:clamp(7px,1.2vh,11px) 14px;font-size:.92rem;min-width:0}.gp-input::placeholder{color:#b0c4ff8c;font-style:italic}.gp-input:focus{outline:none;border-color:#e6c873cc;box-shadow:0 0 0 2px #c8aa5a4d}.gp-invite-row{display:flex;align-items:center;gap:10px}.gp-invite-emblem{flex:0 0 auto;width:clamp(34px,6vw,46px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:1px solid rgb(200 170 90 / 45%);background:linear-gradient(160deg,#2a3a78,#16204a);color:#cfe0ff}.gp-invite-info{flex:1;display:flex;flex-direction:column;min-width:0}.gp-invite-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:#eaf0ff}.gp-invite-meta{font-size:.82rem;font-style:italic;color:#ced8ffb3}.gp-invite-actions{display:flex;gap:6px;flex-shrink:0}.gp-member-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.gp-member{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,1.2vw,14px);padding:8px clamp(8px,1.2vw,12px);border:1px solid rgb(150 180 255 / 22%);border-radius:10px;background:#10183c7f}.gp-member-portrait{width:clamp(36px,7vw,52px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:2px solid rgb(200 170 90 / 50%);background:radial-gradient(circle at 50% 35%,rgb(90 120 200 / 65%),transparent 65%),linear-gradient(160deg,#28386f,#141d40);color:#cfe0ff}.gp-member-id{min-width:0}.gp-member-name{display:flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:clamp(.94rem,1.8vw,1.15rem);font-weight:600;color:#eaf0ff}.gp-crown{color:#e6c873}.gp-member-class{font-size:.82rem;color:#ced8ffc7}.gp-member-bars{display:flex;flex-direction:column;gap:4px;min-width:clamp(120px,32%,220px);grid-column:2 / 3}.gp-member{grid-template-columns:auto 1fr;grid-template-areas:"portrait id" "portrait bars"}.gp-member-portrait{grid-area:portrait}.gp-member-id{grid-area:id}.gp-member-bars{grid-area:bars}.gp-kick{grid-area:id;justify-self:end}.gp-bar{display:flex;align-items:center;gap:6px}.gp-bar-key{font-size:.68rem;font-weight:700;letter-spacing:.04em;color:#ced8ffb3;min-width:1.8em}.gp-bar-track{position:relative;flex:1;height:clamp(13px,1.8vh,18px);border-radius:999px;background:#080c1ecc;border:1px solid rgb(150 180 255 / 22%);overflow:hidden}.gp-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.gp-bar-hp{background:linear-gradient(180deg,#d65a5a,#9c3434)}.gp-bar-mana{background:linear-gradient(180deg,#4f8ad6,#2f5aa0)}.gp-bar-text{position:absolute;inset:0;display:grid;place-items:center;font-size:.68rem;font-weight:600;color:#f3f6ff;text-shadow:0 1px 2px rgb(0 0 0 / 80%);font-variant-numeric:tabular-nums}.gp-kick{width:26px;height:26px;border-radius:7px;border:1px solid rgb(200 120 120 / 45%);background:#5a282cb3;color:#ffd6d6;cursor:pointer;font-size:.9rem}.gp-kick:hover{filter:brightness(1.12)}.gp-chat{display:flex;flex-direction:column;gap:8px}.gp-chat-feed{height:clamp(90px,16vh,190px);overflow-y:auto;border-radius:8px;border:1px solid rgb(150 180 255 / 22%);background:#080c1eb3;padding:8px 10px;scrollbar-width:thin;scrollbar-color:rgb(200 170 90 / 50%) transparent}.gp-chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.gp-chat-msg{line-height:1.35;font-size:.9rem;color:#dfe6ff}.gp-chat-sender{color:#e6c873;font-weight:600;margin-right:6px}.gp-chat-form{display:flex;gap:6px}.gp-chat-form .gp-input{flex:1}.gp-footer{display:flex;justify-content:center;margin-top:clamp(6px,1.4vh,12px)}.drawer-sheet.drawer-sheet-codex{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 35%,#141a38f5,#080a1cfa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-codex .drawer-title,.drawer-sheet-codex .drawer-handle-zone{display:none}.drawer-sheet-codex .drawer-header{position:absolute;top:2.2%;right:2.4%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-codex .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-codex{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:1456 / 1093}}.command-reference{position:absolute;inset:0}.command-reference-loading{display:grid;place-items:center}.cr-categories{position:absolute;left:14%;top:25%;width:12.5%;bottom:24%;display:flex;flex-direction:column;gap:clamp(2px,.6vh,6px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(210 180 110 / 50%) transparent}.cr-cat{display:flex;align-items:center;gap:clamp(5px,.6vw,9px);padding:clamp(4px,.9vh,8px) clamp(5px,.7vw,10px);border:1px solid transparent;border-radius:8px;background:none;color:#d9c089;cursor:pointer;font-family:var(--font-display);font-size:clamp(.68rem,1.2vw,.9rem);text-align:left;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),color .15s var(--ease-out-soft)}.cr-cat:hover{background:#d2b46e1f;color:#f0d89a}.cr-cat.is-active{border-color:#d2b46e99;background:#d2b46e29;box-shadow:0 0 12px #d2b46e47,inset 0 0 8px #d2b46e1f;color:#f4dca0}.cr-cat-glyph{flex-shrink:0;color:#e6c878;font-size:1.1em}.cr-cat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-main{position:absolute;inset:18.5% 28.5% 21.5% 30%;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,12px);color:#2e2110;text-shadow:0 1px 1px rgb(255 248 228 / 65%)}.cr-search-wrap{display:flex;align-items:center;gap:8px;border:1px solid rgb(120 96 52 / 45%);border-radius:999px;background:#fffaeb59;padding:clamp(5px,1vh,9px) 14px}.cr-search-icon{color:#786034cc;font-size:1rem}.cr-search{flex:1;min-width:0;border:none;background:none;color:#3a2c18;font-size:.92rem}.cr-search:focus{outline:none}.cr-search::placeholder{color:#5a482c99;font-style:italic}.cr-table-head,.cr-row{display:grid;grid-template-columns:1.1fr 1.3fr 2.4fr;gap:clamp(6px,1.1vw,18px);align-items:baseline}.cr-table-head{font-family:var(--font-display);font-size:clamp(.62rem,1.1vw,.78rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5a4226cc;padding-bottom:4px;border-bottom:1px solid rgb(120 96 52 / 38%)}.cr-rows{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 120 70 / 55%) transparent}.cr-rows::-webkit-scrollbar{width:7px}.cr-rows::-webkit-scrollbar-thumb{border-radius:999px;background:#9678468c}.cr-rows::-webkit-scrollbar-track{background:transparent}.cr-row{padding:clamp(5px,1vh,9px) 0;border-bottom:1px solid rgb(120 96 52 / 18%)}.cr-col-cmd{display:flex;align-items:center;gap:7px;min-width:0}.cr-row-glyph{flex-shrink:0;color:#8a6a3a;font-size:1.05em}.cr-cmd-name{font-family:var(--font-display);font-weight:700;font-size:clamp(.84rem,1.5vw,1.04rem);color:#241a08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-col-usage{font-family:JetBrains Mono,Cascadia Mono,monospace;font-size:clamp(.68rem,1.2vw,.84rem);color:#463418;font-weight:600;word-break:break-word}.cr-col-desc{font-size:clamp(.72rem,1.3vw,.9rem);color:#2a1f0e;line-height:1.35}.cr-empty{margin:auto;text-align:center;font-style:italic;color:#5a482cb3;padding:clamp(16px,5vh,40px) 12px}.drawer-sheet.drawer-sheet-boudoir{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#281838f5,#100a1afa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-boudoir .drawer-title,.drawer-sheet-boudoir .drawer-handle-zone{display:none}.drawer-sheet-boudoir .drawer-header{position:absolute;top:3.5%;right:3%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-boudoir .drawer-close{background:transparent;border-color:transparent;color:#e0c074}.drawer-sheet-boudoir .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-boudoir{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:1456 / 1093}}.stylist-board{position:absolute;inset:0}.stylist-board-empty{display:grid;place-items:center}.sty-empty{color:#d9c089;text-align:center;max-width:60%}.sty-cost{position:absolute;top:19.5%;left:33%;width:34%;text-align:center;font-family:var(--font-display);font-size:clamp(.78rem,1.6vw,1.08rem);letter-spacing:.05em;color:#e6c878}.sty-cost strong{color:#f4dc9a}.sty-grid{position:absolute;inset:24% 11% 26%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:clamp(8px,1.3vw,18px)}.sty-card{display:flex;gap:clamp(6px,.8vw,12px);padding:clamp(6px,1vh,12px);border:1px solid rgb(200 170 90 / 35%);border-radius:12px;background:linear-gradient(160deg,#1e142cb8,#120c1cc7);color:#e8e0f0;cursor:pointer;text-align:left;overflow:hidden;transition:border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.sty-card:hover{transform:translateY(-2px);border-color:#e6c87399}.sty-card.is-selected{border-color:#e6c878;box-shadow:0 0 16px #c8aa5a73,inset 0 0 10px #c8aa5a1f}.sty-card.is-current{border-color:#78c88c8c}.sty-card-portrait{width:clamp(40px,26%,86px);aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;flex-shrink:0;border:1px solid rgb(200 170 90 / 30%)}.sty-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sty-card-name{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:clamp(.82rem,1.5vw,1.12rem);font-weight:700;color:#f0d89a}.sty-card-tag{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#8fd6a0;border:1px solid rgb(120 200 140 / 50%);border-radius:999px;padding:0 6px}.sty-card-desc{font-size:clamp(.6rem,1vw,.76rem);font-style:italic;color:#dcd2ebc7;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sty-card-mods{display:flex;flex-direction:column;gap:0;margin-top:2px}.sty-mod{font-size:clamp(.6rem,1.05vw,.78rem);font-weight:600;line-height:1.3}.sty-mod-gold{color:#e6c878}.sty-mod-red{color:#e08a8a}.sty-mod-blue{color:#7fb6e6}.sty-mod-green{color:#8fd6a0}.sty-change-hit{position:absolute;left:38.5%;top:78%;width:26%;height:9.5%;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:box-shadow .15s var(--ease-out-soft)}.sty-change-hit:disabled{cursor:default}.sty-change-hit:hover:not(:disabled){box-shadow:0 0 18px #e6c87373}.sty-change-hit:focus-visible{outline:2px solid rgb(230 200 115 / 80%);outline-offset:2px}.sty-current{position:absolute;left:67.5%;top:80.8%;width:21%;height:9%;display:flex;align-items:center;gap:10px}.sty-current-portrait{width:clamp(28px,28%,46px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid rgb(200 170 90 / 50%);flex-shrink:0}.sty-current-text{display:flex;flex-direction:column;min-width:0}.sty-current-name{font-family:var(--font-display);font-size:clamp(.84rem,1.5vw,1.08rem);font-weight:700;color:#f0e0f8}.sty-current-bonuses{font-size:.72rem;color:#8fd6a0}.sty-gold{position:absolute;left:50%;right:11%;bottom:1.3%;display:flex;align-items:center;justify-content:flex-end;gap:6px;font-family:var(--font-display);font-size:clamp(.76rem,1.4vw,1rem);color:#d9c089}.sty-gold strong{color:#f4dc9a}.sty-gold-icon{color:#e6c878;display:inline-flex}.sty-gold-icon img{width:1.1em;height:1.1em;object-fit:contain}.drawer-sheet.drawer-sheet-estate{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 35%,#1c241ef5,#0e120efa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-estate .drawer-title,.drawer-sheet-estate .drawer-handle-zone{display:none}.drawer-sheet-estate .drawer-header{position:absolute;top:1.5%;right:1.5%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-estate .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-estate{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:1456 / 1093}}.housing-broker{position:absolute;inset:0}.housing-broker-empty{display:grid;place-items:center}.hb-empty{color:#5a4a2e;text-align:center;font-style:italic;padding:10px}.hb-estate{position:absolute;left:12.8%;top:29%;width:13.8%;bottom:24%;display:flex;flex-direction:column;color:#3a2c18}.hb-owned-list{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:rgb(120 96 52 / 50%) transparent}.hb-owned{display:flex;flex-direction:column;padding:clamp(4px,.8vh,7px) 4px;border-bottom:1px solid rgb(120 96 52 / 20%)}.hb-owned-name{font-family:var(--font-display);font-weight:600;font-size:clamp(.74rem,1.3vw,.94rem);color:#2f2410}.hb-owned-type{font-size:.66rem;color:#5a482cb3}.hb-owned-total{flex-shrink:0;padding-top:6px;margin-top:4px;border-top:1px solid rgb(120 96 52 / 35%);text-align:center;font-family:var(--font-display);font-size:clamp(.7rem,1.2vw,.84rem);color:#5a4426}.hb-templates{position:absolute;inset:31.5% 11.5% 19% 31.5%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 120 70 / 55%) transparent}.hb-templates::-webkit-scrollbar{width:8px}.hb-templates::-webkit-scrollbar-thumb{border-radius:999px;background:#9678468c}.hb-templates::-webkit-scrollbar-track{background:transparent}.hb-template-list{list-style:none;margin:0;padding:2px;display:flex;flex-direction:column;gap:clamp(4px,.8vh,8px)}.hb-template{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:clamp(6px,1vh,11px) clamp(8px,1.2vw,14px);border:1px solid rgb(120 96 52 / 28%);border-radius:10px;background:#faf4e452;color:#3a2c18;cursor:pointer;text-align:left;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.hb-template:hover{background:#b4965a33;border-color:#9678467f}.hb-template.is-selected{border-color:#9a7a3a;box-shadow:0 0 10px #96784659;background:#c8aa643d}.hb-template.is-owned{opacity:.68}.hb-template-main{display:flex;flex-direction:column;gap:2px;min-width:0}.hb-template-name{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:clamp(.84rem,1.5vw,1.08rem);color:#2a1f0e}.hb-template-desc{font-size:clamp(.64rem,1.1vw,.82rem);color:#4a3c28e0;line-height:1.25}.hb-tag{font-size:.54rem;text-transform:uppercase;letter-spacing:.05em;padding:0 6px;border-radius:999px;border:1px solid rgb(120 96 52 / 50%);color:#6a5026}.hb-tag-entry{border-color:#5a825099;color:#4a7a3a}.hb-template-cost{flex-shrink:0;display:flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:700;font-size:clamp(.78rem,1.4vw,1rem);color:#8a6a2a}.hb-coin{color:#c8a24a}.hb-buybar{position:absolute;inset:85.5% 17% 5%;display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,24px)}.hb-buy-btn{padding:clamp(7px,1.3vh,13px) clamp(20px,4vw,50px);border:1px solid rgb(200 170 90 / 50%);border-radius:10px;background:linear-gradient(165deg,#4a3a78,#2e2454);color:#f0e0c0;font-family:var(--font-display);font-size:clamp(.88rem,1.7vw,1.18rem);font-weight:700;letter-spacing:.04em;cursor:pointer;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.hb-buy-btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.hb-buy-btn:disabled{opacity:.45;cursor:default}.hb-funds{position:absolute;right:0;display:flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:clamp(.76rem,1.4vw,1rem);color:#d9c089}.hb-funds strong{color:#f4dc9a}.hb-feedback{position:absolute;left:0;max-width:32%;font-size:.78rem;line-height:1.2}.hb-feedback-error{color:#e08a8a}.hb-feedback-success{color:#8fd6a0}.hb-feedback-info{color:#cfe0ff}.hb-dir-picker{display:flex;align-items:center;gap:6px}.hb-dir-label{color:#d9c089;font-family:var(--font-display);font-size:clamp(.74rem,1.3vw,.92rem)}.hb-dir-btn{padding:clamp(5px,.9vh,9px) clamp(9px,1.2vw,15px);border:1px solid rgb(200 170 90 / 40%);border-radius:8px;background:#3c2e5abf;color:#f0e0c0;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:filter .15s var(--ease-out-soft)}.hb-dir-btn:hover{filter:brightness(1.18)}.hb-dir-cancel{border:1px solid rgb(200 120 120 / 40%);border-radius:8px;background:#5a282cb3;color:#ffd6d6;padding:4px 10px;cursor:pointer}.hb-visiting{position:absolute;top:24%;left:31.5%;right:11.5%;text-align:center;font-size:.8rem;font-style:italic;color:#c8b48a}.drawer-sheet.drawer-sheet-fortune{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#181638f5,#0a0a1cfa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-fortune .drawer-title,.drawer-sheet-fortune .drawer-handle-zone{display:none}.drawer-sheet-fortune .drawer-header{position:absolute;top:1.5%;right:1.5%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-fortune .drawer-body{padding:0;position:relative}@media(min-width:768px)and (orientation:landscape){.drawer-sheet.drawer-sheet-fortune{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:1456 / 1093}}.lottery-board{position:absolute;inset:0;font-family:var(--font-display)}.lottery-board-empty{display:grid;place-items:center}.lot-empty{color:#c8b48a;text-align:center;font-style:italic}.lot-jackpot{position:absolute;left:41%;top:33.5%;width:36%;display:flex;flex-direction:column;align-items:center}.lot-jackpot-value{font-size:clamp(1.6rem,4.6vw,3.4rem);font-weight:700;color:#f3d271;text-shadow:0 0 14px rgb(240 200 90 / 45%),0 2px 3px rgb(0 0 0 / 60%);line-height:1}.lot-jackpot-unit{font-size:clamp(.6rem,1.2vw,.82rem);letter-spacing:.18em;text-transform:uppercase;color:#f0d282b3;margin-top:4px}.lot-countdown{position:absolute;left:31%;top:52%;width:20%;text-align:center;font-size:clamp(1.1rem,2.6vw,1.9rem);font-weight:700;color:#74d4e6;text-shadow:0 0 12px rgb(116 212 230 / 45%)}.lot-owned{position:absolute;left:63%;top:50.5%;width:14%;text-align:center;font-size:clamp(1.1rem,2.6vw,1.9rem);font-weight:700;color:#9fc0ff}.lot-total{position:absolute;left:27%;top:64.5%;width:11%;text-align:center;font-size:clamp(1rem,2.2vw,1.6rem);font-weight:700;color:#8fd6a0}.lot-cost{position:absolute;left:44%;top:63.5%;width:10%;text-align:center;font-size:clamp(1rem,2.2vw,1.6rem);font-weight:700;color:#f3d271}.lot-limit{position:absolute;left:65.5%;top:63%;width:12%;display:flex;flex-direction:column;align-items:center;font-size:clamp(1rem,2.2vw,1.6rem);font-weight:700;color:#c89ae0}.lot-limit-unit{font-size:clamp(.52rem,1vw,.68rem);letter-spacing:.12em;text-transform:uppercase;color:#c89ae0b3}.lot-buy{position:absolute;inset:79% 22% 3%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,.9vh,9px)}.lot-buy-sub{font-size:clamp(.62rem,1.2vw,.84rem);letter-spacing:.1em;text-transform:uppercase;color:#d6c8f0bf}.lot-qty{display:flex;gap:clamp(3px,.5vw,7px);flex-wrap:nowrap}.lot-qty-step,.lot-qty-num{min-width:clamp(22px,3vw,38px);padding:clamp(4px,.8vh,8px) clamp(3px,.5vw,8px);border:1px solid rgb(200 170 90 / 45%);border-radius:7px;background:#1c1a3cb3;color:#e8dcc0;font-family:var(--font-display);font-size:clamp(.7rem,1.3vw,.92rem);font-weight:600;cursor:pointer;transition:background .15s var(--ease-out-soft),border-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft)}.lot-qty-step:hover,.lot-qty-num:hover{background:#302c60cc;border-color:#e6c87399}.lot-qty-num.is-active{border-color:#74d4e6;color:#bfeefa;box-shadow:0 0 12px #74d4e673,inset 0 0 8px #74d4e62e}.lot-summary{margin:0;font-size:clamp(.68rem,1.3vw,.92rem);color:#e0d6f4e5}.lot-summary strong{color:#f3d271}.lot-feedback{margin:0;font-size:.78rem}.lot-feedback-error{color:#e08a8a}.lot-feedback-success{color:#8fd6a0}.lot-feedback-info{color:#9fc0ff}.lot-buy-btn{margin-top:2px;padding:clamp(7px,1.3vh,13px) clamp(28px,6vw,80px);border:1px solid rgb(200 170 90 / 55%);border-radius:10px;background:linear-gradient(165deg,#6a3f9e,#3e2470);color:#f4e6c8;font-family:var(--font-display);font-size:clamp(.92rem,1.9vw,1.35rem);font-weight:700;letter-spacing:.06em;cursor:pointer;box-shadow:inset 0 1px #ffffff24,0 3px 12px #00000073;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.lot-buy-btn:hover{filter:brightness(1.14);transform:translateY(-1px)}@media(orientation:portrait){.drawer-sheet.drawer-sheet-fortune{top:auto;right:auto;bottom:env(safe-area-inset-bottom,0);left:50%;transform:translate(-50%);width:min(100vw,52.9vh);height:auto;max-height:none;aspect-ratio:941 / 1672;padding-bottom:0;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(ellipse at 50% 30%,#181638f5,#0a0a1cfa);background-size:100% 100%,auto}.lot-jackpot{left:36%;top:27%;width:45%}.lot-countdown{left:38%;top:42.3%;width:42%}.lot-owned{left:60%;top:50.8%;width:20%}.lot-total{left:33.5%;top:62.3%;width:14.5%}.lot-cost{left:68.5%;top:62%;width:13%}.lot-limit{left:30%;top:72.6%;width:18%}.lot-limit-unit{display:none}.lot-buy{inset:81.5% 17.5% 3.5%;gap:clamp(2px,.5vh,6px)}.lot-buy-sub{display:none}.lot-qty{flex-wrap:wrap;justify-content:center}.lot-qty-step,.lot-qty-num{min-width:clamp(20px,6.4vw,30px);padding:3px 2px}.lot-summary{font-size:clamp(.6rem,2.6vw,.8rem)}.lot-buy-btn{padding:clamp(5px,.9vh,9px) clamp(22px,10vw,48px);font-size:clamp(.82rem,3.6vw,1.1rem)}}.drawer-sheet.drawer-sheet-dicetable{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#161432f5,#090918fa);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-dicetable .drawer-title,.drawer-sheet-dicetable .drawer-handle-zone{display:none}.drawer-sheet-dicetable .drawer-header{position:absolute;top:1.5%;right:1.5%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-dicetable .drawer-body{padding:0;position:relative}@media(min-width:768px)and (orientation:landscape){.drawer-sheet.drawer-sheet-dicetable{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3}}.dice-board{position:absolute;inset:0;font-family:var(--font-display)}.dice-gold{position:absolute;left:8%;top:16.5%;width:20%;text-align:center;font-size:clamp(.72rem,1.45vw,1.15rem);font-weight:700;color:#f3d271;text-shadow:0 0 12px rgb(240 200 90 / 40%),0 2px 3px rgb(0 0 0 / 60%)}.dice-howto{position:absolute;left:6.5%;top:34%;width:20%;bottom:30%;display:flex;flex-direction:column;justify-content:center;gap:clamp(5px,1.4vh,12px);padding:0 2%;color:#e0d2b2e0;font-size:clamp(.6rem,1.18vw,.86rem);line-height:1.32}.dice-howto p{margin:0}.dice-howto strong{color:#f3d271}.dice-stat{position:absolute;top:29%;text-align:center;font-size:clamp(1rem,2.3vw,1.7rem);font-weight:700;line-height:1;display:flex;flex-direction:column;align-items:center}.dice-stat-target{left:30.5%;width:13.5%;color:#8fd6a0}.dice-stat-payout{left:45%;width:13%;color:#f3d271}.dice-stat-bet{left:59.5%;width:14.5%;color:#9fc0ff}.dice-stat-sub{font-size:clamp(.46rem,.9vw,.62rem);letter-spacing:.14em;text-transform:uppercase;color:#a0c8aab3;margin-top:3px}.dice-velvet{position:absolute;left:31%;top:38.5%;width:42%;height:13.5%;display:grid;place-items:center}.dice-velvet-hint{margin:0;font-style:italic;color:#d6c8f09e;font-size:clamp(.66rem,1.3vw,.92rem)}.dice-total{position:absolute;left:40%;top:49.5%;width:22%;text-align:center;font-size:clamp(1.4rem,3.4vw,2.6rem);font-weight:700;color:#8fd6a0;text-shadow:0 0 14px rgb(143 214 160 / 45%),0 2px 3px rgb(0 0 0 / 60%);line-height:1}.dice-total-over{color:#e89a86;text-shadow:0 0 14px rgb(232 154 134 / 45%),0 2px 3px rgb(0 0 0 / 60%)}.dice-bet{position:absolute;left:78.4%;top:31%;width:12.8%;bottom:35%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(5px,1.2vh,11px);padding:0}.dice-bet-title{font-size:clamp(.64rem,1.25vw,.92rem);letter-spacing:.16em;text-transform:uppercase;color:#4a2710;font-weight:800;text-shadow:0 1px 0 rgb(255 246 224 / 55%);padding-bottom:clamp(2px,.5vh,5px);border-bottom:1px solid rgb(120 84 44 / 38%);width:100%;text-align:center}.dice-bet-input{width:100%;padding:clamp(3px,.7vh,7px);border:1px solid rgb(120 84 44 / 60%);border-radius:7px;background:#f3e7cbe5;box-shadow:inset 0 1px 3px #5a3c1e40;color:#3a2814;font-family:var(--font-display);font-size:clamp(.78rem,1.5vw,1.08rem);font-weight:700;text-align:center}.dice-bet-steppers{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2px,.35vw,4px);width:100%}.dice-bet-steppers button{padding:clamp(3px,.7vh,7px) 0;border:1px solid rgb(120 84 44 / 55%);border-radius:6px;background:#4a301857;color:#34200d;font-family:var(--font-display);font-size:clamp(.56rem,1.1vw,.8rem);font-weight:800;cursor:pointer;transition:background .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft)}.dice-bet-steppers button:hover{background:#78542c4d;border-color:#966836a6}.dice-bet-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2px,.35vw,4px);width:100%}.dice-bet-chip{padding:clamp(3px,.6vh,6px) 0;border:1px solid rgb(120 84 44 / 50%);border-radius:6px;background:#f7eed67a;color:#34200d;font-family:var(--font-display);font-size:clamp(.54rem,1.05vw,.76rem);font-weight:800;cursor:pointer;transition:background .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft)}.dice-bet-chip:hover{background:#f7eed699}.dice-bet-chip.is-active{border-color:#7e4ba0;background:#7e4ba038;box-shadow:0 0 10px #7e4ba059,inset 0 0 6px #7e4ba02e}.dice-roll-btn{margin-top:clamp(2px,.6vh,6px);width:100%;padding:clamp(6px,1.2vh,12px) 0;border:1px solid rgb(200 170 90 / 55%);border-radius:9px;background:linear-gradient(165deg,#6a3f9e,#3e2470);color:#f4e6c8;font-family:var(--font-display);font-size:clamp(.82rem,1.65vw,1.18rem);font-weight:700;letter-spacing:.08em;cursor:pointer;transition:transform .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft),filter .14s var(--ease-out-soft)}.dice-roll-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 16px #8c5ac873;filter:brightness(1.08)}.dice-roll-btn:disabled{opacity:.55;cursor:default}.dice-feedback{margin:0;font-size:clamp(.54rem,1.05vw,.76rem);text-align:center}.dice-feedback-error{color:#b0381f}.dice-feedback-success{color:#2f6b3a}.dice-feedback-info{color:#2f4f8f}.dice-felt{position:absolute;left:10%;top:76.5%;width:62%;height:15.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(3px,.9vh,8px);padding:0 2%}.dice-tray{display:flex;align-items:center;justify-content:center;gap:clamp(4px,.8vw,10px);min-height:clamp(28px,5vh,46px);flex-wrap:nowrap}.dice-banner{margin:0;text-align:center;font-size:clamp(.66rem,1.45vw,1.05rem);font-weight:700;line-height:1.15}.dice-banner-idle{color:#d6ead2c7;font-weight:600}.dice-banner-rolling{color:#d6ead2e0;font-style:italic;font-weight:600}.dice-banner-win{color:#b6f0c2;text-shadow:0 0 12px rgb(143 214 160 / 45%)}.dice-banner-coin{color:#bfe6fa;text-shadow:0 0 12px rgb(116 200 230 / 50%)}.dice-banner-jackpot{color:#f7e08a;text-shadow:0 0 14px rgb(240 200 90 / 60%);animation:dice-banner-pulse 1.4s ease-in-out infinite}.dice-banner-lose{color:#e8a896}@keyframes dice-banner-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.28)}}.dice-die{position:relative;display:grid;place-items:center;border-radius:22%;border:1.5px solid rgb(0 0 0 / 25%);box-shadow:0 3px 8px #00000073,inset 0 1px 2px #ffffff40;font-weight:800}.dice-die-lg{width:clamp(38px,5vw,60px);height:clamp(38px,5vw,60px)}.dice-die-md{width:clamp(32px,4.2vw,50px);height:clamp(32px,4.2vw,50px)}.dice-die-sm{width:clamp(26px,3.4vw,42px);height:clamp(26px,3.4vw,42px)}.dice-die-value{font-size:clamp(.9rem,2vw,1.5rem);line-height:1;text-shadow:0 1px 2px rgb(0 0 0 / 40%)}.dice-die-tag{position:absolute;right:8%;bottom:6%;font-size:clamp(.34rem,.7vw,.5rem);letter-spacing:.04em;opacity:.7;font-weight:700}.dice-die-ophirae{background:linear-gradient(155deg,#efe7d6,#cdbfa0);color:#3a3326;border-color:#b8a884}.dice-die-mycorae{background:linear-gradient(155deg,#6a9a5b,#36502f);color:#eaf3df;border-color:#9fc08a}.dice-die-pyrae{background:linear-gradient(155deg,#e0702f,#7e2412);color:#ffe9d2;border-color:#f0a060}.dice-die-aetherae{background:linear-gradient(155deg,#34304e,#0e0c1c);color:#cfc8e8;border-color:#6b5fa0}.dice-die-lustriae{background:linear-gradient(155deg,#a5733f,#5e3c1d);color:#f3e3c8;border-color:#c79a5e}.dice-die-aureliae{background:linear-gradient(155deg,#ec8fa4,#b24d6e);color:#ffe6ee;border-color:#f2a8bd}.dice-die-max{border-color:#f7d96a;box-shadow:0 0 14px #f7d96ab3,0 3px 8px #00000073,inset 0 0 8px #f7d96a4d}.dice-die-max:before{content:"♛";position:absolute;top:-34%;font-size:clamp(.6rem,1.3vw,.95rem);color:#f7d96a;text-shadow:0 0 8px rgb(247 217 106 / 70%)}.dice-die-wobbling{animation:dice-wobble .42s ease-in-out infinite}.dice-die-landing{animation:dice-land .4s var(--ease-out-soft)}.dice-die-settled{animation:dice-drop .32s var(--ease-out-soft)}@keyframes dice-wobble{0%{transform:rotate(-8deg) scale(.97)}25%{transform:rotate(6deg) scale(1.05)}50%{transform:rotate(-4deg) scale(1)}75%{transform:rotate(8deg) scale(1.05)}to{transform:rotate(-8deg) scale(.97)}}@keyframes dice-land{0%{transform:scale(1.32) rotate(-6deg)}40%{transform:scale(.88) rotate(4deg)}70%{transform:scale(1.09) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes dice-drop{0%{transform:translateY(-46px) scale(1.1);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dice-coin{position:relative;display:grid;place-items:center;width:clamp(40px,5.4vw,64px);height:clamp(40px,5.4vw,64px);border-radius:50%;background:radial-gradient(circle at 38% 32%,#dfe3f5,#8b8fc0 55%,#3a3a66);border:2px solid #b9bce0;box-shadow:0 0 18px #96a0e68c,inset 0 0 10px #ffffff4d;color:#2a2a4e}.dice-coin-face{font-size:clamp(1.1rem,2.6vw,2rem);line-height:1}.dice-coin-flipping{animation:dice-coin-flip 1.1s linear}.dice-coin-won{background:radial-gradient(circle at 38% 32%,#fff3c4,#f0c25a 55%,#9a6a1e);border-color:#f7d96a;box-shadow:0 0 22px #f0c85ab3,inset 0 0 10px #ffffff59;color:#5a3c10}.dice-coin-lost{filter:grayscale(.5) brightness(.8)}@keyframes dice-coin-flip{0%{transform:rotateY(0) scale(.7)}to{transform:rotateY(1980deg) scale(1)}}@media(prefers-reduced-motion:reduce){.dice-die-wobbling,.dice-die-landing,.dice-die-settled,.dice-coin-flipping,.dice-banner-jackpot{animation:none}}.dice-die-art{background-size:cover;background-position:center;background-repeat:no-repeat;border-color:transparent;box-shadow:0 3px 8px #00000073}.dice-die-art .dice-die-value{position:absolute;left:7%;bottom:5%;padding:0 4px;border-radius:6px;background:#0806129e;color:#f5edd6;font-size:clamp(.56rem,1.2vw,.9rem);text-shadow:none}.dice-die-art.dice-die-max{box-shadow:0 0 16px #f7d96abf,0 3px 8px #00000073}.dice-die-art .dice-die-tag{display:none}.dice-coin-art{background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#b9bce0b3}.dice-coin-art.dice-coin-won{border-color:#f7d96a}.dice-celebrate{position:absolute;inset:0;z-index:8;pointer-events:none;display:grid;place-items:center}.dice-fireworks{position:absolute;left:50%;top:44%;width:0;height:0}.dice-spark{position:absolute;left:0;top:0;width:clamp(6px,.9vw,11px);height:clamp(6px,.9vw,11px);border-radius:50%;background:hsl(var(--hue, 48) 92% 62%);box-shadow:0 0 10px hsl(var(--hue, 48) 95% 66%),0 0 18px hsl(var(--hue, 48) 90% 60% / 60%);opacity:0;animation:dice-spark-burst 1.5s ease-out forwards}@keyframes dice-spark-burst{0%{transform:translate(0) scale(.4);opacity:0}12%{opacity:1}65%{opacity:1}to{transform:translate(var(--tx, 0),var(--ty, 0)) scale(.85);opacity:0}}.dice-celebrate-toast{position:relative;margin-top:-6%;display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.6vh,6px);padding:clamp(8px,1.5vh,17px) clamp(20px,3.4vw,46px);border-radius:14px;background:linear-gradient(165deg,#2a2048eb,#120e26f2);border:2px solid rgb(247 217 106 / 70%);box-shadow:0 0 32px #f7d96a73,0 10px 26px #0000008c;animation:dice-toast-pop 2.7s var(--ease-out-soft) forwards}.dice-celebrate-title{font-family:var(--font-display);font-size:clamp(1.1rem,2.9vw,2.2rem);font-weight:800;letter-spacing:.03em;line-height:1;color:#f7e08a;text-shadow:0 0 16px rgb(247 224 138 / 70%),0 2px 4px rgb(0 0 0 / 50%)}.dice-celebrate-amount{font-family:var(--font-display);font-size:clamp(.82rem,1.8vw,1.3rem);font-weight:700;color:#feb;text-shadow:0 1px 3px rgb(0 0 0 / 50%)}.dice-celebrate-coin .dice-celebrate-toast{border-color:#96c8f0bf;box-shadow:0 0 32px #8cc8f07f,0 10px 26px #0000008c}.dice-celebrate-coin .dice-celebrate-title{color:#cfe9fb;text-shadow:0 0 16px rgb(150 200 240 / 75%),0 2px 4px rgb(0 0 0 / 50%)}.dice-celebrate-coin .dice-celebrate-amount{color:#e6f3ff}.dice-celebrate-win .dice-celebrate-toast{border-color:#a0dc96b3;box-shadow:0 0 28px #8fd6a073,0 10px 26px #0000008c}.dice-celebrate-win .dice-celebrate-title{color:#c6f3cf;text-shadow:0 0 14px rgb(143 214 160 / 65%),0 2px 4px rgb(0 0 0 / 50%)}.dice-celebrate-win .dice-celebrate-amount{color:#e6ffe9}@keyframes dice-toast-pop{0%{transform:scale(.4) translateY(12px);opacity:0}10%{transform:scale(1.14);opacity:1}18%{transform:scale(1)}80%{transform:scale(1);opacity:1}to{transform:scale(1.05);opacity:0}}@media(prefers-reduced-motion:reduce){.dice-spark{display:none}.dice-celebrate-toast{animation:dice-toast-fade 2.7s ease-out forwards}}@keyframes dice-toast-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}@media(orientation:portrait){.drawer-sheet.drawer-sheet-dicetable{top:auto;right:auto;bottom:env(safe-area-inset-bottom,0);left:50%;transform:translate(-50%);width:min(100vw,52.9vh);height:auto;max-height:none;aspect-ratio:941 / 1672;padding-bottom:0;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(ellipse at 50% 30%,#161432f5,#090918fa);background-size:100% 100%,auto}.dice-gold{left:14%;top:18.8%;width:15%}.dice-howto{left:9.5%;top:28.5%;width:37%;bottom:53.5%;font-size:clamp(.58rem,2.6vw,.82rem)}.dice-bet{left:56%;top:26.5%;width:31%;bottom:54.5%;gap:clamp(3px,.7vh,8px)}.dice-stat{top:54%}.dice-stat-target{left:7.5%;width:24.5%}.dice-stat-payout{left:34%;width:24.5%}.dice-stat-bet{left:60.5%;width:31.5%}.dice-velvet{left:24%;top:62%;width:52%;height:8.5%}.dice-total{left:39%;top:74.4%;width:22%}.dice-felt{position:absolute;inset:0;width:auto;height:auto;padding:0;display:block;pointer-events:none}.dice-tray{position:absolute;left:13%;right:13%;top:70.6%;min-height:0}.dice-banner{position:absolute;left:10%;top:85.5%;width:46%;bottom:8%;display:flex;align-items:center;justify-content:center}}.drawer-sheet.drawer-sheet-auctionhouse{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 22%,#141a3e,#080b20 70%);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-auctionhouse .drawer-title,.drawer-sheet-auctionhouse .drawer-handle-zone{display:none}.drawer-sheet-auctionhouse .drawer-header{position:absolute;top:1.4%;right:1.4%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-auctionhouse .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-auctionhouse{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3}}.ah-board{position:absolute;inset:0;font-family:var(--font-display);color:#ccd6f4}.ah-toast{position:absolute;left:50%;top:21.5%;transform:translate(-50%);margin:0;padding:4px 16px;border-radius:8px;background:#0a0e24e0;border:1px solid rgb(120 150 230 / 45%);font-size:clamp(.6rem,1.15vw,.84rem);z-index:5;white-space:nowrap}.ah-toast-error{color:#f0a0a0;border-color:#dc78787f}.ah-toast-success{color:#a6e6c0;border-color:#78dca07f}.ah-toast-info{color:#bcd0ff}.ah-coin{display:inline-block;width:.72em;height:.72em;margin-right:.3em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a0,#e0b84e 60%,#9a7a26);box-shadow:0 0 5px #e6c85a7f;vertical-align:-.04em}.ah-browse-list,.ah-inv-list,.ah-mine-list{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(120 150 230 / 45%) transparent}.ah-browse-list::-webkit-scrollbar,.ah-inv-list::-webkit-scrollbar,.ah-mine-list::-webkit-scrollbar{width:7px}.ah-browse-list::-webkit-scrollbar-thumb,.ah-inv-list::-webkit-scrollbar-thumb,.ah-mine-list::-webkit-scrollbar-thumb{background:#7896e666;border-radius:4px}.ah-empty{margin:0;padding:10% 8% 0;text-align:center;font-style:italic;color:#b4c4f099;font-size:clamp(.62rem,1.2vw,.86rem)}.ah-browse{position:absolute;left:3.5%;top:24%;width:39.5%;height:64%;display:flex;flex-direction:column;padding:1.4% 1.6%;gap:clamp(4px,.8vh,9px)}.ah-browse-head{display:flex;gap:clamp(4px,.6vw,8px)}.ah-search{flex:1;min-width:0;padding:clamp(4px,.7vh,8px) clamp(6px,.8vw,11px);border:1px solid rgb(120 150 230 / 35%);border-radius:8px;background:#0a1028b3;color:#dce6ff;font-family:var(--font-display);font-size:clamp(.66rem,1.2vw,.9rem)}.ah-search::placeholder{color:#aabceb7f}.ah-refresh{padding:0 clamp(8px,1.2vw,16px);border:1px solid rgb(120 150 230 / 40%);border-radius:8px;background:#28366e99;color:#cfdcff;font-family:var(--font-display);font-size:clamp(.62rem,1.1vw,.82rem);font-weight:600;cursor:pointer;transition:background .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft)}.ah-refresh:hover{background:#3a4c96b3;border-color:#96b4fa8c}.ah-browse-cols,.ah-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:clamp(4px,.7vw,10px)}.ah-browse-cols{padding:0 1% clamp(2px,.5vh,5px);border-bottom:1px solid rgb(120 150 230 / 25%);font-size:clamp(.5rem,.95vw,.66rem);letter-spacing:.1em;text-transform:uppercase;color:#a0b4ebb3}.ah-browse-list{flex:1;display:flex;flex-direction:column}.ah-row{padding:clamp(4px,.8vh,9px) 1%;border-bottom:1px solid rgb(120 150 230 / 12%);font-size:clamp(.62rem,1.15vw,.88rem)}.ah-row-mine{background:#5a6ed21a}.ah-col-item{color:#a9c6ff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-col-price{color:#ecd58a;font-weight:700;white-space:nowrap}.ah-col-seller{color:#c4d0f5d9;white-space:nowrap}.ah-col-buy{justify-self:end}.ah-btn{padding:clamp(3px,.6vh,7px) clamp(8px,1vw,15px);border-radius:7px;border:1px solid transparent;font-family:var(--font-display);font-size:clamp(.58rem,1.05vw,.8rem);font-weight:700;cursor:pointer;transition:filter .14s var(--ease-out-soft),transform .14s var(--ease-out-soft)}.ah-btn:disabled{opacity:.45;cursor:default}.ah-btn-buy{background:linear-gradient(165deg,#5a4fb0,#3a2e80);border-color:#96aafa7f;color:#eef0ff}.ah-btn-buy:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px)}.ah-btn-cancel{background:#461c26b3;border-color:#d26e7873;color:#f2c4c8}.ah-btn-cancel:hover{filter:brightness(1.15)}.ah-inventory{position:absolute;left:45.8%;top:30%;width:16.8%;height:31.5%;padding:.6% .6% .6% 1%}.ah-inv-list{height:100%;display:flex;flex-direction:column;gap:2px}.ah-inv-row{display:flex;align-items:center;gap:clamp(4px,.5vw,8px);padding:clamp(3px,.6vh,7px) clamp(4px,.6vw,9px);border:1px solid transparent;border-radius:7px;background:transparent;color:#cfdcff;font-family:var(--font-display);font-size:clamp(.6rem,1.1vw,.84rem);text-align:left;cursor:pointer;transition:background .13s var(--ease-out-soft),border-color .13s var(--ease-out-soft)}.ah-inv-row:hover{background:#465ab42e}.ah-inv-row-active{background:#5068d242;border-color:#96b4ff8c;box-shadow:0 0 10px #7896f059}.ah-inv-icon{width:clamp(18px,2.2vw,28px);height:clamp(18px,2.2vw,28px);flex-shrink:0;border-radius:5px;background:#141c3c99;overflow:hidden}.ah-inv-icon img{width:100%;height:100%;object-fit:cover}.ah-inv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-selected{position:absolute;left:64.5%;top:30%;width:32%;height:24%;padding:.8% 2%;overflow-y:auto}.ah-detail{display:flex;gap:clamp(8px,1.2vw,18px);height:100%}.ah-detail-icon{width:clamp(54px,8vw,104px);height:clamp(54px,8vw,104px);flex-shrink:0;border-radius:10px;border:1px solid rgb(120 150 230 / 40%);background:#101632b3;overflow:hidden}.ah-detail-icon img{width:100%;height:100%;object-fit:cover}.ah-detail-body{flex:1;min-width:0}.ah-detail-name{margin:0;font-size:clamp(.86rem,1.7vw,1.3rem);font-weight:700;color:#a9c6ff;line-height:1.1}.ah-detail-sub{margin:2px 0 clamp(4px,.8vh,9px);font-size:clamp(.58rem,1.1vw,.82rem);color:#bea0e6e5;text-transform:capitalize}.ah-detail-stats{margin:0;display:flex;flex-direction:column;gap:2px}.ah-detail-stats div{display:flex;justify-content:space-between;gap:1em;font-size:clamp(.56rem,1.05vw,.8rem)}.ah-detail-stats dt{margin:0;color:#beccf4c7}.ah-detail-stats dd{margin:0;color:#dce6ff;font-weight:600}.ah-detail-ench{margin:clamp(4px,.8vh,8px) 0 0;font-size:clamp(.54rem,1vw,.76rem);font-style:italic;color:#8fd0e6}.ah-detail-empty{padding-top:14%}.ah-list-action{position:absolute;left:64.5%;top:56%;width:32%;height:6.5%;display:flex;align-items:center;gap:clamp(6px,1vw,14px);padding:0 2%}.ah-price-row{display:flex;gap:clamp(5px,.8vw,11px);flex:1}.ah-price-input{width:clamp(70px,9vw,130px);padding:clamp(4px,.7vh,8px) clamp(6px,.7vw,10px);border:1px solid rgb(120 150 230 / 40%);border-radius:8px;background:#0a1028bf;color:#ecd58a;font-family:var(--font-display);font-size:clamp(.7rem,1.3vw,1rem);font-weight:700;text-align:center}.ah-list-btn{flex:1;padding:clamp(5px,.9vh,11px) clamp(8px,1.4vw,22px);border:1px solid rgb(170 150 250 / 55%);border-radius:9px;background:linear-gradient(165deg,#6e51b4,#3f2a86);color:#f1ecff;font-family:var(--font-display);font-size:clamp(.7rem,1.4vw,1.05rem);font-weight:700;letter-spacing:.04em;cursor:pointer;transition:filter .14s var(--ease-out-soft),transform .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft)}.ah-list-btn:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 0 16px #966ee673}.ah-list-btn:disabled{opacity:.45;cursor:default}.ah-mine{position:absolute;left:44.5%;top:68%;width:52.3%;height:20%;padding:.8% 1.4%}.ah-mine-list{height:100%;display:flex;flex-direction:column;gap:2px}.ah-mine-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:clamp(6px,1vw,16px);padding:clamp(4px,.7vh,8px) 1%;border-bottom:1px solid rgb(120 150 230 / 12%);font-size:clamp(.62rem,1.15vw,.88rem)}.ah-mine-name{color:#a9c6ff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-mine-price{color:#ecd58a;font-weight:700;white-space:nowrap}.drawer-sheet.drawer-sheet-forge{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#241b14,#0c0805 75%);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-forge .drawer-title,.drawer-sheet-forge .drawer-handle-zone{display:none}.drawer-sheet-forge .drawer-header{position:absolute;top:1.4%;right:1.4%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-forge .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-forge{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3}}.cr-board{position:absolute;inset:0;font-family:var(--font-display)}.cr-empty{margin:0;padding:12% 8% 0;text-align:center;font-style:italic;color:#d8c4a099;font-size:clamp(.62rem,1.2vw,.86rem)}.cr-toast{position:absolute;left:50%;top:14.5%;transform:translate(-50%);margin:0;padding:3px 16px;border-radius:8px;background:#140e08eb;border:1px solid rgb(200 130 50 / 50%);color:#f0d8b0;font-size:clamp(.6rem,1.1vw,.82rem);white-space:nowrap;z-index:5}.cr-toast-error{color:#f0a890;border-color:#d2785a8c}.cr-toast-success{color:#bfe6a8;border-color:#96d2788c}.cr-recipes{position:absolute;left:12.5%;top:21%;width:28%;height:66%;display:flex;flex-direction:column;gap:clamp(4px,.9vh,10px);padding:.6%}.cr-tabs{display:flex;gap:clamp(2px,.4vw,5px)}.cr-tab{flex:1;padding:clamp(3px,.7vh,7px) 0;border:1px solid rgb(150 100 50 / 35%);border-radius:6px;background:#281c12b3;color:#c9aa78;font-family:var(--font-display);font-size:clamp(.5rem,1vw,.72rem);font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .14s var(--ease-out-soft),color .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft)}.cr-tab:hover{background:#3c2a18cc}.cr-tab-active{color:#ffce82;border-color:#e6963cb3;box-shadow:0 0 9px #e6963c59,inset 0 0 7px #e6963c2e}.cr-recipe-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:clamp(3px,.6vh,7px);scrollbar-width:thin;scrollbar-color:rgb(180 120 60 / 45%) transparent}.cr-recipe-list::-webkit-scrollbar{width:7px}.cr-recipe-list::-webkit-scrollbar-thumb{background:#b4783c66;border-radius:4px}.cr-recipe{display:flex;align-items:center;gap:clamp(5px,.8vw,11px);padding:clamp(5px,1vh,11px) clamp(6px,.9vw,13px);border:1px solid rgb(150 100 50 / 28%);border-radius:8px;background:linear-gradient(160deg,#261a10cc,#160f09d9);color:#e7d3ac;font-family:var(--font-display);text-align:left;cursor:pointer;transition:border-color .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft)}.cr-recipe:hover{border-color:#d28c3c7f}.cr-recipe-active{border-color:#f0a03ccc;box-shadow:0 0 12px #eb963773,inset 0 0 9px #eb963724}.cr-recipe-icon{width:clamp(22px,3vw,38px);height:clamp(22px,3vw,38px);flex-shrink:0;display:grid;place-items:center;border-radius:6px;background:#120c07b3;border:1px solid rgb(150 100 50 / 35%);font-size:clamp(.8rem,1.6vw,1.2rem);color:#d6a868}.cr-recipe-text{flex:1;min-width:0;display:flex;flex-direction:column}.cr-recipe-name{font-size:clamp(.74rem,1.4vw,1.05rem);font-weight:600;color:#f0e0c2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-recipe-skill{font-size:clamp(.5rem,.95vw,.68rem);letter-spacing:.08em;text-transform:uppercase;color:#e08828}.cr-recipe-mark{color:#b48246a6;font-size:clamp(.7rem,1.3vw,1rem)}.cr-detail{position:absolute;left:44.5%;top:21%;width:47%;height:54%;display:flex;flex-direction:column;gap:clamp(6px,1.4vh,16px);padding:1% 2%;color:#3a2a18;overflow-y:auto}.cr-detail-empty{color:#503a22b3}.cr-detail-head{display:flex;gap:clamp(8px,1.4vw,20px)}.cr-detail-icon{width:clamp(56px,8.5vw,116px);height:clamp(56px,8.5vw,116px);flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:2px solid rgb(120 84 44 / 55%);background:radial-gradient(circle at 40% 35%,#96785059,#3c2c1a4d);font-size:clamp(1.6rem,4vw,3rem);color:#5a3c1c}.cr-detail-titles{flex:1;min-width:0}.cr-detail-name{margin:0;font-size:clamp(1rem,2.3vw,1.85rem);font-weight:700;color:#2a1c0e;line-height:1.05}.cr-detail-skill{margin:3px 0 clamp(4px,1vh,10px);display:flex;align-items:center;gap:.35em;font-size:clamp(.62rem,1.2vw,.92rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a4a1e}.cr-detail-desc{margin:0;font-size:clamp(.62rem,1.2vw,.92rem);line-height:1.32;color:#4a3520}.cr-ingredients{border:1px solid rgb(120 84 44 / 45%);border-radius:10px;background:#785a321f;padding:clamp(5px,1vh,11px) clamp(8px,1.2vw,16px)}.cr-ingredients-title{text-align:center;font-size:clamp(.56rem,1.1vw,.82rem);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#6a4824;padding-bottom:clamp(3px,.7vh,7px);margin-bottom:clamp(3px,.7vh,7px);border-bottom:1px solid rgb(120 84 44 / 30%)}.cr-ingredient-list{display:flex;flex-direction:column;gap:clamp(2px,.5vh,5px)}.cr-ingredient{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(5px,.9vw,12px);padding:clamp(2px,.5vh,5px) 0;font-size:clamp(.64rem,1.2vw,.95rem)}.cr-ing-icon{color:#8a5a2a}.cr-ing-name{color:#36240f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-ing-count{font-weight:700;font-variant-numeric:tabular-nums}.cr-ing-mark{font-weight:700}.cr-ing-ok{color:#2f7a33}.cr-ing-short{color:#a3331f}.cr-craft-hotspot{position:absolute;left:51%;top:73.5%;width:31%;height:9.5%;border:none;border-radius:12px;background:transparent;cursor:pointer;transition:box-shadow .15s var(--ease-out-soft),background .15s var(--ease-out-soft)}.cr-craft-hotspot:hover{box-shadow:0 0 22px #f096328c;background:#f096321a}.cr-craft-disabled{cursor:not-allowed;background:#0805039e}.cr-craft-disabled:hover{box-shadow:none;background:#0805039e}.drawer-sheet.drawer-sheet-professions{background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 35%,#efe2c2,#d8c49a 80%);background-size:cover,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-professions .drawer-title,.drawer-sheet-professions .drawer-handle-zone{display:none}.drawer-sheet-professions .drawer-header{position:absolute;top:1.4%;right:2%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-professions .drawer-close{color:#6a4a24}.drawer-sheet-professions .drawer-body{padding:0;position:relative}@media(min-width:768px){.drawer-sheet.drawer-sheet-professions{width:auto;height:94vh;max-height:94vh;aspect-ratio:1130 / 1440}}.prof-board{position:absolute;inset:0;font-family:var(--font-display)}.prof-list{position:absolute;left:14%;top:20%;width:73%;height:71%;display:flex;flex-direction:column;gap:clamp(4px,.9vh,11px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(150 110 60 / 45%) transparent}.prof-list::-webkit-scrollbar{width:7px}.prof-list::-webkit-scrollbar-thumb{background:#966e3c66;border-radius:4px}.prof-empty{margin:auto;text-align:center;font-style:italic;color:#5a4022b3;font-size:clamp(.66rem,1.3vw,.95rem)}.prof-row{display:grid;grid-template-columns:auto 1fr auto 2fr;align-items:center;gap:clamp(6px,1.2vw,16px);padding:clamp(4px,.9vh,10px) clamp(6px,1vw,14px);border:1px solid rgb(140 100 50 / 45%);border-radius:10px;background:#fcf5e18c}.prof-icon{width:clamp(28px,3.6vw,50px);height:clamp(28px,3.6vw,50px);display:grid;place-items:center;border-radius:10px 10px 14px 14px;border:1px solid rgb(120 84 44 / 50%);background:radial-gradient(circle at 40% 30%,#c8aa7873,#785a374d);font-size:clamp(1rem,2.2vw,1.7rem);color:#4a3014}.prof-name-block{display:flex;flex-direction:column;min-width:0}.prof-name{font-size:clamp(.84rem,1.8vw,1.5rem);font-weight:700;color:#2a1c0e;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-cat{display:flex;align-items:center;gap:.35em;font-size:clamp(.54rem,1vw,.78rem);font-weight:600}.prof-cat:before{content:"◆";font-size:.7em}.prof-cat-gathering{color:#3f7a33}.prof-cat-crafting{color:#9a3326}.prof-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:clamp(34px,4.4vw,60px);padding:clamp(2px,.5vh,6px) clamp(4px,.6vw,10px);border-radius:7px 7px 10px 10px;border:1.5px solid rgb(0 0 0 / 22%);font-size:clamp(.9rem,1.9vw,1.5rem);font-weight:800;line-height:1;color:#f4ead2}.prof-badge-lv{font-size:.42em;font-weight:700;letter-spacing:.06em;opacity:.85}.prof-badge-gathering{background:linear-gradient(165deg,#5f7e3a,#3c5424)}.prof-badge-crafting{background:linear-gradient(165deg,#8e3a2c,#5e2018)}.prof-xp{display:flex;flex-direction:column;gap:clamp(2px,.5vh,5px);min-width:0}.prof-xp-text{font-size:clamp(.56rem,1.05vw,.82rem);font-weight:600;color:#4a3520;font-variant-numeric:tabular-nums}.prof-bar{height:clamp(9px,1.3vh,16px);border-radius:5px;border:1px solid rgb(120 84 44 / 55%);background:#3c2c1a59;overflow:hidden}.prof-bar-fill{display:block;height:100%;border-radius:4px}.prof-bar-gathering .prof-bar-fill{background:linear-gradient(90deg,#6f9a44,#8fbe58)}.prof-bar-crafting .prof-bar-fill{background:linear-gradient(90deg,#a84432,#cc6a4f)}.cc-plaque-btn{flex:1.7;display:grid;place-items:center;min-height:56px;border:none;border-radius:12px;background:linear-gradient(165deg,#6a4a22,#3e2a12);cursor:pointer;transition:filter .15s var(--ease-out-soft),transform .15s var(--ease-out-soft)}.cc-plaque-btn.has-art{min-height:82px;background:var(--cc-plaque) center / contain no-repeat}.cc-plaque-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.cc-plaque-btn:active{transform:scale(.98)}.cc-plaque-label{font-family:var(--font-display);font-size:clamp(.82rem,1.7vw,1.15rem);font-weight:700;letter-spacing:.06em;color:#f4e2c0;text-shadow:0 1px 3px rgb(0 0 0 / 60%)}.cc-plaque-btn.has-art .cc-plaque-label{color:#fff6e2;text-shadow:0 1px 2px rgb(0 0 0 / 85%),0 0 6px rgb(0 0 0 / 55%)}.spellbook-craft-btn{margin-left:auto;padding:4px 12px;border:1px solid rgb(200 130 50 / 45%);border-radius:8px;background:#3c28168c;color:#e8c488;font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .14s var(--ease-out-soft),border-color .14s var(--ease-out-soft)}.spellbook-craft-btn:hover{background:#52361cb3;border-color:#e6963c99}.admin-dialog.admin-dialog-skinned{position:relative;width:min(95vw,132vh);max-width:95vw;max-height:94vh;aspect-ratio:1456 / 1024;padding:0;background:var(--admin-bg, none) center / 100% 100% no-repeat;border:none;border-radius:18px;box-shadow:0 24px 60px #040612b3;overflow:hidden}.admin-dialog-skinned .admin-skin-close{position:absolute;top:2.2%;right:2.4%;z-index:6;width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px);border-radius:50%;border:1px solid rgb(190 150 90 / 55%);background:#281832bf;color:#e8c878;font-size:clamp(.8rem,1.6vw,1.1rem);cursor:pointer;transition:filter .14s var(--ease-out-soft)}.admin-dialog-skinned .admin-skin-close:hover{filter:brightness(1.2)}.admin-dialog-skinned .admin-content{position:absolute;inset:0;display:block;overflow:hidden;padding:0;color:#d6def4}.admin-dialog-skinned .admin-status-strip{position:absolute;inset:18.8% 23% 63.2% 16.4%;display:flex;gap:clamp(6px,.8vw,14px);margin:0}.admin-dialog-skinned .admin-status-card{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(2px,.5vh,5px);padding:clamp(5px,1vh,11px) clamp(10px,1.4vw,22px);border:none;background:none;border-radius:0}.admin-dialog-skinned .admin-main-pane{position:absolute;inset:39% 3% 11.5%;display:flex;flex-direction:column;gap:clamp(4px,.8vh,10px);min-height:0}.admin-dialog-skinned .admin-status-label{font-size:clamp(.5rem,.95vw,.7rem);letter-spacing:.16em;text-transform:uppercase;color:#b0c0eca6}.admin-dialog-skinned .admin-status-card strong{color:#e8c878;font-family:var(--font-display);font-size:clamp(.95rem,1.8vw,1.4rem);font-weight:700;letter-spacing:.02em;text-shadow:0 1px 8px rgb(180 140 60 / 30%)}.admin-dialog-skinned .admin-board{flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:center;justify-items:center;gap:clamp(0px,.35vh,5px) clamp(0px,.6vw,11px);overflow-y:auto;padding:clamp(1px,.3vh,4px) 2px;scrollbar-width:thin;scrollbar-color:rgb(150 170 230 / 45%) transparent}.admin-dialog-skinned .admin-board::-webkit-scrollbar{width:7px}.admin-dialog-skinned .admin-board::-webkit-scrollbar-thumb{background:#96aae666;border-radius:4px}.admin-dialog-skinned .admin-board-col{display:flex;flex-direction:column;gap:clamp(5px,1vh,13px);min-width:0}.admin-dialog-skinned .admin-form{margin-top:0;border:none;background:none;padding:0}.admin-dialog-skinned .admin-modal-backdrop{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:4%;background:#06091694;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdropFadeIn .18s var(--ease-out-soft)}.admin-dialog-skinned .admin-modal{position:relative;width:min(72%,520px);max-height:88%;overflow-y:auto;padding:clamp(18px,2.2vw,32px) clamp(16px,2.2vw,32px);border:1px solid rgb(200 176 96 / 45%);border-radius:14px;background:linear-gradient(180deg,#ffffff0f,#fff0 30%),linear-gradient(160deg,#1a1e46f5,#0e122cf7);box-shadow:0 24px 60px #030510b3,inset 0 1px #ffffff14;scrollbar-width:thin;scrollbar-color:rgb(150 170 230 / 45%) transparent}.admin-dialog-skinned .admin-modal-close{position:absolute;top:clamp(6px,1vw,12px);right:clamp(8px,1.1vw,14px);width:clamp(24px,2.4vw,32px);height:clamp(24px,2.4vw,32px);border-radius:50%;border:1px solid rgb(190 150 90 / 45%);background:#281832b3;color:#e8c878;cursor:pointer;transition:filter .14s var(--ease-out-soft)}.admin-dialog-skinned .admin-modal-close:hover{filter:brightness(1.2)}.admin-dialog-skinned .admin-action-section{border:none;padding:0;background:none}.admin-dialog-skinned .admin-section-title{margin:0 0 clamp(1px,.35vh,4px);padding-left:0;text-align:center;font-family:var(--font-display);font-size:clamp(.72rem,1.4vw,1.02rem);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d8bd72;text-shadow:0 1px 10px rgb(180 140 60 / 35%)}.admin-dialog-skinned .admin-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));gap:clamp(4px,.6vw,9px)}.admin-dialog-skinned .admin-action-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1px,.3vh,3px);aspect-ratio:3 / 2;width:100%;max-width:clamp(108px,12vw,138px);min-width:0;padding:13% 18%;border:1px solid var(--admin-action-edge, rgb(190 168 96 / 30%));border-radius:var(--admin-action-radius, 9px);background-image:var(--admin-action-btn, linear-gradient(180deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 0%) 42%), linear-gradient(135deg, rgb(66 46 124 / 78%) 0%, rgb(34 32 92 / 78%) 52%, rgb(24 50 104 / 78%) 100%));background-size:100% 100%;background-position:center;color:#dce4fa;font-family:var(--font-display);text-align:center;cursor:pointer;box-shadow:var(--admin-action-shadow, inset 0 1px 0 rgb(255 255 255 / 7%), 0 2px 9px rgb(4 6 20 / 38%));transition:border-color .14s var(--ease-out-soft),box-shadow .14s var(--ease-out-soft),filter .14s var(--ease-out-soft),transform .14s var(--ease-out-soft)}.admin-dialog-skinned .admin-action-tile:hover{border-color:var(--admin-action-edge, rgb(224 196 110 / 60%));filter:brightness(1.12) saturate(1.05);box-shadow:var(--admin-action-shadow, inset 0 1px 0 rgb(255 255 255 / 10%), 0 4px 14px rgb(4 6 20 / 45%));transform:translateY(-1px)}.admin-dialog-skinned .admin-action-tile .admin-action-label{flex:0 0 auto;font-size:clamp(.58rem,1vw,.82rem);font-weight:700;text-align:center;line-height:1.05}.admin-dialog-skinned .admin-action-tile .admin-action-desc{display:none}.admin-dialog-skinned .admin-action-tile-active{border-color:var(--admin-action-edge, rgb(224 192 100 / 80%));background-image:var(--admin-action-btn-active, var(--admin-action-btn, linear-gradient(180deg, rgb(255 255 255 / 12%), rgb(255 255 255 / 0%) 42%), linear-gradient(135deg, rgb(120 92 184 / 86%) 0%, rgb(74 62 156 / 86%) 52%, rgb(48 84 158 / 86%) 100%)));box-shadow:var(--admin-action-shadow, 0 0 16px rgb(214 182 96 / 42%), inset 0 0 12px rgb(214 182 96 / 16%));filter:drop-shadow(0 0 9px rgb(214 182 96 / 70%))}.admin-dialog-skinned .admin-action-tile-danger{border-color:var(--admin-action-edge, rgb(210 120 130 / 40%))}.admin-dialog-skinned .admin-action-tile-utility{border-color:var(--admin-action-edge, rgb(150 200 230 / 40%))}.admin-dialog-skinned .admin-action-label{font-size:clamp(.66rem,1.2vw,.92rem);font-weight:700;color:#f0e6c8}.admin-dialog-skinned .admin-action-desc{font-size:clamp(.52rem,.95vw,.72rem);color:#bec8ebb3;line-height:1.2}.admin-dialog-skinned .admin-form{margin-top:clamp(8px,1.4vh,16px);border:1px solid rgb(150 170 230 / 35%);border-radius:12px;background:#0e142ea6;padding:clamp(8px,1.4vh,16px)}.admin-dialog-skinned .admin-form-title{color:#e8c878}.admin-dialog-skinned .admin-input{background:#0a1028bf;border-color:#96aae666;color:#e4ecff}.admin-dialog-skinned .admin-submit{background:linear-gradient(165deg,#5a4fb0,#3a2e80);border-color:#b4a0f07f;color:#f1ecff}.staff-fab{position:absolute;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:calc(env(safe-area-inset-left,0px) + 104px);z-index:12;flex-direction:row;align-items:center;gap:6px}.staff-fab .staff-fab-btn{display:flex;align-items:center;min-height:34px;padding:0 14px}.staff-fab .staff-fab-invis{padding:0 11px;font-size:1rem}.terminal-screen{position:fixed;inset:0;z-index:var(--z-terminal);display:flex;flex-direction:column;align-items:center;padding:calc(8px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:#080a1200;pointer-events:none;transition:background-color .25s var(--ease-in-out-smooth)}.terminal-screen-open{pointer-events:auto;background:#080a1261}.terminal-scroll{display:flex;flex-direction:column;gap:8px;width:min(560px,92vw);height:100%;min-height:0;padding:10px 14px 12px;border-radius:10px;border:1px solid var(--line-soft);background:linear-gradient(180deg,#1a1e2ef7,#121622f7);box-shadow:0 18px 48px #080a128c;clip-path:inset(100% 0 0 0);transition:clip-path .32s var(--ease-out-soft)}.terminal-screen-open .terminal-scroll{clip-path:inset(0 0 0 0)}.terminal-screen-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between}.terminal-screen-title{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.terminal-screen-close{width:30px;height:30px;border-radius:var(--radius-md);border:1px solid var(--line-soft);background:#121622a6;color:var(--text-secondary);font-size:1.15rem;line-height:1;cursor:pointer}.terminal-screen-close:hover{color:var(--text-primary);background:#222940cc}.terminal-screen-host{flex:1;min-height:0;overflow:hidden}.terminal-screen-host .xterm,.terminal-screen-host .xterm-screen,.terminal-screen-host .xterm-viewport{height:100%!important}.terminal-screen-host .xterm-viewport{background:transparent!important}@media(prefers-reduced-motion:reduce){.terminal-screen,.terminal-scroll{transition:none}}.terminal-dock{display:none}@media(min-width:960px){.terminal-dock{display:flex;align-items:center;gap:10px;width:min(560px,92%);margin:0 auto calc(10px + env(safe-area-inset-bottom,0px));padding:6px 14px 7px;border-radius:4px;border:1px solid rgb(106 74 36 / 40%);background-image:linear-gradient(160deg,#f3ead2,#e6d8b4),repeating-linear-gradient(0deg,transparent 0 26px,rgb(106 74 36 / 12%) 26px 27px);box-shadow:0 4px 12px #08060259,inset 0 1px #fffcf48c;transform:rotate(-.4deg)}.terminal-dock:focus-within{border-color:#c8a24a;box-shadow:0 4px 14px #08060273,0 0 14px #c8a24a59}.hud-stack-btn-terminal{display:none}}.terminal-dock-glyph{font-size:1.1rem;line-height:1;color:#3a2c1a}.terminal-dock-quill-img{display:block;width:30px;height:auto;transform:rotate(8deg);filter:drop-shadow(0 2px 3px rgb(8 6 2 / 40%))}.terminal-dock-input{flex:1;min-width:0;border:none;border-bottom:2px solid rgb(106 74 36 / 45%);background:transparent;color:#2e2212;font-family:var(--font-display);font-size:1.05rem;outline:none;cursor:text}.terminal-dock-input::placeholder{color:#6a4a2499;font-style:italic}.terminal-dock-skinned{background-color:#efe5c8;background-image:var(--terminal-parchment, none);background-size:cover;background-position:center}.terminal-screen-skinned .terminal-scroll{border:1px solid rgb(106 74 36 / 45%);background-color:#efe5c8;background-image:var(--terminal-parchment, none);background-size:cover;background-position:center;box-shadow:0 18px 48px #0806028c,inset 0 1px #fffcf473}.terminal-screen-skinned .terminal-screen-title{color:#5a4226}.terminal-screen-skinned .terminal-screen-close{border-color:#6a4a2473;background:#f3ead28c;color:#5a4226}.terminal-screen-skinned .terminal-screen-close:hover{background:#fffcf4bf;color:#2e2212}.terminal-screen-skinned .canvas-command{background:#1410286b;border:none;border-bottom:2px solid rgb(206 174 96 / 55%);border-radius:4px 4px 0 0}.terminal-screen-skinned .canvas-command-input{color:#f3ead2}.terminal-screen-skinned .canvas-command-input::placeholder{color:#e6d8b67f}.canvas-command-send-skinned{background:none;border-radius:0}.canvas-command-send-img{display:block;width:30px;height:30px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(0 2px 3px rgb(8 6 2 / 45%));transition:transform .15s var(--ease-out-soft)}.canvas-command-send-skinned:hover .canvas-command-send-img{transform:rotate(-4deg) scale(1.08)}@media(prefers-reduced-motion:reduce){.canvas-command-send-img{transition:none}}.audio-slider:focus-visible,.video-modal-player:focus-visible,.cmd-palette-input:focus-visible,.canvas-command-input:focus-visible{outline:none;box-shadow:0 0 0 2px #b8d8e899}.cr-search:focus-visible,.terminal-dock-input:focus-visible,.puzzle-inscribe-input:focus-visible,.terminal-screen-skinned .canvas-command-input:focus-visible{outline:none;box-shadow:0 0 0 2px #966826a6}.cc-select:focus-visible,.cc-scribe-text:focus-visible{box-shadow:0 0 0 2px #c9a24a8c}.paperdoll-list-item:focus-visible{outline:none;box-shadow:0 0 0 2px #b8d8e899}::selection{background-color:#a897d28c;color:var(--text-bright)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.arcanum-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-3)}.arcanum-pledge-line{margin:0;font-size:.85rem;font-style:italic;color:var(--text-secondary)}.arcanum-empty{padding:var(--space-4);color:var(--text-muted);font-size:.85rem;text-align:center}.arcanum-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2)}.arcanum-zone{padding:var(--space-2);border:1px solid var(--line-faint);border-radius:var(--radius-md);background:#ffffff0a}.arcanum-zone-head{display:flex;justify-content:space-between;font-size:.78rem;font-weight:600;text-transform:capitalize;color:var(--text-primary)}.arcanum-zone-pct{color:var(--accent-gold)}.arcanum-zone-bar{height:6px;margin:var(--space-1) 0;border-radius:3px;background:#ffffff14;overflow:hidden}.arcanum-zone-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-lavender),var(--accent-gold))}.arcanum-zone-detail{font-size:.72rem;color:var(--text-muted)}.arcanum-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.arcanum-search{flex:1 1 160px;min-width:120px;padding:5px 10px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-primary);font-size:.8rem}.arcanum-search::placeholder{color:var(--text-muted)}.arcanum-search:focus-visible{outline:2px solid var(--primary-dim);outline-offset:1px}.arcanum-sort{padding:5px 8px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-secondary);font-size:.78rem;cursor:pointer}.arcanum-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.arcanum-chip{padding:3px 10px;border:1px solid var(--line-faint);border-radius:999px;background:var(--surface-chip);color:var(--text-secondary);font-size:.74rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.arcanum-chip:hover{background:var(--primary-glass);color:var(--text-primary)}.arcanum-chip-active{background:var(--primary-glass);color:var(--accent-gold);border-color:var(--primary-dim)}.arcanum-filter-note{margin:0;font-size:.74rem;color:var(--text-muted)}.arcanum-show-more{align-self:center;padding:5px 14px;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);background:var(--primary-glass);color:var(--text-primary);font-size:.78rem;cursor:pointer}.arcanum-show-more:hover{border-color:var(--accent-gold)}.arcanum-tabs{display:flex;gap:var(--space-1)}.arcanum-tab{padding:4px 12px;border:1px solid var(--line-faint);border-radius:var(--radius-sm);background:#ffffff0d;color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:background .15s,color .15s}.arcanum-tab:hover{background:var(--primary-glass);color:var(--text-primary)}.arcanum-tab-active{background:var(--primary-glass);color:var(--text-primary);border-color:var(--primary-dim)}.arcanum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2)}.arcanum-card{display:flex;flex-direction:column;border:1px solid var(--line-faint);border-radius:var(--radius-md);background:#ffffff0a;overflow:hidden}.arcanum-card-art{width:100%;aspect-ratio:1;object-fit:cover}.arcanum-card-body{display:flex;flex-direction:column;gap:2px;padding:var(--space-2)}.arcanum-card-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.arcanum-card-meta{font-size:.72rem;color:var(--text-muted)}.arcanum-first{font-size:.72rem;color:var(--text-secondary)}.arcanum-first-mine{color:var(--accent-gold)}.arcanum-conjure-btn{margin-top:var(--space-1);padding:3px 8px;align-self:flex-start;border:1px solid var(--primary-dim);border-radius:var(--radius-sm);background:var(--primary-glass);color:var(--text-primary);font-size:.74rem;cursor:pointer}.arcanum-conjure-btn:disabled{opacity:.5;cursor:default}.arcanum-rooms{display:flex;flex-direction:column;gap:var(--space-1)}.arcanum-room-group-head{position:sticky;top:0;z-index:1;padding:var(--space-1) var(--space-2);background:var(--surface-subpanel);border-radius:var(--radius-sm);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:capitalize;color:var(--accent-gold)}.arcanum-room-row{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line-faint);font-size:.82rem}.arcanum-room-title{color:var(--text-primary)}.arcanum-room-zone{font-size:.72rem;color:var(--text-muted);text-transform:capitalize}.jukebox-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);width:100%;max-width:560px;margin:0 auto}.jukebox-nowplaying{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-chip);border:1px solid var(--glass-edge)}.jukebox-np-eq{display:inline-flex;align-items:flex-end;gap:2px;height:18px}.jukebox-np-eq i{width:3px;background:var(--accent-primary);border-radius:2px;animation:jukebox-eq .9s ease-in-out infinite}.jukebox-np-eq i:nth-child(1){height:40%;animation-delay:-.2s}.jukebox-np-eq i:nth-child(2){height:100%;animation-delay:-.5s}.jukebox-np-eq i:nth-child(3){height:65%}@keyframes jukebox-eq{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.jukebox-np-eq i{animation:none}}.jukebox-np-title{color:var(--text-primary);font-weight:600}.jukebox-np-artist{color:var(--text-muted);font-weight:400}.jukebox-np-sub{font-size:.78rem;color:var(--text-muted)}.jukebox-np-desc{margin-top:2px;font-size:.78rem;font-style:italic;color:var(--text-muted)}.jukebox-np-next{margin-top:2px;font-size:.78rem;font-weight:600;color:var(--accent-primary)}.jukebox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.jukebox-song{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-subpanel);border:1px solid var(--glass-edge)}.jukebox-song.is-playing{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary) inset}.jukebox-song.is-queued{border-color:var(--color-gold-bright);box-shadow:0 0 0 1px var(--color-gold-bright) inset}.jukebox-song-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.7em;margin-top:1px;border-radius:50%;border:1px solid var(--glass-edge);background:var(--surface-chip);color:var(--text-muted);font-size:.78rem;font-variant-numeric:tabular-nums}.jukebox-song-main{flex:1;min-width:0}.jukebox-song-title{color:var(--text-primary);font-weight:600}.jukebox-song-artist{color:var(--text-muted)}.jukebox-song-desc{margin:2px 0 0;font-size:.78rem;font-style:italic;color:var(--text-muted)}.jukebox-song-meta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.jukebox-song-dur{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.jukebox-song-cost{font-size:.82rem;color:var(--color-gold-bright);font-weight:600}.jukebox-song-cost.is-short{color:var(--color-error)}.jukebox-play-btn{padding:6px 14px;border-radius:var(--radius-md);border:1px solid var(--glass-edge);background:var(--surface-chip);color:var(--text-primary);font:inherit;cursor:pointer}.jukebox-play-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.jukebox-play-btn:disabled{opacity:.5;cursor:not-allowed}.jukebox-empty{color:var(--text-muted);text-align:center;padding:var(--space-4)}.jukebox-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.jukebox-pager-btn{appearance:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--glass-edge);background:var(--surface-chip);color:var(--text-primary);font-size:1rem;line-height:1;cursor:pointer}.jukebox-pager-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.jukebox-pager-btn:disabled{opacity:.4;cursor:not-allowed}.jukebox-pager-info{font-size:.8rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.jukebox-next-plaque{display:none}.jukebox-feedback{margin:0;font-size:.82rem}.jukebox-feedback-error{color:var(--color-error)}.jukebox-feedback-success{color:var(--color-success)}.jukebox-feedback-info{color:var(--text-muted)}@media(min-width:768px)and (orientation:landscape){.drawer-sheet.drawer-sheet-jukebox{width:auto;height:min(94vh,71vw);max-height:94vh;aspect-ratio:4 / 3;background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 30%,#302016f7,#100b18fa);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-jukebox .drawer-title,.drawer-sheet-jukebox .drawer-handle-zone{display:none}.drawer-sheet-jukebox .drawer-header{position:absolute;top:2.4%;right:2.4%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-jukebox .drawer-close{width:clamp(34px,4vw,52px);height:clamp(34px,4vw,52px);border-color:transparent;background:transparent;color:#f4e6c8b3;text-shadow:0 1px 2px rgb(20 10 4 / 60%)}.drawer-sheet-jukebox .drawer-close:hover,.drawer-sheet-jukebox .drawer-close:focus-visible{color:#f8ecd2;background:#78541e4d}.drawer-sheet-jukebox .drawer-body{position:relative;padding:0;overflow:hidden}.jukebox-panel-skinned{position:absolute;inset:0;display:block;padding:0;max-width:none;margin:0;font-family:var(--font-display);--jb-ink: #2c2110;--jb-ink-strong: #1a3260;--jb-ink-soft: rgb(56 40 18 / 92%);--jb-ink-accent: #6e2222;--jb-gold: #6b4c0e}.jukebox-panel-skinned .jukebox-nowplaying{position:absolute;inset:17% 24.5% 71% 28.5%;padding:0 1.5%;overflow:hidden;background:none;border:none;border-radius:0}.jukebox-panel-skinned .jukebox-np-text{min-width:0}.jukebox-panel-skinned .jukebox-np-eq i{background:var(--jb-ink-strong)}.jukebox-panel-skinned .jukebox-np-title{overflow:hidden;color:var(--jb-ink-strong);font-size:clamp(.88rem,1.85vw,1.4rem);font-weight:700;white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-np-artist{color:var(--jb-ink-soft)}.jukebox-panel-skinned .jukebox-np-sub,.jukebox-panel-skinned .jukebox-np-next{color:var(--jb-ink-accent);font-size:clamp(.68rem,1.4vw,1.05rem);font-weight:600}.jukebox-panel-skinned .jukebox-np-desc{overflow:hidden;color:var(--jb-ink-soft);font-size:clamp(.64rem,1.3vw,.98rem);white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-list{position:absolute;inset:31.3% 24.5% 22% 28.5%;gap:0;overflow:hidden}.jukebox-panel-skinned .jukebox-song{flex:0 0 25%;height:25%;align-items:center;padding:0 1.5%;background:none;border:none;border-radius:0}.jukebox-panel-skinned .jukebox-song.is-playing,.jukebox-panel-skinned .jukebox-song.is-queued{box-shadow:none}.jukebox-panel-skinned .jukebox-song-num{width:2em;min-width:2em;height:2em;margin-top:0;border:1px solid rgb(110 78 26 / 60%);background:radial-gradient(circle at 35% 30%,#fcf2d8eb,#ceb27eeb);color:#4a3414;font-size:clamp(.66rem,1.35vw,1rem);font-weight:700;box-shadow:0 1px 3px #3c260a59}.jukebox-panel-skinned .jukebox-song-title{color:var(--jb-ink-strong);font-size:clamp(.8rem,1.7vw,1.28rem);font-weight:700}.jukebox-panel-skinned .jukebox-song-artist{color:var(--jb-ink-soft);font-size:clamp(.66rem,1.35vw,1rem)}.jukebox-panel-skinned .jukebox-song-desc{overflow:hidden;color:var(--jb-ink-soft);font-size:clamp(.62rem,1.25vw,.95rem);white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-song-dur{color:var(--jb-ink-strong);font-size:clamp(.7rem,1.45vw,1.08rem);font-weight:700}.jukebox-panel-skinned .jukebox-song-cost{color:var(--jb-gold);font-size:clamp(.7rem,1.45vw,1.05rem);font-weight:700}.jukebox-panel-skinned .jukebox-song-cost.is-short{color:#9c2f23}.jukebox-panel-skinned .jukebox-play-btn{min-width:5.4em;padding:.32em .9em;border-radius:.55em;border:1px solid rgb(216 178 96 / 80%);background:linear-gradient(170deg,#3f6db4,#274a86);color:#f2e8cf;font-family:var(--font-display);font-size:clamp(.66rem,1.35vw,1rem);font-weight:700;letter-spacing:.04em;box-shadow:inset 0 1px #ffffff40,0 2px 6px #28180873;text-shadow:0 1px 2px rgb(10 20 40 / 55%)}.jukebox-panel-skinned .jukebox-play-btn:hover:not(:disabled){color:#fff;border-color:#f4d68cf2;filter:brightness(1.12)}.jukebox-panel-skinned .jukebox-song.is-playing .jukebox-play-btn{background:linear-gradient(170deg,#3f9a52,#1f6b33);opacity:1}.jukebox-panel-skinned .jukebox-song.is-queued .jukebox-play-btn{background:linear-gradient(170deg,#b3892b,#7c5c14);opacity:1}.jukebox-panel-skinned .jukebox-empty{position:absolute;inset:31.3% 24.5% 22% 28.5%;display:flex;align-items:center;justify-content:center;color:var(--jb-ink-soft);font-style:italic}.jukebox-panel-skinned .jukebox-feedback{position:absolute;inset:80.5% 29% 11.5% 31.5%;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--jb-ink);font-size:clamp(.64rem,1.3vw,1rem);text-align:center}.jukebox-panel-skinned .jukebox-feedback-error{color:#9c2f23}.jukebox-panel-skinned .jukebox-feedback-success{color:#1d5a32}.jukebox-panel-skinned .jukebox-feedback-info{color:var(--jb-ink-soft)}.jukebox-panel-skinned .jukebox-pager{position:absolute;top:80.5%;right:29.5%;bottom:11.5%;gap:clamp(4px,.6vw,10px)}.jukebox-panel-skinned:has(.jukebox-pager) .jukebox-feedback{right:40%}.jukebox-panel-skinned .jukebox-pager-btn{width:clamp(18px,1.9vw,28px);height:clamp(18px,1.9vw,28px);border-color:#6e4e1a99;background:radial-gradient(circle at 35% 30%,#fcf2d8eb,#ceb27eeb);color:#4a3414}.jukebox-panel-skinned .jukebox-pager-btn:hover:not(:disabled){border-color:#7c5a14;color:#1f3c6e}.jukebox-panel-skinned .jukebox-pager-info{color:var(--jb-ink);font-size:clamp(.58rem,1.1vw,.85rem)}.jukebox-panel-skinned .jukebox-next-plaque{position:absolute;inset:81.5% 10% 12% 81%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--jb-ink-soft)}.jukebox-panel-skinned .jukebox-next-label{font-size:clamp(.5rem,.95vw,.72rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.jukebox-panel-skinned .jukebox-next-num{color:var(--jb-ink-strong);font-size:clamp(.95rem,2.1vw,1.6rem);font-weight:700;font-variant-numeric:tabular-nums}}@media(orientation:portrait){.drawer-sheet.drawer-sheet-jukebox{top:auto;right:auto;bottom:env(safe-area-inset-bottom,0);left:50%;transform:translate(-50%);width:min(100vw,52.9vh);height:auto;max-height:none;aspect-ratio:941 / 1672;padding-bottom:0;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(ellipse at 50% 28%,#302016f7,#100b18fa);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-jukebox .drawer-title,.drawer-sheet-jukebox .drawer-handle-zone{display:none}.drawer-sheet-jukebox .drawer-header{position:absolute;top:1.4%;right:2%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-jukebox .drawer-close{border-color:transparent;background:transparent;color:#f4e6c8b3;text-shadow:0 1px 2px rgb(20 10 4 / 60%)}.drawer-sheet-jukebox .drawer-close:hover,.drawer-sheet-jukebox .drawer-close:focus-visible{color:#f8ecd2;background:#78541e4d}.drawer-sheet-jukebox .drawer-body{position:relative;padding:0;overflow:hidden}.jukebox-panel-skinned{position:absolute;inset:0;display:block;padding:0;max-width:none;margin:0;font-family:var(--font-display);--jb-ink: #2c2110;--jb-ink-strong: #1a3260;--jb-ink-soft: rgb(56 40 18 / 92%);--jb-ink-accent: #6e2222;--jb-gold: #6b4c0e}.jukebox-panel-skinned .jukebox-nowplaying{position:absolute;inset:16% 23% 76.2% 24.5%;padding:0 2%;overflow:hidden;gap:3%;background:none;border:none;border-radius:0}.jukebox-panel-skinned .jukebox-np-text{min-width:0}.jukebox-panel-skinned .jukebox-np-eq i{background:var(--jb-ink-strong)}.jukebox-panel-skinned .jukebox-np-title{overflow:hidden;color:var(--jb-ink-strong);font-size:clamp(.74rem,3.4vw,1.05rem);white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-np-artist{display:none}.jukebox-panel-skinned .jukebox-np-sub{color:var(--jb-ink-accent);font-size:clamp(.6rem,2.7vw,.85rem)}.jukebox-panel-skinned .jukebox-np-next{overflow:hidden;color:var(--jb-ink-accent);font-size:clamp(.6rem,2.7vw,.85rem);white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-np-desc{display:none}.jukebox-panel-skinned .jukebox-list{position:absolute;inset:24.3% 23% 22.9% 24.5%;gap:0;overflow:hidden}.jukebox-panel-skinned .jukebox-song{flex:0 0 16.6667%;height:16.6667%;flex-wrap:wrap;align-items:center;align-content:center;row-gap:2px;padding:0 2%;background:none;border:none;border-radius:0}.jukebox-panel-skinned .jukebox-song.is-playing,.jukebox-panel-skinned .jukebox-song.is-queued{box-shadow:none}.jukebox-panel-skinned .jukebox-song-num{width:1.8em;min-width:1.8em;height:1.8em;margin-top:0;border:1px solid rgb(110 78 26 / 60%);background:radial-gradient(circle at 35% 30%,#fcf2d8eb,#ceb27eeb);color:#4a3414;font-size:clamp(.6rem,2.7vw,.85rem);font-weight:700;box-shadow:0 1px 3px #3c260a59}.jukebox-panel-skinned .jukebox-song-main{flex:1 1 0;min-width:0}.jukebox-panel-skinned .jukebox-song-title{display:block;overflow:hidden;color:var(--jb-ink-strong);font-size:clamp(.68rem,3.1vw,.98rem);white-space:nowrap;text-overflow:ellipsis}.jukebox-panel-skinned .jukebox-song-artist,.jukebox-panel-skinned .jukebox-song-desc{display:none}.jukebox-panel-skinned .jukebox-song-meta{flex:1 1 100%;justify-content:flex-end;gap:4%}.jukebox-panel-skinned .jukebox-song-dur{color:var(--jb-ink-strong);font-size:clamp(.58rem,2.6vw,.82rem)}.jukebox-panel-skinned .jukebox-song-cost{color:var(--jb-gold);font-size:clamp(.58rem,2.6vw,.82rem)}.jukebox-panel-skinned .jukebox-song-cost.is-short{color:#9c2f23}.jukebox-panel-skinned .jukebox-play-btn{min-width:4.6em;padding:.26em .7em;border-radius:.55em;border:1px solid rgb(216 178 96 / 80%);background:linear-gradient(170deg,#3f6db4,#274a86);color:#f2e8cf;font-family:var(--font-display);font-size:clamp(.58rem,2.6vw,.82rem);font-weight:700;letter-spacing:.04em;box-shadow:inset 0 1px #ffffff40,0 2px 6px #28180873;text-shadow:0 1px 2px rgb(10 20 40 / 55%)}.jukebox-panel-skinned .jukebox-song.is-playing .jukebox-play-btn{background:linear-gradient(170deg,#3f9a52,#1f6b33);opacity:1}.jukebox-panel-skinned .jukebox-song.is-queued .jukebox-play-btn{background:linear-gradient(170deg,#b3892b,#7c5c14);opacity:1}.jukebox-panel-skinned .jukebox-empty{position:absolute;inset:24.3% 23% 22.9% 24.5%;display:flex;align-items:center;justify-content:center;color:var(--jb-ink-soft);font-style:italic}.jukebox-panel-skinned .jukebox-feedback{position:absolute;inset:81.5% 23% 12.5%;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--jb-ink);font-size:clamp(.58rem,2.6vw,.82rem);text-align:center}.jukebox-panel-skinned .jukebox-feedback-error{color:#9c2f23}.jukebox-panel-skinned .jukebox-feedback-success{color:#1d5a32}.jukebox-panel-skinned .jukebox-feedback-info{color:var(--jb-ink-soft)}.jukebox-panel-skinned .jukebox-pager{position:absolute;top:88%;bottom:7.5%;left:23.5%;gap:clamp(4px,1.5vw,9px)}.jukebox-panel-skinned .jukebox-pager-btn{width:clamp(20px,7vw,28px);height:clamp(20px,7vw,28px);border-color:#6e4e1a99;background:radial-gradient(circle at 35% 30%,#fcf2d8eb,#ceb27eeb);color:#4a3414}.jukebox-panel-skinned .jukebox-pager-btn:hover:not(:disabled){border-color:#7c5a14;color:#1f3c6e}.jukebox-panel-skinned .jukebox-pager-info{color:var(--jb-ink);font-size:clamp(.56rem,2.5vw,.78rem)}.jukebox-panel-skinned .jukebox-next-plaque{position:absolute;inset:88% 23.5% 7.5% auto;display:flex;flex-direction:row;align-items:center;gap:.45em;color:var(--jb-ink-soft)}.jukebox-panel-skinned .jukebox-next-label{font-size:clamp(.5rem,2.2vw,.68rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.jukebox-panel-skinned .jukebox-next-num{color:var(--jb-ink-strong);font-size:clamp(.78rem,3.4vw,1.1rem);font-weight:700;font-variant-numeric:tabular-nums}}.musicbox-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);width:100%;max-width:460px;margin:0 auto}.musicbox-title{text-align:center;font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.musicbox-title-artist{color:var(--text-secondary);font-weight:500}.musicbox-parchment{display:flex;align-items:center;justify-content:center;min-height:9.5em;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-chip);border:1px solid var(--glass-edge)}.musicbox-no-lyrics{color:var(--text-secondary);font-style:italic;text-align:center}.musicbox-lyrics-viewport{position:relative;width:100%;height:10.5em;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}.musicbox-lyrics{position:absolute;inset:0;margin:0;padding:0;list-style:none;text-align:center;transition:transform .6s cubic-bezier(.25,.1,.25,1)}.musicbox-lyric{height:2.1em;line-height:2.1em;font-size:.96rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .4s ease,opacity .4s ease,transform .4s ease}.musicbox-lyric.is-past{color:var(--text-secondary);opacity:.45}.musicbox-lyric.is-future{color:var(--text-secondary);opacity:.6}.musicbox-lyric.is-current{color:var(--text-primary);opacity:1;font-weight:700;transform:scale(1.06)}.musicbox-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.musicbox-btn{padding:.5em 1.4em;border-radius:var(--radius-md);border:1px solid var(--glass-edge);background:var(--surface-chip);color:var(--text-primary);font-family:var(--font-display);font-size:.98rem;font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.musicbox-btn:hover:not(:disabled){background:var(--surface-raised)}.musicbox-btn:disabled{opacity:.45;cursor:default}.musicbox-btn-play{color:#8fd6a0}.musicbox-btn-stop{color:#e0a3a3}.musicbox-remaining{font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.musicbox-remaining-idle{opacity:.7}.musicbox-feedback{text-align:center;font-size:.85rem}.musicbox-feedback-error{color:#e0a3a3}.musicbox-feedback-success{color:#8fd6a0}@media(min-width:768px){.drawer-sheet.drawer-sheet-musicbox{width:auto;height:min(94vh,118vw);max-height:94vh;aspect-ratio:4 / 5;background-image:var(--skin-bg, none),radial-gradient(ellipse at 50% 34%,#302016f7,#100b18fa);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-musicbox .drawer-title,.drawer-sheet-musicbox .drawer-handle-zone{display:none}.drawer-sheet-musicbox .drawer-header{position:absolute;top:1.6%;right:2%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-musicbox .drawer-close{width:clamp(30px,3.4vw,46px);height:clamp(30px,3.4vw,46px);border-color:transparent;background:transparent;color:#f4e6c8b3}.drawer-sheet-musicbox .drawer-close:hover,.drawer-sheet-musicbox .drawer-close:focus-visible{color:#f8ecd2;background:#78541e4d}.drawer-sheet-musicbox .drawer-body{position:relative;padding:0;overflow:hidden}.musicbox-panel-skinned{position:absolute;inset:0;display:block;padding:0;max-width:none;margin:0;font-family:var(--font-display);--mb-ink: #2c2110;--mb-ink-strong: #4a2f12;--mb-ink-soft: rgb(56 40 18 / 92%);--mb-ink-accent: #6e3a1c}.musicbox-panel-skinned .musicbox-title{position:absolute;inset:11.5% 31% 83%;display:flex;align-items:baseline;justify-content:center;gap:.25em;overflow:hidden;color:var(--mb-ink-strong);font-size:clamp(.5rem,1.05vw,.82rem);white-space:nowrap}.musicbox-panel-skinned .musicbox-title-name,.musicbox-panel-skinned .musicbox-title-artist{overflow:hidden;text-overflow:ellipsis;min-width:0}.musicbox-panel-skinned .musicbox-title-artist{color:var(--mb-ink-soft);flex-shrink:2}.musicbox-panel-skinned .musicbox-parchment{position:absolute;inset:38% 31% 26%;min-height:0;padding:0;background:none;border:none;border-radius:0;color:var(--mb-ink)}.musicbox-panel-skinned .musicbox-no-lyrics{color:var(--mb-ink-soft)}.musicbox-panel-skinned .musicbox-lyrics-viewport{height:100%}.musicbox-panel-skinned .musicbox-lyric{color:var(--mb-ink-soft)}.musicbox-panel-skinned .musicbox-lyric.is-past{color:var(--mb-ink-soft);opacity:.4}.musicbox-panel-skinned .musicbox-lyric.is-future{color:var(--mb-ink-soft);opacity:.55}.musicbox-panel-skinned .musicbox-lyric.is-current{color:var(--mb-ink-strong);opacity:1}.musicbox-panel-skinned .musicbox-controls{position:absolute;inset:80% 24% 9%;gap:.6em}.musicbox-panel-skinned .musicbox-btn{padding:.35em 1em;font-size:clamp(.72rem,1.1vw,.92rem)}.musicbox-panel-skinned .musicbox-remaining{color:var(--mb-ink-soft);font-size:clamp(.62rem,.9vw,.82rem)}.musicbox-panel-skinned .musicbox-feedback{position:absolute;inset:77% 13% 19.5%;margin:0}}@media(max-width:767px)and (orientation:portrait){.drawer-sheet.drawer-sheet-musicbox{width:min(100vw,72vh);height:auto;max-height:none;aspect-ratio:720 / 1280;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(ellipse at 50% 32%,#302016f7,#100b18fa);background-size:100% 100%,auto;background-position:center,center;background-repeat:no-repeat,no-repeat}.drawer-sheet-musicbox .drawer-title,.drawer-sheet-musicbox .drawer-handle-zone{display:none}.drawer-sheet-musicbox .drawer-header{position:absolute;top:1.4%;right:3%;left:auto;z-index:6;padding:0;min-height:0;border-bottom:none}.drawer-sheet-musicbox .drawer-close{width:clamp(28px,9vw,40px);height:clamp(28px,9vw,40px);border-color:transparent;background:transparent;color:#f4e6c8b3}.drawer-sheet-musicbox .drawer-body{position:relative;padding:0;overflow:hidden}.musicbox-panel-skinned{position:absolute;inset:0;display:block;padding:0;max-width:none;margin:0;font-family:var(--font-display);--mb-ink: #2c2110;--mb-ink-strong: #4a2f12;--mb-ink-soft: rgb(56 40 18 / 92%);--mb-ink-accent: #6e3a1c}.musicbox-panel-skinned .musicbox-title{position:absolute;inset:9% 29% 84% 31%;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--mb-ink-strong);font-size:clamp(.74rem,3.6vw,1.05rem);white-space:nowrap}.musicbox-panel-skinned .musicbox-title-artist{color:var(--mb-ink-soft)}.musicbox-panel-skinned .musicbox-parchment{position:absolute;inset:32% 22% 23%;min-height:0;padding:0;background:none;border:none;border-radius:0;color:var(--mb-ink)}.musicbox-panel-skinned .musicbox-no-lyrics{color:var(--mb-ink-soft)}.musicbox-panel-skinned .musicbox-lyrics-viewport{height:100%}.musicbox-panel-skinned .musicbox-lyric{color:var(--mb-ink-soft)}.musicbox-panel-skinned .musicbox-lyric.is-past{color:var(--mb-ink-soft);opacity:.4}.musicbox-panel-skinned .musicbox-lyric.is-future{color:var(--mb-ink-soft);opacity:.55}.musicbox-panel-skinned .musicbox-lyric.is-current{color:var(--mb-ink-strong);opacity:1}.musicbox-panel-skinned .musicbox-controls{position:absolute;inset:84% 24% 6%}.musicbox-panel-skinned .musicbox-feedback{position:absolute;inset:79% 10% 17%;margin:0}}.lyric-toasts{position:fixed;left:50%;top:clamp(16px,7vh,80px);transform:translate(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}.lyric-toast{display:inline-flex;align-items:center;gap:.5em;max-width:min(78vw,460px);padding:.4em 1em;border-radius:999px;background:#1c1224e0;border:1px solid rgb(199 160 221 / 35%);color:#f3e8d2;font-family:var(--font-display);font-size:.94rem;box-shadow:0 4px 18px #00000059;animation:lyric-toast-in .32s ease}.lyric-toast-note{color:#c7a0dd}.lyric-toast-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes lyric-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.flight-board{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);height:100%;overflow-y:auto}.flight-board-empty{align-items:center;justify-content:center}.flight-empty{color:var(--text-secondary);text-align:center;max-width:32ch;line-height:1.5}.flight-empty code{color:var(--color-gold-bright);font-family:var(--font-mono, monospace)}.flight-gold{color:var(--text-secondary);text-align:right}.flight-gold strong{color:var(--color-gold-bright)}.flight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.flight-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--surface-subpanel);border:1px solid rgb(212 184 92 / 22%);border-radius:var(--radius-md)}.flight-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.flight-row-name{color:var(--text-heading);font-weight:600}.flight-row-meta{color:var(--text-tertiary);font-size:.85em}.flight-row-fare{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.flight-cost{color:var(--color-gold-bright);white-space:nowrap}.flight-cost-short{color:var(--text-disabled)}.flight-go{padding:var(--space-2) var(--space-4);border:1px solid rgb(212 184 92 / 45%);border-radius:var(--radius-sm);background:var(--surface-chip);color:var(--text-bright);cursor:pointer;transition:background .12s ease,border-color .12s ease}.flight-go:hover:not(:disabled){background:#d4b85c38;border-color:var(--color-gold-bright)}.flight-go:disabled{opacity:.5;cursor:not-allowed}.flight-map{position:relative;width:fit-content;max-width:100%;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 14px #00000059}.flight-map-img{display:block;width:auto;max-width:100%;max-height:var(--flight-map-max-h, 62vh);height:auto;-webkit-user-select:none;user-select:none}.flight-marker{position:absolute;transform:translate(-50%,-50%);width:0;height:0;padding:0;border:none;background:none}button.flight-marker{cursor:pointer}button.flight-marker[aria-disabled=true]{cursor:not-allowed}.flight-marker-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--color-gold-bright),#8a6a1e 70%);border:2px solid rgb(255 255 255 / 70%);box-shadow:0 0 8px 2px #d4b85c99,0 1px 3px #0000007f;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.flight-marker-art .flight-marker-dot{width:34px;height:34px;border:none;border-radius:0;background:var(--flight-roost) center / contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 6px rgb(212 184 92 / 70%)) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.flight-marker:hover .flight-marker-dot,.flight-marker:focus-visible .flight-marker-dot{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 12px 4px #d4b85ccc,0 1px 3px #0000007f}.flight-marker-art:hover .flight-marker-dot,.flight-marker-art:focus-visible .flight-marker-dot{box-shadow:none;filter:drop-shadow(0 0 10px rgb(212 184 92 / 90%)) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.flight-marker-origin .flight-marker-dot{background:radial-gradient(circle at 35% 35%,#7fe3d6,#1f6f66 70%);box-shadow:0 0 10px 3px #7fe3d68c,0 1px 3px #0000007f;animation:flight-origin-pulse 2.2s ease-in-out infinite}@keyframes flight-origin-pulse{0%,to{box-shadow:0 0 8px 2px #7fe3d673,0 1px 3px #0000007f}50%{box-shadow:0 0 14px 5px #7fe3d6bf,0 1px 3px #0000007f}}.flight-marker-short .flight-marker-dot{filter:grayscale(.7) brightness(.7);box-shadow:0 1px 3px #0000007f}.flight-marker-short.flight-marker-art .flight-marker-dot{filter:grayscale(.7) brightness(.7) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.flight-marker-tip{position:absolute;left:0;bottom:14px;transform:translate(-50%);display:flex;flex-direction:column;gap:1px;min-width:max-content;max-width:22ch;padding:var(--space-2) var(--space-3);background:#121018f0;border:1px solid rgb(212 184 92 / 35%);border-radius:var(--radius-sm);box-shadow:0 4px 14px #0000007f;text-align:center;opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;z-index:5}.flight-marker:hover .flight-marker-tip,.flight-marker:focus-visible .flight-marker-tip{opacity:1;visibility:visible}.flight-tip-name{color:var(--text-heading);font-weight:600}.flight-tip-meta{color:var(--text-tertiary);font-size:.82em}.flight-tip-fare{color:var(--color-gold-bright);font-size:.85em;white-space:nowrap}.flight-unplaced{display:flex;flex-direction:column;gap:var(--space-2)}.flight-unplaced-head{margin:0;color:var(--text-secondary);font-size:.85em;text-transform:uppercase;letter-spacing:.06em}@media(min-width:768px){.drawer-sheet:has(.flight-board-skinned){width:auto;max-width:96vw;height:auto;max-height:96vh;background:none;border:none;box-shadow:none}.drawer-sheet:has(.flight-board-skinned) .drawer-body{padding:0}.flight-board-skinned{--flight-map-max-h: 80vh;padding:0;gap:var(--space-2)}}.boat-board{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);height:100%;overflow-y:auto}.boat-board-empty{align-items:center;justify-content:center}.boat-empty{color:var(--text-secondary);text-align:center;max-width:32ch;line-height:1.5}.boat-empty code{color:var(--color-gold-bright);font-family:var(--font-mono, monospace)}.boat-gold{color:var(--text-secondary);text-align:right}.boat-gold strong{color:var(--color-gold-bright)}.boat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.boat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--surface-subpanel);border:1px solid rgb(212 184 92 / 22%);border-radius:var(--radius-md)}.boat-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.boat-row-name{color:var(--text-heading);font-weight:600}.boat-row-meta{color:var(--text-tertiary);font-size:.85em}.boat-row-fare{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.boat-cost{color:var(--color-gold-bright);white-space:nowrap}.boat-cost-short{color:var(--text-disabled)}.boat-go{padding:var(--space-2) var(--space-4);border:1px solid rgb(212 184 92 / 45%);border-radius:var(--radius-sm);background:var(--surface-chip);color:var(--text-bright);cursor:pointer;transition:background .12s ease,border-color .12s ease}.boat-go:hover:not(:disabled){background:#d4b85c38;border-color:var(--color-gold-bright)}.boat-go:disabled{opacity:.5;cursor:not-allowed}.boat-map{position:relative;width:fit-content;max-width:100%;margin-inline:auto;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 14px #00000059}.boat-map-img{display:block;width:auto;max-width:100%;max-height:var(--boat-map-max-h, 62vh);height:auto;-webkit-user-select:none;user-select:none}.boat-marker{position:absolute;transform:translate(-50%,-50%);width:0;height:0;padding:0;border:none;background:none}button.boat-marker{cursor:pointer}button.boat-marker[aria-disabled=true]{cursor:not-allowed}.boat-marker-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--color-gold-bright),#8a6a1e 70%);border:2px solid rgb(255 255 255 / 70%);box-shadow:0 0 8px 2px #d4b85c99,0 1px 3px #0000007f;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.boat-marker-art .boat-marker-dot{width:34px;height:34px;border:none;border-radius:0;background:var(--boat-dock) center / contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 6px rgb(212 184 92 / 70%)) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.boat-marker:hover .boat-marker-dot,.boat-marker:focus-visible .boat-marker-dot{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 12px 4px #d4b85ccc,0 1px 3px #0000007f}.boat-marker-art:hover .boat-marker-dot,.boat-marker-art:focus-visible .boat-marker-dot{box-shadow:none;filter:drop-shadow(0 0 10px rgb(212 184 92 / 90%)) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.boat-marker-origin .boat-marker-dot{background:radial-gradient(circle at 35% 35%,#7fe3d6,#1f6f66 70%);box-shadow:0 0 10px 3px #7fe3d68c,0 1px 3px #0000007f;animation:boat-origin-pulse 2.2s ease-in-out infinite}@keyframes boat-origin-pulse{0%,to{box-shadow:0 0 8px 2px #7fe3d673,0 1px 3px #0000007f}50%{box-shadow:0 0 14px 5px #7fe3d6bf,0 1px 3px #0000007f}}.boat-marker-short .boat-marker-dot{filter:grayscale(.7) brightness(.7);box-shadow:0 1px 3px #0000007f}.boat-marker-short.boat-marker-art .boat-marker-dot{filter:grayscale(.7) brightness(.7) drop-shadow(0 1px 2px rgb(0 0 0 / 60%))}.boat-marker-tip{position:absolute;left:0;bottom:14px;transform:translate(-50%);display:flex;flex-direction:column;gap:1px;min-width:max-content;max-width:22ch;padding:var(--space-2) var(--space-3);background:#121018f0;border:1px solid rgb(212 184 92 / 35%);border-radius:var(--radius-sm);box-shadow:0 4px 14px #0000007f;text-align:center;opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;z-index:5}.boat-marker:hover .boat-marker-tip,.boat-marker:focus-visible .boat-marker-tip{opacity:1;visibility:visible}.boat-tip-name{color:var(--text-heading);font-weight:600}.boat-tip-meta{color:var(--text-tertiary);font-size:.82em}.boat-tip-fare{color:var(--color-gold-bright);font-size:.85em;white-space:nowrap}.boat-unplaced{display:flex;flex-direction:column;gap:var(--space-2)}.boat-unplaced-head{margin:0;color:var(--text-secondary);font-size:.85em;text-transform:uppercase;letter-spacing:.06em}@media(min-width:768px){.drawer-sheet:has(.boat-board-skinned){width:auto;max-width:96vw;height:auto;max-height:96vh;background:none;border:none;box-shadow:none}.drawer-sheet:has(.boat-board-skinned) .drawer-body{padding:0}.boat-board-skinned{--boat-map-max-h: 80vh;padding:0;gap:var(--space-2)}}.drawer-sheet.drawer-sheet-arcanum{--arcanum-ink: #302419;--arcanum-ink-soft: #705945;--arcanum-gold: #9d7131;--arcanum-paper: rgb(247 232 199 / 84%);--arcanum-paper-strong: rgb(249 237 209 / 95%);background-image:var(--skin-bg, none),radial-gradient(ellipse at 72% 34%,rgb(114 94 154 / 34%),transparent 48%),linear-gradient(145deg,#332e51,#171625 68%,#11101b);background-position:center,center,center;background-repeat:no-repeat,no-repeat,no-repeat;background-size:100% 100%,auto,auto;border:1px solid rgb(179 146 83 / 34%);border-radius:clamp(14px,2vw,24px);box-shadow:0 24px 68px #07060fc2,0 8px 24px #07060f7a;overflow:hidden}.drawer-sheet-arcanum .drawer-title,.drawer-sheet-arcanum .drawer-handle-zone{display:none}.drawer-sheet-arcanum .drawer-header{position:absolute;top:2.2%;right:2.1%;left:auto;z-index:8;min-height:0;padding:0;border:0}.drawer-sheet-arcanum .drawer-close{width:clamp(32px,3vw,40px);height:clamp(32px,3vw,40px);border-color:#cdae6ca3;background:#1e1b31db;color:#ead7ad;box-shadow:0 2px 9px #0b08147a,inset 0 0 0 1px #fff4d614}.drawer-sheet-arcanum .drawer-close:hover{background:#332d4ef0;color:#fff0cb}.drawer-sheet-arcanum .drawer-body{position:relative;padding:0;overflow:hidden}@media(orientation:landscape){.drawer-sheet.drawer-sheet-arcanum{inset:50% auto auto 50%;width:auto;height:min(94dvh,75vw);max-height:94dvh;aspect-ratio:1448 / 1086;padding-bottom:0;transform:translate(-50%,-50%)}}.drawer-sheet-arcanum .arcanum-panel{position:absolute;inset:0;display:block;height:auto;padding:0;overflow:hidden;color:var(--arcanum-ink);font-family:var(--font-body)}.drawer-sheet-arcanum :is(.arcanum-intro,.arcanum-zones,.arcanum-catalog,.arcanum-loading){border:1px solid rgb(116 83 42 / 16%);background:linear-gradient(155deg,#fff8e070,#e1c5933d),var(--arcanum-paper);box-shadow:inset 0 0 18px #67482514;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.drawer-sheet-arcanum .arcanum-intro{position:absolute;top:13.5%;left:8%;width:22.5%;height:15%;padding:clamp(7px,.75vw,11px);border-radius:7px 11px 5px 9px;overflow:hidden}.arcanum-kicker{display:block;margin-bottom:.15em;color:var(--arcanum-gold);font-size:clamp(.58rem,.85vw,.72rem);font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.drawer-sheet-arcanum .arcanum-heading{margin:0;color:var(--arcanum-ink);font-family:var(--font-display);font-size:clamp(1.1rem,1.7vw,1.55rem);font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap}.drawer-sheet-arcanum .arcanum-pledge-line{max-width:34ch;margin:.45em 0 0;color:var(--arcanum-ink-soft);font-size:clamp(.7rem,1vw,.86rem);font-style:italic;line-height:1.35}.drawer-sheet-arcanum .arcanum-zones{position:absolute;top:29.2%;left:7.8%;width:22.7%;height:60.8%;display:flex;flex-direction:column;min-width:0;min-height:0;padding:clamp(8px,1.1vw,16px);border-radius:8px 5px 11px 7px}.arcanum-zone-title{display:flex;flex:0 0 auto;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:clamp(5px,.7vh,9px);border-bottom:1px solid rgb(116 83 42 / 28%);color:var(--arcanum-ink);font-family:var(--font-display);font-size:clamp(.82rem,1.35vw,1.15rem);font-weight:700}.arcanum-zone-count{flex:0 0 auto;color:var(--arcanum-gold);font-family:var(--font-body);font-size:.65em;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.arcanum-zone-list{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-color:rgb(126 91 46 / 48%) transparent;scrollbar-width:thin}.drawer-sheet-arcanum .arcanum-zone{padding:clamp(7px,1vh,12px) 1px;border:0;border-bottom:1px dashed rgb(116 83 42 / 28%);border-radius:0;background:transparent}.drawer-sheet-arcanum .arcanum-zone:last-child{border-bottom:0}.drawer-sheet-arcanum .arcanum-zone-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);color:var(--arcanum-ink);font-size:clamp(.72rem,1vw,.88rem);font-weight:800;line-height:1.2;text-transform:none}.arcanum-zone-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-sheet-arcanum .arcanum-zone-pct{color:#76501f;font-variant-numeric:tabular-nums}.drawer-sheet-arcanum .arcanum-zone-bar{height:clamp(6px,.75vh,9px);margin:clamp(4px,.65vh,7px) 0;border:1px solid rgb(99 70 35 / 32%);border-radius:999px;background:#5b42262e;overflow:hidden}.drawer-sheet-arcanum .arcanum-zone-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#665389,#a9783c 72%,#cba45c);box-shadow:0 0 8px #7e63a147}.drawer-sheet-arcanum :is(.arcanum-zone-detail,.arcanum-zone-empty){margin:0;color:var(--arcanum-ink-soft);font-size:clamp(.62rem,.85vw,.74rem);line-height:1.35}.arcanum-zone-empty{padding:var(--space-4) var(--space-2);font-style:italic;text-align:center}.drawer-sheet-arcanum .arcanum-catalog{position:absolute;top:13%;left:38.5%;width:56%;height:77%;container-name:arcanum-catalog;container-type:inline-size;display:flex;flex-direction:column;min-width:0;min-height:0;padding:clamp(9px,1.2vw,18px);border-radius:10px 6px 13px 8px}.drawer-sheet-arcanum .arcanum-controls{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;gap:clamp(5px,.7vw,9px);align-items:center}.arcanum-search-wrap{position:relative;min-width:0}.arcanum-search-sigil{position:absolute;top:50%;left:.7em;color:#74552c;font-family:var(--font-display);font-size:1.1em;line-height:1;pointer-events:none;transform:translateY(-52%)}.drawer-sheet-arcanum :is(.arcanum-search,.arcanum-sort){min-height:36px;border:1px solid rgb(107 77 40 / 38%);border-radius:6px 9px 6px 8px;background:#fff8e29e;color:var(--arcanum-ink);font-family:var(--font-body);font-size:clamp(.76rem,1vw,.88rem);box-shadow:inset 0 1px 3px #573a1a14}.drawer-sheet-arcanum .arcanum-search{width:100%;min-width:0;padding:.45em .7em .45em 2em}.drawer-sheet-arcanum .arcanum-search::placeholder{color:#5b4430ad}.drawer-sheet-arcanum .arcanum-sort{max-width:10.5rem;padding:.45em 2em .45em .7em;cursor:pointer}.drawer-sheet-arcanum .arcanum-chips{grid-column:1 / -1;display:flex;min-width:0;gap:clamp(4px,.55vw,7px);padding:1px 0 2px;overflow-x:auto;scrollbar-width:thin}.drawer-sheet-arcanum .arcanum-chip{min-height:30px;padding:.28em .8em;border:1px solid rgb(86 70 111 / 44%);border-radius:999px 999px 8px;background:#383252e0;color:#efe2c2;font-family:var(--font-body);font-size:clamp(.68rem,.9vw,.78rem);font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .18s var(--ease-out-soft),background .18s var(--ease-out-soft),border-color .18s var(--ease-out-soft)}.drawer-sheet-arcanum .arcanum-chip-active{border-color:#a77632;background:linear-gradient(155deg,#a67936,#6d4720);color:#fff0c9;box-shadow:0 0 0 1px #ffebb12e,0 2px 7px #4c30153d}.drawer-sheet-arcanum .arcanum-tabs{display:flex;flex:0 0 auto;align-items:flex-end;gap:clamp(3px,.45vw,6px);margin-top:clamp(5px,.8vh,9px);border-bottom:1px solid rgb(116 83 42 / 32%)}.drawer-sheet-arcanum .arcanum-tab{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:34px;padding:.35em .85em;border:1px solid rgb(85 70 108 / 44%);border-bottom:0;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#3e3858,#29243e);color:#e5d6b7;font-family:var(--font-display);font-size:clamp(.72rem,1vw,.86rem);font-weight:700;cursor:pointer;transform-origin:bottom center;transition:transform .18s var(--ease-out-soft),color .18s var(--ease-out-soft),background .18s var(--ease-out-soft)}.drawer-sheet-arcanum .arcanum-tab-active{margin-bottom:-1px;border-color:#93662d9e;background:linear-gradient(180deg,#bd9150,#865a29);color:#fff3d2;box-shadow:0 -3px 10px #6949222e}.arcanum-tab-count{display:inline-grid;min-width:1.65em;height:1.65em;place-items:center;padding-inline:.3em;border-radius:999px;background:#13111f42;font-family:var(--font-body);font-size:.72em;font-variant-numeric:tabular-nums}.arcanum-results{flex:1 1 auto;min-height:0;padding:clamp(7px,.9vh,11px) 3px 3px;overflow-y:auto;scrollbar-color:rgb(126 91 46 / 48%) transparent;scrollbar-gutter:stable;scrollbar-width:thin}.arcanum-tab-panel{display:flex;flex-direction:column;min-width:0;gap:var(--space-3)}.drawer-sheet-arcanum .arcanum-filter-note{margin:0 0 var(--space-2);color:var(--arcanum-ink-soft);font-size:clamp(.68rem,.9vw,.78rem);font-style:italic}.drawer-sheet-arcanum .arcanum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(135px,100%),1fr));gap:clamp(7px,.85vw,12px)}.drawer-sheet-arcanum .arcanum-card{display:flex;min-width:0;flex-direction:column;border:1px solid rgb(112 80 39 / 38%);border-radius:5px 10px 6px 8px;background:linear-gradient(155deg,#fff9e5d1,#dec2919e),var(--arcanum-paper-strong);box-shadow:0 2px 6px #48301726,inset 0 0 12px #7b582c12;overflow:hidden;transform:rotate(-.12deg);transform-origin:center;transition:transform .2s var(--ease-out-soft),box-shadow .2s var(--ease-out-soft),border-color .2s var(--ease-out-soft)}.drawer-sheet-arcanum .arcanum-card:nth-child(4n+2){transform:rotate(.16deg)}.drawer-sheet-arcanum .arcanum-card:nth-child(4n+3){transform:rotate(-.2deg)}.drawer-sheet-arcanum .arcanum-card:nth-child(4n){transform:rotate(.1deg)}.drawer-sheet-arcanum .arcanum-card-art{width:100%;aspect-ratio:1.08;padding:clamp(5px,.7vw,9px);object-fit:contain;background:radial-gradient(circle at 50% 45%,rgb(125 106 155 / 18%),transparent 68%)}.drawer-sheet-arcanum .arcanum-card-body{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:.22em;padding:clamp(7px,.9vw,11px);border-top:1px solid rgb(112 80 39 / 18%)}.drawer-sheet-arcanum .arcanum-card-name{color:var(--arcanum-ink);font-family:var(--font-display);font-size:clamp(.78rem,1.05vw,.94rem);font-weight:700;line-height:1.15;overflow-wrap:anywhere}.drawer-sheet-arcanum .arcanum-card-meta{color:var(--arcanum-ink-soft);font-size:clamp(.64rem,.82vw,.73rem);line-height:1.3;overflow-wrap:anywhere}.drawer-sheet-arcanum .arcanum-first{color:#684f37;font-size:clamp(.62rem,.8vw,.72rem);line-height:1.25;overflow-wrap:anywhere}.drawer-sheet-arcanum .arcanum-first-mine{width:fit-content;max-width:100%;margin-top:.12em;padding:.18em .45em;border:1px solid rgb(153 105 39 / 28%);border-radius:999px 999px 6px;background:#c4934326;color:#714716;font-weight:800}.drawer-sheet-arcanum :is(.arcanum-conjure-btn,.arcanum-show-more){border:1px solid rgb(93 72 116 / 54%);background:linear-gradient(155deg,#4b4268,#2d2946);color:#f0e2c4;font-family:var(--font-body);font-size:clamp(.68rem,.9vw,.78rem);font-weight:800;cursor:pointer;transition:transform .18s var(--ease-out-soft),filter .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft)}.drawer-sheet-arcanum .arcanum-conjure-btn{align-self:flex-start;min-height:30px;margin-top:auto;padding:.35em .75em;border-radius:6px 9px 6px 8px}.drawer-sheet-arcanum .arcanum-conjure-btn:disabled{opacity:.5;cursor:default}.drawer-sheet-arcanum .arcanum-show-more{align-self:center;min-height:36px;padding:.45em 1.15em;border-radius:999px 999px 8px}.drawer-sheet-arcanum .arcanum-empty{grid-column:1 / -1;margin:auto;padding:var(--space-5) var(--space-3);color:var(--arcanum-ink-soft);font-size:clamp(.78rem,1vw,.88rem);font-style:italic;line-height:1.5;text-align:center}.drawer-sheet-arcanum .arcanum-rooms{display:flex;flex-direction:column;min-width:0;gap:var(--space-2)}.arcanum-room-group{min-width:0}.drawer-sheet-arcanum .arcanum-room-group-head{position:sticky;top:0;z-index:1;margin:0;padding:.4em .7em;border:1px solid rgb(102 76 119 / 34%);border-radius:7px 10px 5px 8px;background:#393252eb;color:#f1dfb8;font-family:var(--font-display);font-size:clamp(.76rem,1vw,.9rem);font-weight:700;letter-spacing:.04em;text-transform:none}.drawer-sheet-arcanum .arcanum-room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2);padding:.55em .7em;border-bottom:1px dashed rgb(112 80 39 / 28%);font-size:clamp(.76rem,1vw,.88rem)}.drawer-sheet-arcanum .arcanum-room-title{min-width:0;color:var(--arcanum-ink);font-family:var(--font-display);font-weight:700;overflow-wrap:anywhere}.arcanum-panel-loading .arcanum-loading{position:absolute;top:34%;left:47%;width:38%;min-height:24%;display:grid;place-content:center;padding:var(--space-5);border-radius:10px 6px 13px 8px;text-align:center}.arcanum-loading-sigil{color:var(--arcanum-gold);font-size:1.8rem;animation:arcanum-sigil-breathe 2.4s var(--ease-in-out-smooth) infinite}@keyframes arcanum-sigil-breathe{0%,to{opacity:.45;transform:scale(.92) rotate(-4deg)}50%{opacity:1;transform:scale(1.06) rotate(4deg)}}.drawer-sheet-arcanum :is(button,input,select):focus-visible{outline:2px solid #6555a0;outline-offset:2px;box-shadow:0 0 0 4px #fff4d3b8}@media(hover:hover){.drawer-sheet-arcanum .arcanum-card:hover{z-index:1;border-color:#875e268f;box-shadow:0 6px 15px #48301738,inset 0 0 12px #7b582c12;transform:translateY(-2px) rotate(0)}.drawer-sheet-arcanum :is(.arcanum-chip,.arcanum-tab,.arcanum-show-more,.arcanum-conjure-btn:not(:disabled)):hover{filter:brightness(1.08);transform:translateY(-1px)}}@media(pointer:coarse){.drawer-sheet-arcanum :is(.arcanum-search,.arcanum-sort,.arcanum-chip,.arcanum-tab,.arcanum-show-more,.arcanum-conjure-btn){min-height:44px}}@media(orientation:portrait){.drawer-sheet.drawer-sheet-arcanum{top:auto;right:auto;bottom:env(safe-area-inset-bottom,0);left:50%;width:min(122vw,56.28dvh);height:auto;max-height:none;aspect-ratio:941 / 1672;padding-bottom:0;border-radius:18px 18px 0 0;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(ellipse at 72% 34%,rgb(114 94 154 / 34%),transparent 48%),linear-gradient(145deg,#332e51,#171625 68%,#11101b);background-size:100% 100%,auto,auto;transform:translate(-50%)}.drawer-sheet-arcanum .drawer-header{top:2.2%;right:11.5%}.drawer-sheet-arcanum .drawer-close{width:36px;height:36px}.drawer-sheet-arcanum .arcanum-intro{top:7.7%;left:12%;width:76%;height:10%;padding:clamp(6px,2.1vw,12px)}.arcanum-kicker{margin-bottom:0;font-size:clamp(.53rem,2.2vw,.68rem)}.drawer-sheet-arcanum .arcanum-heading{font-size:clamp(1rem,4.3vw,1.35rem)}.drawer-sheet-arcanum .arcanum-pledge-line{margin-top:.25em;font-size:clamp(.66rem,2.7vw,.82rem);line-height:1.25}.drawer-sheet-arcanum .arcanum-zones{top:19.4%;left:12%;width:76%;height:10.4%;padding:clamp(5px,1.8vw,10px)}.arcanum-zone-title{display:none}.arcanum-zone-list{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none}.arcanum-zone-list::-webkit-scrollbar{display:none}.drawer-sheet-arcanum .arcanum-zone{width:clamp(138px,48vw,190px);flex:0 0 auto;padding:2px 5px;border:0;border-right:1px dashed rgb(116 83 42 / 28%);scroll-snap-align:start}.drawer-sheet-arcanum .arcanum-zone-head{font-size:clamp(.67rem,2.7vw,.8rem)}.drawer-sheet-arcanum .arcanum-zone-bar{margin:3px 0}.drawer-sheet-arcanum .arcanum-zone-detail{font-size:clamp(.55rem,2.2vw,.68rem)}.drawer-sheet-arcanum .arcanum-catalog{top:32%;left:11.5%;width:77%;height:58.6%;padding:clamp(6px,2.2vw,12px)}.drawer-sheet-arcanum .arcanum-controls{grid-template-columns:minmax(0,1fr) auto;gap:5px}.drawer-sheet-arcanum :is(.arcanum-search,.arcanum-sort){font-size:clamp(.75rem,3vw,.88rem)}.drawer-sheet-arcanum .arcanum-chip{font-size:clamp(.7rem,2.7vw,.8rem)}.drawer-sheet-arcanum .arcanum-tabs{justify-content:stretch;gap:3px;margin-top:5px}.drawer-sheet-arcanum .arcanum-tab{flex:1 1 0;min-width:0;padding-inline:.35em;font-size:clamp(.68rem,2.8vw,.82rem)}.arcanum-tab-count{min-width:1.5em}.arcanum-results{padding-top:6px;scrollbar-gutter:auto}.drawer-sheet-arcanum .arcanum-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(5px,1.8vw,8px)}.drawer-sheet-arcanum .arcanum-card-name{font-size:clamp(.75rem,3vw,.88rem)}.drawer-sheet-arcanum :is(.arcanum-card-meta,.arcanum-first){font-size:clamp(.62rem,2.45vw,.72rem)}.drawer-sheet-arcanum .arcanum-room-row{grid-template-columns:minmax(0,1fr);gap:.2em;font-size:clamp(.76rem,3vw,.88rem)}.arcanum-panel-loading .arcanum-loading{top:42%;left:17%;width:66%;min-height:18%}}@media(orientation:portrait)and (min-width:700px){.drawer-sheet-arcanum .arcanum-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(orientation:portrait)and (max-width:380px){.arcanum-kicker{display:none}.drawer-sheet-arcanum .arcanum-intro{top:8.4%;height:8.8%}.drawer-sheet-arcanum .arcanum-pledge-line{line-height:1.18}.drawer-sheet-arcanum .arcanum-zone-detail{white-space:nowrap}.drawer-sheet-arcanum .arcanum-tab>span:first-child{overflow:hidden;text-overflow:ellipsis}}@media(forced-colors:active){.drawer-sheet-arcanum :is(.arcanum-intro,.arcanum-zones,.arcanum-catalog,.arcanum-card){border:1px solid CanvasText;background:Canvas;color:CanvasText}.drawer-sheet-arcanum .arcanum-zone-fill{background:Highlight}}.drawer-sheet.drawer-sheet-shrine{--shrine-ink: #34291e;--shrine-ink-soft: #66503d;--shrine-ink-muted: #806a54;--shrine-gold: #9b6e2d;--shrine-gold-bright: #c79a4a;--shrine-rose: #87505b;--shrine-paper: rgb(248 235 205 / 88%);--shrine-paper-strong: rgb(251 241 218 / 96%);--shrine-paper-edge: rgb(113 79 40 / 24%);background-image:var(--skin-bg, none),radial-gradient(circle at 50% 42%,rgb(203 178 113 / 28%),transparent 28%),radial-gradient(ellipse at 50% 48%,rgb(94 110 82 / 38%),transparent 58%),linear-gradient(145deg,#302f29,#1a1b17 68%,#11120f);background-position:center,center,center,center;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-size:100% 100%,auto,auto,auto;border:1px solid rgb(194 159 93 / 38%);border-radius:clamp(14px,2vw,24px);box-shadow:0 24px 68px #07060fc2,0 8px 24px #07060f7a;overflow:hidden}.drawer-sheet-shrine .drawer-title,.drawer-sheet-shrine .drawer-handle-zone{display:none}.drawer-sheet-shrine .drawer-header{position:absolute;top:2.2%;right:2.1%;left:auto;z-index:8;min-height:0;padding:0;border:0}.drawer-sheet-shrine .drawer-close{width:clamp(32px,3vw,40px);height:clamp(32px,3vw,40px);border-color:#cdae6ca3;background:#1e1b31db;color:#ead7ad;box-shadow:0 2px 9px #0b08147a,inset 0 0 0 1px #fff4d614}.drawer-sheet-shrine .drawer-close:hover{background:#332d4ef0;color:#fff0cb}.drawer-sheet-shrine .drawer-body{position:relative;padding:0;overflow:hidden}@media(orientation:landscape){.drawer-sheet.drawer-sheet-shrine{inset:50% auto auto 50%;width:auto;height:min(90dvh,74vw);max-height:90dvh;aspect-ratio:1448 / 1086;padding-bottom:0;transform:translate(-50%,-50%)}}.drawer-sheet-shrine .shrine-panel{position:absolute;inset:0;display:block;width:auto;max-width:none;height:auto;margin:0;padding:0;color:var(--shrine-ink);font-family:var(--font-body)}.drawer-sheet-shrine :is(.shrine-intro,.shrine-covenant,.shrine-action){position:absolute;min-width:0;min-height:0;border:1px solid var(--shrine-paper-edge);background:linear-gradient(155deg,#fff9e77a,#dfc18b38),var(--shrine-paper);box-shadow:inset 0 0 20px #67482514;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.drawer-sheet-shrine .shrine-intro{top:11.5%;left:20.5%;width:59%;height:23%;padding:clamp(10px,1.4vw,20px) clamp(14px,2vw,28px);border-radius:10px 6px 13px 8px;overflow-y:auto;text-align:center}.shrine-kicker{display:block;margin-bottom:.22em;color:var(--shrine-gold);font-size:clamp(.58rem,.88vw,.76rem);font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.drawer-sheet-shrine .shrine-heading{margin:0;color:var(--shrine-ink);font-family:var(--font-display);font-size:clamp(1.2rem,2.2vw,2rem);font-weight:700;letter-spacing:.01em;line-height:1}.drawer-sheet-shrine .shrine-state{max-width:62ch;margin:.55em auto 0;color:var(--shrine-ink-soft);font-size:clamp(.72rem,1.08vw,.98rem);font-style:italic;line-height:1.42}.drawer-sheet-shrine .shrine-state-pledged{color:#5d4a36}.drawer-sheet-shrine .shrine-covenant{top:36%;left:20.5%;width:59%;height:30.5%;padding:clamp(12px,1.6vw,24px) clamp(16px,2.25vw,32px);border-radius:8px 12px 7px 11px;overflow-y:auto}.shrine-section-heading{margin:0 0 .55em;color:var(--shrine-gold);font-family:var(--font-display);font-size:clamp(1rem,1.55vw,1.4rem);font-weight:700;letter-spacing:.05em;text-align:center}.drawer-sheet-shrine .shrine-terms{display:grid;gap:clamp(7px,1.05vh,12px);max-width:62ch;margin:0 auto;padding:0;color:var(--shrine-ink-soft);font-size:clamp(.75rem,1.12vw,1rem);line-height:1.42;list-style:none}.drawer-sheet-shrine .shrine-terms li{position:relative;padding-left:1.45em}.drawer-sheet-shrine .shrine-terms li:before{position:absolute;top:.02em;left:0;color:var(--shrine-gold);content:"✦";font-size:.82em}.drawer-sheet-shrine .shrine-action{top:69%;left:20.5%;width:59%;height:18.5%;display:grid;place-items:center;padding:clamp(10px,1.4vw,20px) clamp(14px,2vw,28px);border-radius:12px 7px 10px 6px;overflow-y:auto;text-align:center}.drawer-sheet-shrine .shrine-hint{max-width:54ch;margin:0;padding:.6em .85em;border:1px dashed rgb(119 84 43 / 34%);border-radius:8px 11px 7px 10px;background:#fff9e757;color:var(--shrine-ink-muted);font-size:clamp(.72rem,1.02vw,.9rem);font-style:italic;line-height:1.4}.drawer-sheet-shrine .shrine-btn{min-height:40px;padding:.62em 1.35em;border:1px solid rgb(124 88 42 / 56%);border-radius:8px 12px 8px 11px;background:linear-gradient(155deg,#73582f,#4a351d);color:#f8e8c4;font-family:var(--font-display);font-size:clamp(.82rem,1.2vw,1rem);font-weight:700;letter-spacing:.02em;box-shadow:0 3px 9px #4c30153d,inset 0 0 0 1px #fff0c61f;cursor:pointer;transition:transform .18s var(--ease-out-soft),filter .18s var(--ease-out-soft),box-shadow .18s var(--ease-out-soft)}.drawer-sheet-shrine .shrine-btn-pledge{border-color:#a0702ea8;background:linear-gradient(155deg,#9d7339,#684620);color:#fff0c9}.drawer-sheet-shrine .shrine-btn-renounce{border-color:#7a424d9e;background:linear-gradient(155deg,#754854,#482d38);color:#f5dee0}.drawer-sheet-shrine .shrine-btn-ghost{border-color:#77542b57;background:#fff9e752;color:var(--shrine-ink-soft);box-shadow:none}.drawer-sheet-shrine .shrine-btn:disabled{opacity:.5;cursor:default}.drawer-sheet-shrine .shrine-confirm{display:flex;width:min(100%,62ch);flex-direction:column;gap:clamp(5px,.8vh,9px);align-items:center}.drawer-sheet-shrine .shrine-warning{margin:0;color:var(--shrine-ink-soft);font-size:clamp(.68rem,.95vw,.84rem);line-height:1.34}.drawer-sheet-shrine .shrine-warning-gold{color:var(--shrine-rose);font-weight:700}.drawer-sheet-shrine .shrine-confirm-row{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.drawer-sheet-shrine :is(button):focus-visible{outline:2px solid #6555a0;outline-offset:2px;box-shadow:0 0 0 4px #fff4d3b8}@media(hover:hover){.drawer-sheet-shrine .shrine-btn:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}}@media(pointer:coarse){.drawer-sheet-shrine .shrine-btn{min-height:44px}}@media(orientation:portrait){.drawer-sheet.drawer-sheet-shrine{top:auto;right:auto;bottom:env(safe-area-inset-bottom,0);left:50%;width:min(122vw,56.28dvh);height:auto;max-height:none;aspect-ratio:941 / 1672;padding-bottom:0;border-radius:18px 18px 0 0;background-image:var(--skin-bg-portrait, var(--skin-bg, none)),radial-gradient(circle at 50% 42%,rgb(203 178 113 / 28%),transparent 28%),radial-gradient(ellipse at 50% 48%,rgb(94 110 82 / 38%),transparent 58%),linear-gradient(145deg,#302f29,#1a1b17 68%,#11120f);background-size:100% 100%,auto,auto,auto;transform:translate(-50%)}.drawer-sheet-shrine .drawer-header{top:2.2%;right:11.5%}.drawer-sheet-shrine .drawer-close{width:36px;height:36px}.drawer-sheet-shrine .shrine-intro{top:10%;left:10.5%;width:79%;height:18%;padding:clamp(9px,2.8vw,16px)}.shrine-kicker{font-size:clamp(.55rem,2.3vw,.7rem)}.drawer-sheet-shrine .shrine-heading{font-size:clamp(1.1rem,5vw,1.55rem)}.drawer-sheet-shrine .shrine-state{margin-top:.42em;font-size:clamp(.68rem,2.75vw,.84rem);line-height:1.32}.drawer-sheet-shrine .shrine-covenant{top:30.5%;left:10.5%;width:79%;height:28.5%;padding:clamp(11px,3vw,18px)}.shrine-section-heading{font-size:clamp(.95rem,4vw,1.25rem)}.drawer-sheet-shrine .shrine-terms{gap:clamp(8px,2.1vh,14px);font-size:clamp(.7rem,2.8vw,.86rem);line-height:1.36}.drawer-sheet-shrine .shrine-action{top:62%;left:10.5%;width:79%;height:25%;padding:clamp(10px,3vw,18px)}.drawer-sheet-shrine .shrine-hint{font-size:clamp(.7rem,2.7vw,.84rem)}.drawer-sheet-shrine .shrine-btn{font-size:clamp(.8rem,3.2vw,.96rem)}.drawer-sheet-shrine .shrine-warning{font-size:clamp(.66rem,2.55vw,.8rem)}}@media(orientation:portrait)and (max-width:380px){.shrine-kicker{display:none}.drawer-sheet-shrine .shrine-intro{top:10.5%;height:17.5%}.drawer-sheet-shrine .shrine-terms{gap:6px}}@media(prefers-reduced-motion:reduce){.drawer-sheet-shrine .shrine-btn{transition:none}}@media(forced-colors:active){.drawer-sheet-shrine :is(.shrine-intro,.shrine-covenant,.shrine-action){border:1px solid CanvasText;background:Canvas;color:CanvasText}}
