@charset "UTF-8";@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:750;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");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{color-scheme:light;--primary: #4f46e5;--primary-hover: #4338ca;--primary-active: #3730a3;--primary-soft: #eef2ff;--primary-border: #c7d2fe;--primary-contrast: #ffffff;--accent: #9333ea;--background: #f8fafc;--background-muted: #f1f5f9;--surface: #ffffff;--surface-subtle: #f8fafc;--surface-glass: rgba(255, 255, 255, .92);--surface-raised: rgba(255, 255, 255, .84);--text: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--success: #059669;--success-soft: #ecfdf5;--warning: #d97706;--warning-soft: #fffbeb;--danger: #e11d48;--danger-soft: #fff1f2;--sidebar: rgba(255, 255, 255, .96);--sidebar-hover: #f1f5f9;--sidebar-shadow: 12px 0 36px rgba(15, 23, 42, .04);--page-glow: rgba(224, 231, 255, .72);--focus: 0 0 0 4px rgba(79, 70, 229, .14);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 10px 30px rgba(15, 23, 42, .07);--shadow-lg: 0 24px 60px rgba(15, 23, 42, .12);--forest-950: #111827;--forest-900: var(--primary);--forest-800: var(--primary-hover);--forest-700: #6366f1;--paper-50: var(--surface);--paper-100: var(--background-muted);--paper-200: var(--border);--paper-300: var(--border-strong);--ink: var(--text);--soft: var(--text-secondary);--muted: var(--text-muted);--copper: var(--primary);--copper-dark: var(--primary-hover);--gold: var(--accent);--river: #0284c7;--line: var(--border);--line-strong: var(--border-strong);--shadow: var(--shadow-md);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--background);color:var(--text);font-family:var(--font-body)}:root[data-theme=dark]{color-scheme:dark;--primary: #a5b4fc;--primary-hover: #c7d2fe;--primary-active: #818cf8;--primary-soft: #242b4a;--primary-border: #444f7d;--primary-contrast: #111827;--accent: #c084fc;--background: #0b1120;--background-muted: #151e2f;--surface: #111827;--surface-subtle: #172033;--surface-glass: rgba(17, 24, 39, .92);--surface-raised: rgba(23, 32, 51, .88);--text: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border: #263348;--border-strong: #3b4a62;--success: #34d399;--success-soft: #0e2e26;--warning: #fbbf24;--warning-soft: #33270d;--danger: #fb7185;--danger-soft: #35151d;--sidebar: rgba(17, 24, 39, .96);--sidebar-hover: #172033;--sidebar-shadow: 12px 0 36px rgba(0, 0, 0, .2);--page-glow: rgba(79, 70, 229, .18);--focus: 0 0 0 4px rgba(165, 180, 252, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 12px 32px rgba(0, 0, 0, .28);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .38);--forest-950: #080d18;--forest-700: #818cf8}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 78% -15%,var(--page-glow),transparent 34%),var(--background);color:var(--text);cursor:default;-webkit-user-select:none;user-select:none;transition:background-color .18s ease,color .18s ease}app-root,.app-frame{display:block;min-height:100dvh}body,button,input,select{font:500 14px/1.45 var(--font-body)}input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),textarea,[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text}button,input,select{border-radius:8px}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:0;box-shadow:var(--focus)}button:disabled{cursor:not-allowed;opacity:.48}input,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:hover,select:hover{border-color:var(--primary-border)}input:focus,select:focus{border-color:var(--primary)}label{display:grid;gap:7px;color:var(--text-secondary);font-size:.76rem;font-weight:700}h1,h2,h3{color:var(--text);font-family:var(--font-display)}p{margin-top:0}.eyebrow{margin:0;color:var(--primary);font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.primary{min-height:44px;padding:10px 18px;border:1px solid var(--primary);background:var(--primary);box-shadow:var(--shadow-sm);color:var(--primary-contrast);font-weight:800}.primary:hover{border-color:var(--primary-hover);background:var(--primary-hover);transform:translateY(-1px)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;font:700 1.25rem/1 var(--font-display);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.brand-emblem{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.24))}.brand-button{padding:0;border:0;background:transparent}.icon-action{display:inline-grid;flex:0 0 auto;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.icon-action:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.icon-action svg{width:18px;height:18px}.theme-toggle svg{transition:transform .24s ease}.theme-toggle:hover svg{transform:rotate(12deg) scale(1.06)}.landing-shell{min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 72% 28%,var(--page-glow),transparent 34%),linear-gradient(145deg,var(--background),var(--background-muted));color:var(--text)}.landing-shell:before{position:fixed;inset:0;content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--border) 48%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--border) 48%,transparent) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 80%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 80%);pointer-events:none}.masthead{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:12px clamp(24px,5vw,76px);border-bottom:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.masthead .brand{color:var(--text)}.masthead .brand-emblem{width:50px;height:50px}.masthead-actions{display:flex;align-items:center;gap:18px}.language-picker{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.68rem;font-weight:700}.language-picker select{width:auto;min-width:104px;min-height:36px;padding:6px 30px 6px 9px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.language-picker.compact>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.phase{color:var(--text-muted);font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.landing-intro{position:relative;z-index:1;min-height:calc(100dvh - 78px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,460px);align-items:center;gap:clamp(40px,8vw,130px);width:min(1380px,100%);margin:auto;padding:clamp(36px,7vw,90px)}.story h1{max-width:780px;margin:15px 0 22px;color:var(--text);font:700 clamp(3.5rem,7.2vw,7.2rem)/.84 var(--font-display);letter-spacing:-.045em}.lede{max-width:620px;color:var(--text-secondary);font-size:clamp(.95rem,1.4vw,1.12rem);line-height:1.8}.pillars{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.pillars span{padding:8px 13px;border:1px solid var(--primary-border);border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.68rem;font-weight:700}.gate{position:relative;padding:clamp(28px,4vw,48px);border:1px solid var(--border);border-radius:16px;background:var(--surface-glass);box-shadow:var(--shadow-lg);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:10px;background:var(--background-muted)}.tabs button{padding:10px;border:0;background:transparent;color:var(--soft);font-size:.72rem;font-weight:800}.tabs button.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--primary)}.gate h2{margin:32px 0 22px;font-size:2.35rem}.gate form{display:grid;gap:13px}.gate form label{margin-bottom:-5px}.gate .primary{margin-top:8px}.error{margin:16px 0 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--danger) 32%,transparent);border-left:3px solid var(--danger);border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:.76rem}.world-shell{min-height:100dvh;padding:104px clamp(24px,5vw,72px) 60px}.portal-bar{position:fixed;z-index:20;top:0;right:0;left:0;min-height:76px;display:flex;align-items:center;gap:16px;padding:8px clamp(20px,4vw,58px);border-bottom:1px solid var(--border);background:var(--surface-glass);box-shadow:var(--shadow-sm);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-bar .brand-emblem{width:52px;height:52px}.portal-label{padding-left:20px;border-left:1px solid var(--border);color:var(--text-muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.account-summary{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--text);font-size:.72rem}.account-summary>span:last-child{display:grid}.account-summary small{color:var(--text-muted);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.account-avatar{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border:1px solid var(--primary-border);border-radius:50%;background:var(--primary);color:var(--primary-contrast);font:700 1rem var(--font-display);box-shadow:0 0 0 4px var(--primary-soft)}.logout-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-sm);font-size:.7rem;font-weight:700}.logout-button svg{width:16px;height:16px}.logout-button:hover{border-color:color-mix(in srgb,var(--danger) 30%,var(--border));background:var(--danger-soft);color:var(--danger)}.world-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;width:min(1300px,100%);margin:35px auto 44px}.world-intro h1{max-width:none;margin:9px 0 14px;font-size:clamp(3rem,6vw,5.8rem);line-height:.88}.world-intro p:last-child{max-width:690px;color:var(--soft);line-height:1.7}.world-intro-meta{display:flex;flex:0 0 auto;align-items:stretch;gap:18px}.next-world-countdown{min-width:310px;display:grid;align-content:center;justify-items:end;gap:4px;padding:15px 19px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-soft);text-align:right}.next-world-countdown span{color:var(--primary);font-size:.58rem;font-weight:850;letter-spacing:.09em}.next-world-countdown strong{color:var(--text);font:700 1.35rem/1.25 var(--font-display);font-variant-numeric:tabular-nums}.next-world-countdown time{color:var(--muted);font-size:.61rem}.world-count{display:grid;flex:0 0 auto;text-align:right}.world-count strong{color:var(--copper);font:700 4.5rem/1 var(--font-display)}.world-count span{color:var(--muted);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase}.world-cards{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:18px;width:min(1300px,100%);margin:auto}.world-card,.empty-state,.join-panel,.fields-panel,.village-summary,.buildings-panel,.tile-detail{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.world-card{position:relative;padding:28px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.world-card:after{position:absolute;right:-35px;bottom:-52px;width:110px;height:110px;border:13px double color-mix(in srgb,var(--primary) 8%,transparent);content:"";transform:rotate(30deg)}.world-card:hover,.world-card.selected{z-index:1;border-color:var(--primary-border);box-shadow:var(--shadow-md);transform:translateY(-4px)}.world-card-head{display:flex;justify-content:space-between;color:var(--muted);font-size:.62rem;letter-spacing:.11em}.world-card .status{color:var(--forest-700)}.world-card h2{margin:25px 0 7px;font-size:2.2rem}.world-card p,.world-card small{color:var(--soft);font-size:.72rem}.world-card-summary{min-height:2.4em;margin:0;line-height:1.55}.world-card-opening{position:relative;z-index:1;display:grid;gap:3px;margin-top:17px;padding:12px 14px;border:1px solid var(--primary-border);border-radius:9px;background:var(--primary-soft)}.world-card-opening span{color:var(--primary);font-size:.55rem;font-weight:850;letter-spacing:.09em}.world-card-opening strong{color:var(--text);font:700 1rem var(--font-display);font-variant-numeric:tabular-nums}.world-card-opening time{color:var(--muted);font-size:.59rem}.world-parameters{position:relative;z-index:1;margin-top:19px;padding-top:16px;border-top:1px solid var(--border)}.world-parameters header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}.world-parameters header>span{color:var(--muted);font-size:.57rem;font-weight:850;letter-spacing:.1em}.world-parameters header small{overflow:hidden;color:var(--text-muted);font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.world-parameters dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.world-parameters dl>div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:7px;background:var(--surface-subtle)}.world-parameters dt{overflow:hidden;color:var(--muted);font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.world-parameters dd{margin:0;color:var(--text);font-size:.65rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.population{height:5px;margin:22px 0 8px;overflow:hidden;border-radius:999px;background:var(--background-muted)}.population span{display:block;height:100%;background:linear-gradient(90deg,var(--forest-700),var(--gold))}.world-card>button{position:relative;z-index:1;width:100%;margin-top:24px;padding:11px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-weight:800}.world-card>button:hover{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.world-card>button:disabled{border-color:var(--border);background:var(--background-muted);color:var(--muted);cursor:not-allowed}.empty-state{padding:32px}.world-profile-loading{position:fixed;z-index:1500;inset:0;min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;background:var(--background);color:var(--text);text-align:center}.world-profile-loading img{width:88px;height:88px;filter:drop-shadow(0 12px 24px color-mix(in srgb,var(--primary) 22%,transparent))}.world-profile-loading>span{width:42px;height:42px;margin:8px 0;border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:world-profile-loading-spin .7s linear infinite}.world-profile-loading .eyebrow{margin:0}.world-profile-loading strong{font:700 clamp(1.35rem,3vw,2rem) var(--font-display)}@keyframes world-profile-loading-spin{to{transform:rotate(1turn)}}.world-join-backdrop{position:fixed;z-index:1400;inset:0;height:100dvh;display:grid;place-items:center;overflow-y:auto;padding:clamp(16px,4vw,48px);background:#0f172a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.join-panel{width:min(980px,100%);max-height:100%;overflow-y:auto;margin:0;padding:28px}.join-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.join-panel-header>div{min-width:0}.join-panel-header>button{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary)}.join-panel-header>button svg{width:18px;height:18px}.join-panel h2{margin:7px 0;font-size:2.2rem}.join-panel>p:not(.eyebrow){color:var(--soft)}.join-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:20px}.join-form>button{min-height:44px;padding:9px 14px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-weight:700}.join-form>button:hover{border-color:var(--primary)}.join-form .primary{min-height:44px;border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.game-shell{min-height:100dvh;padding-top:68px;padding-left:260px;transition:padding-left .22s cubic-bezier(.22,1,.36,1)}.game-shell.sidebar-compact{padding-left:76px}.game-sidebar{position:fixed;z-index:1100;inset:0 auto 0 0;width:260px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--sidebar);box-shadow:var(--sidebar-shadow);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:width .22s cubic-bezier(.22,1,.36,1),transform .24s ease}.sidebar-header{position:relative;flex:0 0 68px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--surface)}.sidebar-header .brand{min-width:0;height:68px;display:flex;flex:1;gap:10px;padding:8px 48px 8px 14px;color:var(--text);text-align:left}.sidebar-header .brand-emblem{flex:0 0 auto;width:42px;height:42px}.sidebar-header .brand>span{min-width:0;display:grid;gap:2px}.sidebar-header .brand strong{overflow:hidden;font:700 1.08rem var(--font-display);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sidebar-header .brand small{color:var(--text-muted);font:600 .62rem var(--font-body);letter-spacing:0;text-transform:none}.sidebar-size-toggle,.sidebar-mobile-close{position:absolute;display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--border);background:var(--background-muted);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.sidebar-size-toggle{right:14px}.sidebar-mobile-close{display:none;right:14px}.sidebar-size-toggle:hover,.sidebar-mobile-close:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.sidebar-size-toggle svg,.sidebar-mobile-close svg{width:15px;height:15px}.sidebar-nav{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;padding:24px 14px;overflow-x:hidden;overflow-y:auto}.sidebar-section-title{margin:0 8px 7px;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sidebar-nav button,.sidebar-utility{width:100%;min-height:48px;display:flex;align-items:center;gap:11px;padding:7px 9px;overflow:hidden;border:1px solid transparent;background:transparent;color:var(--text-secondary);text-align:left;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.sidebar-nav button:hover,.sidebar-utility:hover{background:var(--sidebar-hover);color:var(--text)}.sidebar-nav button.active{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:var(--shadow-sm);color:var(--primary)}.menu-icon{display:inline-grid;flex:0 0 32px;place-items:center;width:32px;height:32px;border-radius:7px;background:var(--background-muted);color:var(--text-muted);transition:background-color .18s ease,color .18s ease,transform .18s ease}.menu-icon{position:relative}.menu-icon svg{width:18px;height:18px;stroke-width:1.8}.menu-badge{min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.58rem;font-weight:850;font-style:normal}.menu-badge.compact{position:absolute;top:-6px;right:-7px;min-width:17px;height:17px;display:none;padding:0 4px;border:2px solid var(--sidebar);font-size:.47rem}.menu-badge.quest-menu-badge{background:var(--success);box-shadow:0 3px 9px color-mix(in srgb,var(--success) 28%,transparent)}.sidebar-nav button:hover .menu-icon,.sidebar-utility:hover .menu-icon{color:var(--text-secondary);transform:translateY(-1px)}.sidebar-nav button.active .menu-icon{background:var(--primary);color:var(--primary-contrast)}.menu-copy{min-width:0;display:grid;flex:1;gap:1px}.menu-copy strong{overflow:hidden;color:inherit;font-size:.8rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.menu-copy small{overflow:hidden;color:var(--text-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{flex:0 0 auto;display:grid;gap:4px;padding:12px 14px 14px;border-top:1px solid var(--border);background:var(--surface-subtle)}.sidebar-language{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:7px 9px}.sidebar-language select{min-width:98px}.sidebar-utility{min-height:44px}.sidebar-utility .menu-icon{background:transparent}.sidebar-utility.danger:hover{background:var(--danger-soft);color:var(--danger)}.sidebar-compact .game-sidebar{width:76px}.sidebar-compact .game-sidebar .brand{justify-content:center;padding:8px}.sidebar-compact .game-sidebar .brand>span,.sidebar-compact .sidebar-section-title,.sidebar-compact .menu-copy{display:none}.sidebar-compact .sidebar-size-toggle{right:23px}.sidebar-compact .sidebar-header .brand-emblem{display:none}.sidebar-compact .sidebar-nav,.sidebar-compact .sidebar-footer{padding-right:9px;padding-left:9px}.sidebar-compact .sidebar-language{display:none}.sidebar-compact .sidebar-nav button,.sidebar-compact .sidebar-utility{justify-content:center;padding:7px}.sidebar-compact .menu-badge:not(.compact){display:none}.sidebar-compact .menu-badge.compact{display:grid}.sidebar-backdrop{display:none}.game-header{position:fixed;z-index:900;top:0;right:0;left:260px;height:68px;display:flex;align-items:center;gap:12px;padding:0 20px;border:0;border-bottom:1px solid var(--border);background:var(--surface-glass);box-shadow:var(--shadow-sm);color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:left .22s cubic-bezier(.22,1,.36,1)}.sidebar-compact .game-header{left:76px}.mobile-menu-button,.mobile-theme-toggle{display:none}.header-context{min-width:150px;display:grid;gap:1px}.header-context span{color:var(--primary);font-size:.66rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.header-context strong{overflow:hidden;color:var(--text);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.village-switcher{position:relative;min-width:280px;max-width:330px;flex:0 1 330px}.village-switcher-trigger{width:100%;min-height:54px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:6px 9px 6px 7px;border:1px solid var(--primary-border);border-radius:11px;background:linear-gradient(135deg,var(--primary-soft),var(--surface));box-shadow:var(--shadow-sm);color:var(--text);text-align:left}.village-switcher-trigger:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 82%,var(--surface)),var(--surface))}.village-switcher-trigger:focus-visible{outline:0;box-shadow:var(--focus)}.village-switcher-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,var(--primary),var(--primary-hover));color:var(--primary-contrast);box-shadow:0 5px 12px color-mix(in srgb,var(--primary) 24%,transparent)}.village-switcher-icon svg{width:19px;height:19px}.village-switcher-copy{min-width:0;display:grid;align-content:center;gap:3px}.village-switcher-copy small{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.48rem;font-weight:800;letter-spacing:.075em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.village-switcher-copy small em{color:var(--primary);font-style:normal;letter-spacing:.03em}.village-switcher-copy strong{min-width:0;max-height:2.2em;overflow:hidden;color:var(--text);font-size:.74rem;line-height:1.1;overflow-wrap:anywhere}.village-switcher-count{min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--primary);font-size:.56rem;font-variant-numeric:tabular-nums}.village-switcher-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .16s ease}.village-switcher-trigger[aria-expanded=true] .village-switcher-chevron{transform:rotate(180deg)}.village-switcher-menu{position:absolute;z-index:1300;top:calc(100% + 9px);right:0;width:min(430px,100vw - 24px);overflow:hidden;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface);box-shadow:0 20px 55px #0f172a33;color:var(--text);animation:village-menu-enter .15s cubic-bezier(.22,1,.36,1)}@keyframes village-menu-enter{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.village-switcher-menu>header{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--primary-soft),var(--surface))}.village-switcher-menu>header span{display:grid;gap:1px}.village-switcher-menu>header small{color:var(--primary);font-size:.5rem;font-weight:850;letter-spacing:.1em}.village-switcher-menu>header strong{font:700 1.08rem/1.1 var(--font-display)}.village-switcher-menu>header>b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:var(--primary-contrast);font-size:.65rem}.village-switcher-list{max-height:min(390px,100dvh - 270px);display:grid;gap:5px;padding:8px;overflow-y:auto}.village-switcher-option{min-width:0;width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 19px;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;background:transparent;color:var(--text);text-align:left}.village-switcher-option:hover{border-color:var(--border);background:var(--surface-subtle)}.village-switcher-option.active{border-color:var(--primary-border);background:var(--primary-soft)}.village-option-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--surface-subtle);color:var(--text-muted)}.village-option-icon.capital{background:color-mix(in srgb,#d5a72f 16%,var(--surface));color:#b7791f}.village-option-icon svg{width:18px;height:18px}.village-option-copy{min-width:0;display:grid;gap:4px}.village-option-copy strong{color:var(--text);font-size:.75rem;line-height:1.25;overflow-wrap:anywhere;white-space:normal}.village-option-copy small{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.56rem}.village-option-copy small svg{width:11px;height:11px}.village-option-capital{align-self:center;padding:4px 7px;border:1px solid color-mix(in srgb,#d5a72f 38%,var(--border));border-radius:999px;background:color-mix(in srgb,#d5a72f 10%,var(--surface));color:#a16207;font-size:.5rem;font-style:normal;font-weight:800;white-space:nowrap}.village-option-check{width:18px;height:18px;color:var(--primary)}.village-switcher-management{padding:10px;border-top:1px solid var(--border);background:var(--surface-subtle)}.village-management-actions{display:flex;gap:7px}.village-management-actions button{min-height:36px;display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;padding:7px 9px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.59rem;font-weight:800}.village-management-actions button:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.village-management-actions button.capital-action{border-color:color-mix(in srgb,#d5a72f 38%,var(--border));color:#a16207}.village-management-actions button svg{width:15px;height:15px}.capital-rule{display:flex;align-items:center;gap:8px;margin:9px 2px 0;color:var(--text-muted)}.capital-rule>svg{width:16px;height:16px;flex:0 0 auto;color:#b7791f}.capital-rule span{display:grid}.capital-rule strong{color:var(--text-secondary);font-size:.55rem}.capital-rule small{font-size:.52rem}.village-rename-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.village-rename-form label{grid-column:1/-1;color:var(--text-muted);font-size:.53rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.village-rename-form input{min-width:0;min-height:38px;padding:7px 9px}.village-rename-form>span{display:flex;gap:6px}.village-rename-form button{min-height:38px;padding:7px 10px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.57rem;font-weight:800}.village-rename-form button.primary{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.quick-resources{display:flex;align-items:center;gap:5px;margin-left:auto}.quick-resources>span{width:116px;min-width:116px;flex:0 0 116px;display:grid;grid-template:auto auto/24px minmax(0,1fr);column-gap:7px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle)}.quick-resources>.header-resource-stock{cursor:help;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.quick-resources>.header-resource-stock:hover{border-color:color-mix(in srgb,var(--resource-color) 48%,var(--border));background:color-mix(in srgb,var(--resource-color) 7%,var(--surface-subtle))}.quick-resources>.header-resource-stock:focus-visible{outline:0;border-color:var(--primary);box-shadow:var(--focus)}.quick-resources app-resource-icon{grid-row:1/3;align-self:center}.quick-resources small{overflow:hidden;color:var(--text-muted);font-size:.5rem;text-overflow:ellipsis;text-transform:uppercase}.quick-resources b{min-width:0;overflow:hidden;color:var(--text);font-size:.68rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.world-identity{display:flex;align-items:center;padding-left:10px;border-left:1px solid var(--border)}.world-identity button{display:grid;min-width:145px;padding:6px 8px;border:0;background:transparent;color:var(--text);text-align:right}.world-identity strong{overflow:hidden;font:700 1.02rem var(--font-display);text-overflow:ellipsis;white-space:nowrap}.world-identity span{color:var(--text-muted);font-size:.55rem}.game-content{min-width:0;width:100%;max-width:1600px;margin:0 auto;padding:clamp(26px,4vw,48px)}.game-content.map-content{max-width:none;min-height:calc(100dvh - 68px);overflow:auto;padding:12px}.village-heading,.map-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.village-heading h1,.map-heading h1{margin:6px 0;font:700 clamp(2.8rem,5vw,4.8rem)/.9 var(--font-display)}.village-heading>div>p:last-child{color:var(--soft);font-size:.72rem}.capital-production-badge{width:max-content;display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:5px 8px;border:1px solid color-mix(in srgb,#d5a72f 38%,var(--border));border-radius:999px;background:color-mix(in srgb,#d5a72f 10%,var(--surface));color:#a16207;font-size:.54rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}.capital-production-badge svg{width:13px;height:13px}.village-vitals{display:flex;gap:8px;margin:0}.village-vitals div{min-width:96px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle)}.village-vitals dt{color:var(--text-muted);font-size:.56rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.village-vitals dd{margin:2px 0 0;color:var(--text);font:700 1.18rem/1 var(--font-display)}.village-heading button,.map-heading>button,.map-status button,.tile-detail button{min-height:40px;padding:9px 12px;border:1px solid var(--border);background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:700}.village-heading button:hover,.map-heading>button:hover,.map-status button:hover,.tile-detail button:hover{border-color:var(--primary-border);background:var(--primary-soft)}.resource-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin:30px 0 22px}.resource-strip article{container:resource-card/inline-size;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--border);border-top:3px solid var(--resource-color, var(--primary));border-radius:10px;background:var(--surface);box-shadow:var(--shadow-sm)}.field-grid i{width:11px;height:11px;background:var(--resource-color);transform:rotate(45deg)}.resource-card-data{min-width:0;display:grid;gap:2px}.resource-card-name{overflow:hidden;color:var(--muted);font-size:.6rem;line-height:1.2;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.resource-card-stock{min-width:0;display:flex;align-items:baseline;gap:4px;margin-top:1px;color:var(--ink);font-size:.86rem;font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}.resource-card-stock>span{min-width:0;overflow:hidden;color:inherit;font-size:inherit;text-overflow:ellipsis}.resource-card-stock>small{flex:0 0 auto;color:var(--muted);font-size:.68rem;font-weight:500}.resource-card-production{min-width:0;overflow:hidden;color:var(--forest-700);font-size:.61rem;font-style:normal;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.resource-card-production-value{color:inherit;font-size:inherit;font-weight:800;text-transform:none}.resource-card-army-upkeep{color:#a94c38;font-weight:750}.resource-card--starvation{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger-soft) 32%,var(--surface))}.resource-card-starvation{color:var(--danger);font-weight:850}@container resource-card (max-width: 260px){.resource-card .gem-action--resource>span{display:none}.resource-card .gem-action--resource{min-width:0;gap:3px;padding-right:4px;padding-left:4px}.resource-card .gem-action--resource .gem-icon{width:16px;height:16px}.resource-card .gem-action--resource b{min-width:17px;padding-right:4px;padding-left:4px}}.village-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);gap:18px}.fields-panel,.village-summary,.tile-detail,.buildings-panel{padding:clamp(21px,3vw,34px)}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-title h2,.village-summary h2,.tile-detail h2{margin:5px 0 0;font-size:2rem}.section-title>span{color:var(--muted);font-size:.65rem}.field-grid{display:grid;grid-template-columns:repeat(6,minmax(75px,1fr));gap:8px}.field-grid article{position:relative;min-height:108px;display:grid;place-items:center;align-content:center;gap:7px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--resource-color) 12%,var(--surface)),var(--surface));text-align:center}.field-grid article:after{position:absolute;right:-19px;bottom:-20px;width:42px;height:42px;border:6px solid color-mix(in srgb,var(--resource-color) 20%,transparent);content:"";transform:rotate(45deg)}.field-grid article>span{position:absolute;top:6px;left:8px;color:var(--muted);font-size:.56rem}.field-grid strong{font-size:.65rem}.field-grid small{color:var(--muted);font-size:.57rem}.field-grid button,.building-grid button,.research-list button,.army-strip button{z-index:1;padding:6px 9px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.6rem;font-weight:700}.field-grid button:hover,.building-grid button:hover,.research-list button:hover,.army-strip button:hover{border-color:var(--primary)}.buildings-panel{margin-top:18px}.building-grid{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));gap:8px}.building-grid article{min-height:120px;display:grid;place-items:center;align-content:center;gap:7px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);text-align:center}.building-grid article>span{color:var(--muted);font-size:.57rem}.building-grid strong{font-size:.71rem}.building-grid small{color:var(--muted);font-size:.59rem}.progression-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.ranking-profiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ranking-profiles .section-title small{display:block;max-width:34ch;margin-top:5px;color:var(--muted);font-size:.58rem;line-height:1.45}.ranking-group-title{margin:22px 0 -7px}.ranking-group-title h2{margin:3px 0 0;font-size:1.2rem}.ranking-group-title>span{color:var(--muted);font-size:.64rem}.clan-ranking-title{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.clan-ranking-profiles{margin-bottom:24px}.ranking-list article{justify-content:flex-start}.ranking-list article>b{min-width:30px;color:var(--copper);font:800 .72rem var(--font-display)}.ranking-list article>div{min-width:0;flex:1}.ranking-list article>app-clan-emblem{margin-right:-7px}.ranking-list app-player-identity{max-width:100%}.research-list{display:grid;gap:8px}.research-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.research-list article>div{display:grid;gap:3px}.research-list span,.research-list small,.training-line{color:var(--soft);font-size:.65rem}.quest-page-heading{align-items:end}.quest-page-heading>div>p:last-child{max-width:670px;margin:8px 0 0;color:var(--text-secondary);font-size:.72rem;line-height:1.55}.quest-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 18px}.quest-summary article{min-width:0;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-sm)}.quest-summary article.quest-summary--claimable{border-color:color-mix(in srgb,var(--success) 38%,var(--border));background:linear-gradient(135deg,var(--success-soft),var(--surface) 70%)}.quest-summary-icon{width:43px;height:43px;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--primary-border);border-radius:11px;background:var(--primary-soft);color:var(--primary)}.quest-summary-icon--progress{border-color:color-mix(in srgb,var(--warning) 34%,var(--border));background:var(--warning-soft);color:var(--warning)}.quest-summary-icon--reward{border-color:color-mix(in srgb,var(--success) 34%,var(--border));background:var(--success-soft);color:var(--success)}.quest-summary-icon svg{width:21px;height:21px}.quest-summary article>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 12px}.quest-summary small{color:var(--muted);font-size:.54rem;font-weight:800;letter-spacing:.08em}.quest-summary strong{grid-row:1/span 2;grid-column:2;color:var(--text);font:750 1.85rem/1 var(--font-display)}.quest-summary p{overflow:hidden;margin:0;color:var(--text-secondary);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.quest-journal{padding:clamp(18px,2.5vw,28px);border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-sm)}.quest-journal-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.quest-journal-toolbar h2{margin:3px 0 0;font-size:2rem}.quest-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.quest-filters button{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:6px 8px 6px 11px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:.59rem;font-weight:700}.quest-filters button:hover{border-color:var(--primary-border);color:var(--primary)}.quest-filters button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.quest-filters b{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:var(--background-muted);color:inherit;font-size:.54rem}.quest-filters button.active b{background:var(--surface)}.quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:13px}.quest-card{--quest-tone: var(--primary);min-width:0;display:grid;grid-template-rows:auto auto 1fr auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--quest-tone) 25%,var(--border));border-top:3px solid var(--quest-tone);border-radius:11px;background:var(--surface-subtle)}.quest-card[data-status=COMPLETED]{--quest-tone: var(--success);box-shadow:0 10px 28px color-mix(in srgb,var(--success) 9%,transparent)}.quest-card[data-status=CLAIMED]{--quest-tone: var(--text-muted)}.quest-card-header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:16px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--quest-tone) 8%,var(--surface)),var(--surface) 65%)}.quest-card-emblem{width:39px;height:39px;display:grid;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--quest-tone, var(--primary)) 34%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--quest-tone, var(--primary)) 10%,var(--surface));color:var(--quest-tone, var(--primary))}.quest-card-emblem svg{width:20px;height:20px}.quest-card-header>div{min-width:0}.quest-card-header small{display:block;overflow:hidden;color:var(--quest-tone);font-size:.51rem;font-weight:800;letter-spacing:.07em;text-overflow:ellipsis;white-space:nowrap}.quest-card-header h2{overflow:hidden;margin:3px 0 0;color:var(--text);font-size:1.35rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.quest-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--quest-tone) 28%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--quest-tone) 8%,var(--surface));color:var(--quest-tone);font-size:.53rem;font-weight:800;white-space:nowrap}.quest-status svg{width:13px;height:13px}.quest-howto{display:grid;grid-template-columns:.85fr 1.15fr;border-bottom:1px solid var(--border);background:var(--surface)}.quest-howto section{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:9px;padding:14px 15px}.quest-howto section+section{border-left:1px solid var(--border)}.quest-howto section>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--primary-soft);color:var(--primary)}.quest-howto section:nth-child(2)>span{background:var(--warning-soft);color:var(--warning)}.quest-howto svg{width:15px;height:15px}.quest-howto section>div{min-width:0;display:grid;align-content:start;gap:3px}.quest-howto small{color:var(--muted);font-size:.49rem;font-weight:800;letter-spacing:.07em}.quest-howto strong{color:var(--text);font-size:.64rem}.quest-howto p{margin:0;color:var(--text-secondary);font-size:.57rem;line-height:1.45}.quest-objectives{min-width:0;display:grid;align-content:start;gap:10px;padding:14px 16px 16px}.quest-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.51rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.quest-section-heading b{color:var(--success);font-size:.51rem}.quest-objective{display:grid;gap:6px}.quest-objective>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.quest-objective strong{color:var(--text-secondary);font-size:.59rem}.quest-objective>div:first-child span{color:var(--quest-tone);font-size:.58rem;font-weight:800}.quest-progress{height:7px;overflow:hidden;border-radius:999px;background:var(--border)}.quest-progress>span{height:100%;display:block;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--quest-tone) 74%,var(--primary)),var(--quest-tone));transition:width .25s ease}.quest-no-objective,.quest-reward-empty{margin:0;color:var(--muted);font-size:.57rem}.quest-card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:14px 16px 16px;border-top:1px solid var(--border);background:var(--surface)}.quest-rewards{min-width:0;display:grid;gap:8px}.quest-rewards .quest-section-heading>span{display:inline-flex;align-items:center;gap:5px}.quest-rewards .quest-section-heading svg{width:13px;height:13px;color:var(--success)}.quest-rewards .quest-section-heading small{overflow:hidden;color:var(--muted);font-size:.5rem;font-weight:600;letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.quest-rewards>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.quest-reward{display:inline-flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid color-mix(in srgb,var(--resource-color) 24%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--resource-color) 6%,var(--surface-subtle))}.quest-reward>span{display:grid;gap:0}.quest-reward small{color:var(--muted);font-size:.48rem}.quest-reward strong{color:color-mix(in srgb,var(--resource-color) 78%,var(--text));font-size:.66rem}.quest-actions{display:flex;justify-content:flex-end}.quest-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 11px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.58rem;font-weight:800}.quest-actions button:hover{border-color:var(--primary)}.quest-actions .quest-claim-action{border-color:color-mix(in srgb,var(--success) 36%,var(--border));background:var(--success);color:#fff}.quest-actions .quest-claim-action:hover{border-color:var(--success);background:color-mix(in srgb,var(--success) 88%,black)}.quest-actions button svg{width:14px;height:14px}.quest-claimed-label{display:inline-flex;align-items:center;gap:5px;padding-bottom:8px;color:var(--success);font-size:.54rem;font-weight:750;white-space:nowrap}.quest-claimed-label svg{width:14px;height:14px}.quest-empty{grid-column:1/-1;min-height:250px;display:grid;place-items:center;align-content:center;gap:7px;padding:30px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-subtle);text-align:center}.quest-empty>svg{width:34px;height:34px;margin-bottom:4px;color:var(--muted)}.quest-empty strong{color:var(--text)}.quest-empty p{margin:0;color:var(--muted);font-size:.62rem}.quest-empty button{margin-top:6px;padding:7px 10px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.58rem;font-weight:750}.quest-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:12px}.quest-loading>div{display:grid;gap:3px}.quest-loading p{margin:0;color:var(--muted);font-size:.62rem}.realm-social-grid{grid-template-columns:minmax(0,1fr);align-items:start}.market-panel{overflow:hidden}.market-heading{align-items:center}.market-merchant-overview{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(280px,1.35fr) minmax(140px,.65fr);align-items:stretch;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--primary-border);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 72%,var(--surface)),var(--surface))}.market-merchant-count{display:flex;align-items:center;gap:10px;padding:8px 10px}.market-merchant-count>span{position:relative;width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border-radius:11px;background:var(--primary);color:var(--primary-contrast);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 22%,transparent)}.market-merchant-count>span svg{width:21px;height:21px}.market-merchant-count>div{display:grid;gap:2px}.market-merchant-count small,.market-merchant-capacity small{color:var(--primary);font-size:.54rem;font-weight:800;letter-spacing:.07em}.market-merchant-count strong{color:var(--text);font:800 1.72rem/1 var(--font-display)}.market-merchant-count strong i{color:var(--muted);font-size:.92rem;font-style:normal}.market-merchant-usage{display:grid;align-content:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.market-merchant-usage>span{min-width:0;display:grid;gap:2px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font-size:.54rem;line-height:1.25;text-align:center}.market-merchant-usage>span b{color:var(--warning);font-size:.88rem}.market-merchant-usage>span.available b{color:var(--success)}.market-merchant-unlock{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px dashed var(--primary-border);border-radius:9px;background:color-mix(in srgb,var(--primary-soft) 55%,var(--surface))}.market-merchant-unlock>svg{width:19px;height:19px;flex:0 0 auto;color:var(--primary)}.market-merchant-unlock>span{display:grid;gap:3px}.market-merchant-unlock strong{color:var(--text);font-size:.6rem}.market-merchant-unlock small{color:var(--text-secondary);font-size:.56rem;line-height:1.4}.market-merchant-capacity{display:grid;place-content:center;justify-items:center;gap:2px;padding:8px;border-left:1px solid var(--border);text-align:center}.market-merchant-capacity strong{color:var(--primary);font:800 1.12rem var(--font-display)}.market-merchant-capacity span{color:var(--text-secondary);font-size:.53rem}.market-actions{display:grid;gap:11px}.market-composer{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr)) 24px repeat(3,minmax(92px,1fr));align-items:end;gap:8px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.market-form-heading{grid-column:1/-1;display:grid;gap:2px;margin-bottom:2px}.market-form-heading strong{color:var(--text);font:700 1rem var(--font-display)}.market-form-heading span{color:var(--muted);font-size:.6rem}.market-composer label{min-width:0;display:grid;gap:5px;color:var(--text-secondary);font-size:.6rem;font-weight:700}.market-composer input,.market-composer select{width:100%;min-height:38px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.market-composer>label:last-of-type{grid-column:1/3}.market-composer>button{grid-column:6/8;min-height:38px;border:1px solid var(--primary);background:var(--primary);color:var(--primary-contrast);font-size:.65rem;font-weight:750}.market-arrow{align-self:center;color:var(--copper)!important;font-size:1rem!important;font-weight:800;text-align:center}.market-transfer-form{grid-template-columns:minmax(130px,1.3fr) minmax(100px,1fr) minmax(100px,1fr) 82px auto}.market-transfer-form>label:nth-of-type(5){grid-column:auto}.market-transfer-form>button{grid-column:auto;white-space:nowrap}.market-locked{display:grid;gap:5px;padding:15px;border:1px dashed var(--primary-border);border-radius:10px;background:var(--primary-soft)}.market-locked strong{color:var(--primary)}.market-locked p,.market-empty-hint{margin:0;color:var(--text-secondary);font-size:.66rem;line-height:1.5}.market-offers-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:24px 0 11px;padding-top:18px;border-top:1px solid var(--border)}.market-offers-heading h3{margin:3px 0 0}.market-offers-heading>span{max-width:32ch;color:var(--muted);font-size:.58rem;line-height:1.4;text-align:right}.market-offer-filters{display:grid;grid-template-columns:auto auto minmax(240px,1fr) auto;align-items:center;gap:12px 18px;margin-bottom:9px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.market-resource-filter,.market-travel-filter{display:flex;align-items:center;gap:8px}.market-resource-filter>span,.market-travel-filter>span{color:var(--text-secondary);font-size:.55rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.market-resource-filter>div,.market-travel-filter>div{display:flex;align-items:center;gap:4px}.market-resource-filter button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary)}.market-resource-filter button:hover{border-color:var(--resource-color);background:color-mix(in srgb,var(--resource-color) 7%,var(--surface))}.market-resource-filter button.active{border-color:color-mix(in srgb,var(--resource-color) 65%,var(--primary));background:color-mix(in srgb,var(--resource-color) 14%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--resource-color) 20%,transparent)}.market-resource-filter button app-resource-icon{pointer-events:none}.market-travel-filter{justify-self:end}.market-travel-filter button,.market-filter-reset{min-height:28px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);font-size:.54rem;font-weight:750;white-space:nowrap}.market-travel-filter button:hover,.market-travel-filter button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.market-filter-reset{border-color:transparent;background:transparent;color:var(--primary)}.market-offer-table-shell{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 6px 18px color-mix(in srgb,var(--text) 4%,transparent)}.market-offer-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.market-offer-table th{padding:8px 12px;background:var(--surface-subtle);color:var(--muted);font-size:.51rem;font-weight:800;letter-spacing:.055em;text-align:left;text-transform:uppercase}.market-offer-table th:nth-child(1){width:23%}.market-offer-table th:nth-child(2),.market-offer-table th:nth-child(3){width:13%}.market-offer-table th:nth-child(4){width:13%}.market-offer-table th:nth-child(5){width:12%}.market-offer-table th:nth-child(6){width:26%}.market-offer-table td{height:62px;padding:8px 12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.62rem;vertical-align:middle}.market-offer-table tbody tr{transition:background .13s ease}.market-offer-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 28%,var(--surface))}.market-offer-table tbody tr.market-offer--owned{background:color-mix(in srgb,var(--primary-soft) 48%,var(--surface))}.market-offer-owner{min-width:0;display:grid;gap:2px}.market-offer-owner small{overflow:hidden;color:var(--muted);font-size:.53rem;text-overflow:ellipsis;white-space:nowrap}.market-resource-cell{display:flex;flex-wrap:wrap;gap:5px}.market-resource-token{display:inline-flex;align-items:center;gap:6px;color:var(--text);white-space:nowrap}.market-resource-token b{min-width:2.2ch;font-size:.72rem;font-variant-numeric:tabular-nums;text-align:right}.market-resource-token--offer b{color:var(--success)}.market-resource-token--request b{color:var(--copper)}.market-offer-travel strong,.market-offer-travel small,.market-offer-expiry time,.market-offer-expiry small{display:block}.market-offer-travel strong{color:var(--primary);font-size:.66rem;font-variant-numeric:tabular-nums}.market-offer-travel small,.market-offer-expiry small{margin-top:2px;color:var(--muted);font-size:.51rem}.market-offer-expiry time{color:var(--text-secondary);font-size:.59rem;font-variant-numeric:tabular-nums}.market-offer-actions{min-width:0;display:grid!important;justify-items:end;gap:5px!important}.market-offer-actions>button{min-width:72px;min-height:30px;padding:5px 9px;font-size:.57rem}.market-offer-actions .secondary-action{border-color:var(--border);background:var(--surface);color:var(--text-secondary)}.market-relic-token{display:inline-flex;max-width:100%;align-items:center;gap:4px;padding:4px 6px;border:1px solid #8b5cf6;border-radius:999px;background:color-mix(in srgb,#8b5cf6 12%,var(--surface));color:#6d28d9;font-size:.54rem;font-weight:800;line-height:1.2}.market-relic-token.requested{border-color:#c084fc;background:color-mix(in srgb,#c084fc 10%,var(--surface))}.market-own-offer{color:var(--primary);font-size:.53rem;font-weight:800;text-transform:uppercase}.market-offer-blocker{display:inline-flex;align-items:flex-start;justify-content:flex-end;gap:4px;color:var(--danger)!important;font-size:.53rem!important;line-height:1.3;text-align:right}.market-offer-blocker svg{width:13px;height:13px;flex:0 0 auto}.market-table-empty{height:auto!important;padding:18px!important;color:var(--text-secondary)!important;text-align:center}.market-movements-heading{margin-top:28px}.market-movement-group{display:grid;gap:9px;margin-top:14px}.market-movement-group+.market-movement-group{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.market-movement-group-heading{display:flex;align-items:end;justify-content:space-between;gap:14px}.market-movement-group-heading>div{display:flex;align-items:center;gap:8px}.market-movement-group-heading h4{margin:0;color:var(--text);font-family:var(--font-display);font-size:.78rem}.market-movement-group-heading>div>span{min-width:23px;padding:3px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.54rem;font-weight:850;text-align:center}.market-movement-group-heading>small{color:var(--muted);font-size:.54rem}.market-movement-list{display:grid;gap:9px}.market-movement-list.history{transition:opacity .16s ease}.market-movement-list.history.loading{opacity:.5;pointer-events:none}.market-movement{display:grid;gap:11px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.market-movement.active{border-color:var(--primary-border);background:color-mix(in srgb,var(--primary-soft) 35%,var(--surface))}.market-movement>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.market-movement-icon{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary)}.market-movement-icon svg{width:19px;height:19px}.market-movement-icon b{position:absolute;right:-4px;bottom:-4px;min-width:17px;padding:2px 4px;border:2px solid var(--surface);border-radius:999px;background:var(--primary);color:var(--primary-contrast);font-size:.48rem;text-align:center}.market-movement>header>div{display:grid;gap:2px}.market-movement>header small{color:var(--muted);font-size:.52rem;font-weight:750;letter-spacing:.05em}.market-movement>header strong{overflow:hidden;color:var(--text);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.market-movement-origin{color:var(--primary);font-size:.55rem;font-weight:700}.market-movement>header em{color:var(--primary);font-size:.56rem;font-style:normal;font-weight:800}.market-movement>header em.completed{color:var(--success)}.market-movement-cargo{display:flex;align-items:center;gap:7px;padding-left:48px}.market-movement-cargo>span{display:flex;align-items:baseline;gap:6px;padding:5px 8px;border-radius:7px;background:var(--surface)}.market-movement-cargo small{color:var(--muted);font-size:.49rem;font-weight:800}.market-movement-cargo b{color:var(--text-secondary);font-size:.59rem}.market-movement-cargo>i{color:var(--primary);font-style:normal}.market-movement-timeline{display:grid;gap:5px;padding-left:48px}.market-movement-progress{position:relative;height:6px;overflow:hidden;border-radius:999px;background:var(--border)}.market-movement-progress>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success));transition:width .25s linear}.market-movement-progress>i{position:absolute;top:-2px;bottom:-2px;left:50%;width:2px;background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}.market-movement-timeline>div:last-child{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.52rem}.market-movement-timeline strong{color:var(--text-secondary);font-size:.55rem}.market-movement-history-item{gap:7px;padding:10px 12px;background:var(--surface)}.market-movement-history-item>header{grid-template-columns:auto minmax(0,1fr) auto}.market-movement-history-item .market-movement-icon{width:32px;height:32px;border-radius:8px}.market-movement-history-item .market-movement-icon svg{width:16px;height:16px}.market-movement-history-item>header time{color:var(--muted);font-size:.53rem;font-variant-numeric:tabular-nums;white-space:nowrap}.market-movement-history-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:42px}.market-movement-history-meta .market-movement-cargo{padding-left:0}.market-movement-history-meta .market-movement-cargo>span{padding:3px 7px;background:var(--surface-subtle)}.market-movement-completed-label{color:var(--success);font-size:.53rem;font-weight:800}.market-history-pagination{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr) minmax(90px,auto);align-items:center;gap:10px;margin-top:3px}.market-history-pagination>span{color:var(--muted);font-size:.57rem;text-align:center}.market-history-pagination>span strong{color:var(--text)}.market-history-pagination button{min-height:32px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.57rem}.market-history-pagination button:last-child{justify-self:end}.market-history-pagination button:disabled{opacity:.45}.market-empty-hint{padding:14px;border:1px dashed var(--border);border-radius:8px;text-align:center}.clan-panel{overflow:visible}.clan-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid var(--border)}.clan-heading h2{margin:2px 0}.clan-heading>div>span{color:var(--muted);font-size:.63rem}.clan-message-bubble{position:relative;width:42px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--primary-border);border-radius:50% 50% 50% 12%;background:var(--primary-soft);color:var(--primary)}.clan-message-bubble:after{position:absolute;right:2px;bottom:-4px;width:9px;height:9px;border-right:1px solid var(--primary-border);border-bottom:1px solid var(--primary-border);background:var(--primary-soft);content:"";transform:skew(16deg) rotate(28deg)}.clan-message-bubble>svg{width:19px;height:19px}.clan-message-bubble>span{position:absolute;z-index:30;right:0;bottom:calc(100% + 11px);width:min(310px,72vw);display:grid;gap:5px;padding:12px 14px;border:1px solid var(--primary-border);border-radius:10px 10px 2px;background:var(--surface);box-shadow:var(--shadow-lg);color:var(--text-secondary);font-size:.67rem;line-height:1.5;text-align:left;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity .14s ease,transform .14s ease}.clan-message-bubble>span b{color:var(--primary);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.clan-message-bubble:hover>span,.clan-message-bubble:focus-visible>span{opacity:1;transform:translateY(0)}.clan-settings,.clan-create-form{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(120px,1fr) 110px 110px;align-items:end;gap:10px;margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.clan-settings label,.clan-create-form label{min-width:0;display:grid;gap:5px;color:var(--text-secondary);font-size:.63rem;font-weight:700}.clan-settings input,.clan-settings select,.clan-settings textarea,.clan-create-form input,.clan-create-form select,.clan-create-form textarea,.clan-recruitment input{width:100%;min-height:39px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.clan-settings input[type=color],.clan-create-form input[type=color]{padding:4px;cursor:pointer}.clan-message-field{grid-column:1/-1;position:relative}.clan-message-field textarea{min-height:76px;resize:vertical}.clan-message-field>small{position:absolute;right:8px;bottom:7px;color:var(--muted);font-size:.55rem}.clan-settings>button,.clan-create-form>button{justify-self:end;min-height:39px;padding:8px 14px;border:1px solid var(--primary);background:var(--primary);color:var(--primary-contrast);font-weight:750}.clan-recruitment{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.clan-recruitment h3,.clan-member-list h3{margin:2px 0 0}.clan-recruitment>form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.clan-recruitment>form button,.clan-recruit-results button,.clan-invitations button{padding:7px 11px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.62rem;font-weight:750}.clan-recruit-results{display:grid;gap:7px}.clan-recruit-results article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.clan-recruit-results article>span{color:var(--muted);font-size:.62rem}.clan-member-list{display:grid;gap:7px;margin-top:18px}.clan-member-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.clan-member-list article>span{color:var(--muted);font-size:.64rem}.clan-member-list select{min-width:110px;min-height:34px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.clan-member-list .danger-action{padding:7px 9px;border:1px solid color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:.58rem;font-weight:750}.clan-invitations{display:grid;gap:8px;margin:14px 0;padding:13px;border:1px solid var(--primary-border);border-radius:10px;background:var(--primary-soft)}.clan-invitations article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;border-radius:8px;background:var(--surface)}.clan-invitations article>div{display:grid;gap:2px}.clan-invitations small{color:var(--muted);font-size:.58rem}.clan-invitations .secondary-action{border-color:var(--border);background:var(--surface-subtle);color:var(--text-secondary)}.clan-create-form{grid-template-columns:100px minmax(160px,1.5fr) minmax(110px,1fr) 110px 110px}.clan-create-preview{grid-column:1/-2;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.61rem}.clan-page{width:min(1180px,100% - 38px);display:grid;gap:18px;margin:30px auto 42px}.clan-page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:5px 2px}.clan-page-heading h1{margin:4px 0 7px;font-size:clamp(2rem,3.5vw,3.2rem)}.clan-page-heading>div:first-child>p:last-child{max-width:700px;margin:0;color:var(--text-secondary);font-size:.72rem;line-height:1.6}.clan-access-status{min-width:220px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--warning) 9%,var(--surface));color:var(--warning)}.clan-access-status.ready{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 9%,var(--surface));color:var(--success)}.clan-access-status>svg{width:24px;height:24px}.clan-access-status>span{display:grid;gap:2px}.clan-access-status strong{font-size:.68rem}.clan-access-status small{color:var(--text-secondary);font-size:.55rem}.clan-dashboard{padding:22px}.clan-territory-grid,.clan-management-grid,.clan-onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}.clan-territory-card,.clan-treasury-card{min-height:150px;display:grid;align-content:start;gap:8px;padding:16px;border:1px solid var(--border);border-radius:11px;background:var(--surface-subtle)}.clan-territory-card h3,.clan-treasury-card h3{margin:3px 0 5px}.clan-territory-card>strong{color:var(--primary);font:750 1.15rem var(--font-display)}.clan-territory-card>span,.clan-territory-card>p{margin:0;color:var(--text-secondary);font-size:.64rem;line-height:1.5}.clan-territory-card>b{color:var(--success);font-size:.63rem}.clan-territory-card>button{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:5px;border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.clan-territory-card>button svg{width:16px;height:16px}.clan-treasury-list{display:grid;gap:6px}.clan-treasury-list>span{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:var(--surface)}.clan-treasury-list app-resource-icon{--resource-icon-size: 26px}.clan-treasury-list b{color:var(--text-secondary);font-size:.62rem}.clan-treasury-list strong{color:var(--copper);font-size:.72rem}.clan-treasury-list p{color:var(--muted);font-size:.62rem}.clan-management-grid .clan-settings{grid-template-columns:1fr 1fr;align-content:start;margin:0}.clan-management-grid .clan-settings .section-title,.clan-management-grid .clan-settings>label:first-of-type,.clan-management-grid .clan-settings .clan-message-field{grid-column:1/-1}.clan-management-grid .clan-settings>button{grid-column:1/-1}.clan-management-grid .clan-recruitment{align-content:start;margin:0;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.clan-recruitment>div>small{color:var(--muted);font-size:.58rem}.clan-locked-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px}.clan-locked-panel>span,.clan-join-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--primary-soft);color:var(--primary)}.clan-locked-panel>span svg,.clan-join-icon svg{width:28px;height:28px}.clan-locked-panel h2{margin:4px 0 6px}.clan-locked-panel p{margin:0;color:var(--text-secondary);font-size:.68rem;line-height:1.55}.clan-locked-panel>button{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.clan-onboarding-grid{margin-top:0;align-items:start}.clan-onboarding-grid .clan-create-form{grid-template-columns:1fr 1fr;margin:0}.clan-onboarding-grid .clan-create-form .section-title,.clan-onboarding-grid .clan-create-form>label:nth-of-type(2),.clan-onboarding-grid .clan-message-field{grid-column:1/-1}.clan-onboarding-grid .clan-create-preview{grid-column:1}.clan-join-form{display:grid;justify-items:start;gap:10px;padding:28px}.clan-join-form h2{margin:2px 0}.clan-join-form>p:not(.eyebrow){margin:0 0 8px;color:var(--text-secondary);font-size:.68rem;line-height:1.6}.clan-join-form label{width:100%;display:grid;gap:5px;color:var(--text-secondary);font-size:.63rem;font-weight:700}.clan-join-form input{width:100%;min-height:42px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-transform:uppercase}.clan-join-form>button{display:inline-flex;align-items:center;gap:6px}.clan-join-form>button[type=submit]{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.clan-join-form>button svg{width:16px;height:16px}.clan-portal-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px}.clan-portal-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary)}.clan-portal-card>span svg{width:21px;height:21px}.clan-portal-card h2{margin:3px 0}.clan-portal-card p:last-child{margin:0;color:var(--text-secondary);font-size:.63rem}.clan-portal-card>button{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.operation-paused{color:var(--warning)!important;font-weight:750}.army-strip{display:flex;flex-wrap:wrap;gap:8px}.army-strip article{min-width:140px;min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:2px;overflow:hidden;padding:8px 7px 8px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.army-unit-copy{min-width:0;align-self:stretch;display:grid;align-content:space-between;gap:5px;padding:4px 0}.army-unit-icon{width:62px;height:62px;align-self:end;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(31,41,55,.2));pointer-events:none}.army-strip strong{color:var(--copper);font-size:1.45rem}.army-strip span{color:var(--soft);font-size:.67rem}.troop-upkeep-breakdown{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.troop-upkeep-breakdown>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.troop-upkeep-breakdown>header h3{margin:3px 0 0;color:var(--text);font:700 1rem/1.1 var(--font-display)}.troop-upkeep-breakdown>header>small{max-width:360px;color:var(--text-muted);font-size:.56rem;line-height:1.4;text-align:right}.troop-upkeep-breakdown>div{display:grid;gap:6px}.troop-upkeep-row{min-width:0;display:grid;grid-template-columns:minmax(155px,.85fr) repeat(2,minmax(170px,1fr));align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.troop-upkeep-identity{min-width:0;display:flex;align-items:center;gap:8px}.troop-upkeep-identity>img{width:38px;height:38px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(31,41,55,.18))}.troop-upkeep-identity>span{min-width:0;display:grid;gap:2px}.troop-upkeep-identity strong{overflow:hidden;color:var(--text);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.troop-upkeep-identity small,.troop-upkeep-values>small{color:var(--text-muted);font-size:.47rem;font-weight:800;letter-spacing:.05em}.troop-upkeep-values{min-width:0;display:grid;gap:4px}.troop-upkeep-values>span{display:flex;flex-wrap:wrap;gap:4px}.troop-upkeep-values>span>span,.building-training-upkeep>span>span{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--resource-color) 32%,var(--border));border-radius:5px;background:color-mix(in srgb,var(--resource-color) 7%,var(--surface));color:var(--text-secondary);font-size:.49rem;white-space:nowrap}.troop-upkeep-values app-resource-icon,.building-training-upkeep app-resource-icon{color:var(--resource-color)}.troop-upkeep-values b,.building-training-upkeep b{color:#a94c38;font-size:inherit}.troop-upkeep-values em{color:var(--text-muted);font-size:.52rem;font-style:normal}.troop-upkeep-values.total{padding-left:10px;border-left:1px solid var(--line)}.mission-map-callout{width:min(1180px,100%);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:30px auto 0;padding:22px 24px;border:1px solid var(--primary-border);border-radius:12px;background:linear-gradient(135deg,var(--primary-soft),var(--surface));box-shadow:var(--shadow-sm)}.mission-map-icon{width:48px;height:48px;display:grid;flex:0 0 auto;place-items:center;border-radius:12px;background:var(--primary);color:var(--primary-contrast)}.mission-map-icon svg{width:24px;height:24px}.mission-map-callout>div{min-width:0}.mission-map-callout h2{margin:5px 0 3px;font-size:1.55rem}.mission-map-callout p:last-child{margin:0;color:var(--text-secondary);font-size:.66rem}.mission-map-callout>.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.mission-map-callout>.primary svg{width:17px;height:17px}.section-title .section-link{min-height:34px;padding:6px 9px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.58rem;font-weight:750}.section-title .section-link:hover{border-color:var(--primary)}.movement-mission-switch legend{margin-bottom:8px;color:var(--text-secondary);font-size:.76rem;font-weight:700}.movement-mission-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.movement-mission-switch label:has(input:focus-visible)>span{box-shadow:var(--focus)}.clear-movement{min-height:30px;padding:5px 8px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:.56rem;font-weight:750}.clear-movement:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.movement-unit-list{display:grid;gap:7px}.movement-unit-list article{min-width:0;display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);transition:border-color .16s ease,background-color .16s ease}.movement-unit-list article.selected{border-color:var(--primary-border);background:color-mix(in srgb,var(--primary-soft) 72%,var(--surface))}.movement-unit-copy{min-width:0;display:grid;gap:2px}.movement-unit-copy strong,.movement-unit-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-unit-copy strong{color:var(--text);font-size:.67rem}.movement-unit-copy small{color:var(--text-muted);font-size:.56rem}.unit-quantity-control{display:flex;align-items:center;gap:4px}.unit-quantity-control button{width:31px;height:31px;display:grid;place-items:center;padding:0;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font-size:.78rem;font-weight:800}.unit-quantity-control button:hover{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.unit-quantity-control input{width:68px;min-height:31px;height:31px;padding:4px 5px;text-align:center}.unit-quantity-control .quantity-max{width:auto;padding:0 7px;color:var(--primary);font-size:.52rem}.movement-submit-summary .primary{display:inline-flex;align-items:center;justify-content:center;gap:7px}.movement-submit-summary .primary svg{width:16px;height:16px}.movement-dashboard .buildings-panel{min-width:0}.movement-journey-list{display:grid;gap:10px}.movement-journey{--journey-color: var(--primary);display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.movement-journey.returning{--journey-color: var(--warning)}.movement-journey>header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.movement-kind{padding:5px 7px;border:1px solid color-mix(in srgb,var(--journey-color) 34%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--journey-color) 10%,var(--surface));color:var(--journey-color);font-size:.52rem;font-weight:850;text-transform:uppercase}.movement-journey>header>div{min-width:0;display:grid;gap:2px}.movement-journey>header strong,.movement-journey>header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movement-journey>header strong{color:var(--text);font-size:.68rem}.movement-journey>header small{color:var(--text-muted);font-size:.56rem}.movement-journey>header>b{color:var(--journey-color);font-size:.72rem}.movement-troops{display:flex;flex-wrap:wrap;gap:5px}.movement-troops span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);font-size:.54rem}.movement-troops strong{color:var(--text);font-size:.62rem}.journey-progress,.map-journey-progress{position:relative;height:7px;overflow:visible;border-radius:999px;background:var(--background-muted)}.journey-progress>span,.map-journey-progress>span{height:100%;display:block;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--journey-color, var(--primary)) 72%,var(--primary)),var(--journey-color, var(--primary)));transition:width .25s linear}.journey-progress>i,.map-journey-progress>i{position:absolute;top:-3px;bottom:-3px;left:50%;width:2px;border-radius:99px;background:var(--danger);box-shadow:0 0 0 2px var(--surface);transform:translate(-1px)}.movement-journey>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px}.movement-journey>footer small{color:var(--text-muted);font-size:.55rem}.movement-journey>footer button{flex:0 0 auto;min-height:31px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--danger) 36%,var(--border));background:var(--danger-soft);color:var(--danger);font-size:.55rem;font-weight:800}.movement-journey>footer button:hover{border-color:var(--danger)}.recall-locked{color:var(--danger)!important;font-weight:700}.returning-label{color:var(--warning)!important;font-weight:700}.movement-empty-state{display:grid;justify-items:start;padding:18px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-subtle)}.movement-empty-state strong{color:var(--text);font:700 1.05rem var(--font-display)}.movement-empty-state p{margin:4px 0 0;color:var(--text-muted);font-size:.61rem}.mission-history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}.mission-history-list>article{min-width:0;display:grid;gap:12px;padding:15px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.mission-history-list>article>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.mission-history-list header>div{min-width:0;display:grid;gap:3px}.mission-history-list header strong,.mission-history-list header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-history-list header strong{color:var(--text);font-size:.68rem}.mission-history-list header small,.mission-history-list footer small{color:var(--text-muted);font-size:.56rem}.mission-history-list header>b{color:var(--text-secondary);font-size:.62rem;white-space:nowrap}.mission-history-list footer{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:10px}.mission-history-list footer button{min-height:31px;padding:5px 9px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.55rem;font-weight:800}.combat-report-table-shell{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.combat-report-table{width:100%;min-width:790px;border-collapse:collapse}.combat-report-table th{padding:9px 12px;border-bottom:1px solid var(--border);background:var(--background-muted);color:var(--text-muted);font-size:.49rem;font-weight:800;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.combat-report-table th:nth-last-child(-n+3){text-align:right}.combat-report-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.combat-report-row:not(:last-child) td{border-bottom:1px solid var(--line)}.combat-report-row:hover,.combat-report-row:focus-visible{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary);outline:0}.combat-report-row td{height:58px;padding:8px 12px;color:var(--text-secondary);font-size:.58rem;vertical-align:middle}.combat-report-row time{display:grid;gap:2px;color:var(--text-secondary);font-size:.57rem;font-weight:700;white-space:nowrap}.combat-report-row time small{color:var(--text-muted);font-size:.49rem;font-weight:500}.report-route-cell{min-width:180px}.report-route-cell strong,.report-route-cell small{display:block;overflow:hidden;max-width:290px;text-overflow:ellipsis;white-space:nowrap}.report-route-cell strong{color:var(--text);font-size:.61rem}.report-route-cell small{margin-top:3px;color:var(--primary);font-size:.49rem;font-weight:700}.report-outcome{display:inline-flex;padding:5px 7px;border-radius:999px;background:var(--background-muted);color:var(--text-secondary);font-size:.52rem;font-weight:800;white-space:nowrap}.report-outcome.victory{background:var(--success-soft);color:var(--success)}.report-outcome.defeat{background:var(--danger-soft);color:var(--danger)}.report-number-cell{color:var(--text)!important;font-size:.65rem!important;font-weight:800;text-align:right}.report-number-cell.losses{color:var(--danger)!important}.report-number-cell.loot{color:var(--success)!important}.combat-report-empty td{padding:24px;text-align:center}.combat-report-empty strong,.combat-report-empty span{display:block}.combat-report-empty strong{color:var(--text);font:700 1.05rem var(--font-display)}.combat-report-empty span{margin-top:4px;color:var(--text-muted);font-size:.58rem}.combat-report-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.combat-report-totals>span{position:relative;display:grid;gap:4px;overflow:hidden;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.combat-report-totals small{color:var(--text-muted);font-size:.51rem}.combat-report-totals strong{color:var(--text);font-size:.83rem}.combat-armies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.combat-army{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-sm)}.combat-army.winner{border-color:color-mix(in srgb,var(--success) 68%,var(--border));background:color-mix(in srgb,var(--success) 2.5%,var(--surface));box-shadow:0 7px 20px color-mix(in srgb,var(--success) 10%,transparent)}.combat-army.loser{border-color:color-mix(in srgb,var(--danger) 58%,var(--border));background:color-mix(in srgb,var(--danger) 2.5%,var(--surface));box-shadow:0 7px 20px color-mix(in srgb,var(--danger) 9%,transparent)}.combat-army>header{min-height:55px;display:flex;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid var(--border);background:var(--background-muted)}.combat-army.attacker>header{background:color-mix(in srgb,var(--danger) 7%,var(--background-muted))}.combat-army.defender>header{background:color-mix(in srgb,var(--primary) 7%,var(--background-muted))}.army-side-icon{width:32px;height:32px;display:grid;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.army-side-icon svg{width:17px;height:17px}.combat-army>header>div{min-width:0;display:grid;flex:1;gap:2px}.combat-army>header small{color:var(--text-muted);font-size:.49rem;font-weight:850;letter-spacing:.11em}.combat-army>header strong{overflow:hidden;color:var(--text);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.combat-army>header em{padding:3px 6px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:.48rem;font-style:normal;font-weight:850;text-transform:uppercase}.combat-army.winner>header{border-color:#047857;background:linear-gradient(135deg,#047857,#059669 72%,#10b981)}.combat-army.loser>header{border-color:#be123c;background:linear-gradient(135deg,#be123c,#e11d48 72%,#f43f5e)}.combat-army.winner>header small,.combat-army.loser>header small{color:#ffffffc2}.combat-army.winner>header strong,.combat-army.loser>header strong{color:#fff}.combat-army.winner>header .army-side-icon,.combat-army.loser>header .army-side-icon{border:1px solid rgba(255,255,255,.28);background:#ffffff29;box-shadow:inset 0 1px #ffffff29;color:#fff}.combat-army.winner>header em,.combat-army.loser>header em{border:1px solid rgba(255,255,255,.4);background:#fff;box-shadow:0 2px 7px #0f172a24}.combat-army.winner>header em{color:#047857}.combat-army.loser>header em{color:#be123c}.combat-unit-lines{display:grid}.combat-unit-lines>article{min-width:0;display:grid;grid-template-columns:minmax(105px,1fr) minmax(170px,1.4fr);align-items:center;gap:8px;padding:8px 9px;border-bottom:1px solid var(--line)}.combat-unit-lines>article:nth-child(2n){background:color-mix(in srgb,var(--background-muted) 45%,transparent)}.combat-unit-lines>article:last-child{border-bottom:0}.combat-unit-identity{min-width:0;display:flex;align-items:center;gap:7px}.combat-unit-identity>span,.combat-unit-identity>img{width:29px;height:29px;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--background-muted);color:var(--text-secondary);font-size:.65rem;font-weight:900;object-fit:cover}.combat-unit-identity strong{overflow:hidden;color:var(--text-secondary);font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.combat-unit-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.combat-unit-stats>span{min-width:0;display:grid;justify-items:end;gap:1px;padding:4px 5px;border-radius:5px;background:var(--background-muted)}.combat-unit-stats small{overflow:hidden;max-width:100%;color:var(--text-muted);font-size:.43rem;text-overflow:ellipsis;white-space:nowrap}.combat-unit-stats strong{color:var(--text);font-size:.63rem}.combat-unit-stats .loss strong{color:var(--danger)}.combat-unit-stats .survivor strong{color:var(--success)}.combat-army-empty{margin:0;padding:16px 11px;color:var(--text-muted);font-size:.57rem;font-style:italic}.report-detail-groups{display:grid;gap:7px}.report-detail-groups p{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0}.report-detail-groups b{width:100%;color:var(--text-secondary);font-size:.55rem}.report-detail-groups span{padding:4px 6px;border-radius:5px;background:var(--background-muted);color:var(--text-secondary);font-size:.52rem}.report-loot{display:grid;gap:7px}.report-loot>b{color:var(--text);font:700 .88rem var(--font-display)}.report-loot>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px}.report-loot>div>span{min-width:0;display:flex;align-items:center;gap:7px;padding:7px;border:1px solid color-mix(in srgb,var(--resource-color) 28%,var(--border));background:color-mix(in srgb,var(--resource-color) 8%,var(--surface))}.report-loot>div>span>span{min-width:0;display:grid;gap:1px;padding:0;background:transparent}.report-loot small,.report-loot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-loot small{color:var(--text-muted);font-size:.48rem;text-transform:uppercase}.report-loot strong{color:var(--text);font-size:.7rem}.mission-interactive{position:relative;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.mission-interactive:hover,.mission-interactive:focus-visible{z-index:20;border-color:var(--primary-border);box-shadow:var(--shadow-md);outline:0;transform:translateY(-1px)}.mission-quicklook{position:absolute;z-index:60;right:10px;bottom:calc(100% + 8px);width:min(330px,100vw - 42px);display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:linear-gradient(145deg,#0f172af7,#1e293bf5);box-shadow:0 15px 34px #0f172a4d;color:#f8fafc;opacity:0;pointer-events:none;transform:translateY(6px) scale(.97);transform-origin:80% 100%;transition:opacity .13s ease,transform .13s ease,visibility .13s ease;visibility:hidden}.mission-quicklook:after{position:absolute;top:100%;right:22px;width:10px;height:10px;background:#1e293b;content:"";transform:translateY(-5px) rotate(45deg)}.mission-quicklook strong{color:#fff;font-size:.65rem}.mission-quicklook span{color:#cbd5e1;font-size:.54rem}.mission-quicklook b{margin-top:3px;color:#a5b4fc;font-size:.51rem}.mission-quickloot{display:flex;flex-wrap:wrap;gap:4px;padding-top:3px}.mission-quickloot>span{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--resource-color) 34%,transparent);border-radius:5px;background:color-mix(in srgb,var(--resource-color) 13%,transparent)}.mission-quickloot app-resource-icon{color:var(--resource-color)}.mission-quickloot>span>b{margin:0;color:#fff;font-size:.48rem}.mission-interactive:hover .mission-quicklook,.mission-interactive:focus-visible .mission-quicklook{opacity:1;transform:none;visibility:visible}.mission-dialog-backdrop{position:fixed;z-index:1400;inset:0;height:100dvh;display:grid;place-items:center;overflow:hidden;padding:clamp(8px,2.5vmin,24px);background:#0f172a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mission-dialog{width:min(1040px,100%);max-height:min(880px,100%);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;overflow:hidden;padding:0;border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-lg)}.mission-dialog-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 18px 14px;border-bottom:1px solid var(--border);background:var(--surface);box-shadow:0 5px 14px #0f172a0a}.mission-dialog-header>div{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px}.mission-dialog-header .movement-kind{grid-row:1/4}.mission-dialog-header h2{overflow:hidden;margin:0;font-size:1.45rem;text-overflow:ellipsis;white-space:nowrap}.mission-dialog-header small{color:var(--text-muted);font-size:.59rem}.mission-dialog-header>button{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary)}.mission-dialog-header>button svg{width:17px;height:17px}.mission-dialog-body{min-height:0;display:grid;align-content:start;gap:13px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:13px 18px 18px;scrollbar-gutter:stable}.mission-dialog-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mission-dialog-meta>span{min-width:0;display:grid;gap:3px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.mission-dialog-meta small{color:var(--text-muted);font-size:.49rem;text-transform:uppercase}.mission-dialog-meta strong{overflow:hidden;color:var(--text);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.mission-dialog-progress{display:grid;gap:8px;padding:11px;border:1px solid var(--primary-border);border-radius:9px;background:var(--primary-soft);--journey-color: var(--primary)}.mission-dialog-progress>div:first-child{display:flex;justify-content:space-between;gap:14px;color:var(--text-secondary);font-size:.58rem}.mission-dialog-progress>div:first-child strong{color:var(--primary)}.mission-battle-result{display:grid;gap:11px}.mission-battle-result>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.combat-result-heading{padding:10px 12px;border:1px solid var(--border);border-left-width:4px;border-radius:10px;background:var(--surface-subtle)}.combat-result-heading.victory{border-color:color-mix(in srgb,var(--success) 36%,var(--border));border-left-color:var(--success);background:linear-gradient(90deg,var(--success-soft),color-mix(in srgb,var(--success) 2%,var(--surface)))}.combat-result-heading.defeat{border-color:color-mix(in srgb,var(--danger) 36%,var(--border));border-left-color:var(--danger);background:linear-gradient(90deg,var(--danger-soft),color-mix(in srgb,var(--danger) 2%,var(--surface)))}.combat-result-heading.victory h3{color:var(--success)}.combat-result-heading.defeat h3{color:var(--danger)}.combat-result-heading.victory .eyebrow{color:var(--success)}.combat-result-heading.defeat .eyebrow{color:var(--danger)}.mission-result-totals>span:nth-child(-n+2){border-color:color-mix(in srgb,var(--danger) 25%,var(--border));background:color-mix(in srgb,var(--danger-soft) 55%,var(--surface))}.mission-result-totals>span:nth-child(-n+2):before,.mission-result-totals>span:nth-child(3):before{position:absolute;inset:0 auto 0 0;width:3px;content:""}.mission-result-totals>span:nth-child(-n+2):before{background:var(--danger)}.mission-result-totals>span:nth-child(-n+2) strong{color:var(--danger)}.mission-result-totals>span:nth-child(3){border-color:color-mix(in srgb,var(--success) 25%,var(--border));background:color-mix(in srgb,var(--success-soft) 55%,var(--surface))}.mission-result-totals>span:nth-child(3):before{background:var(--success)}.mission-result-totals>span:nth-child(3) strong{color:var(--success)}.mission-battle-result>header h3,.mission-deployed-army h3{margin:2px 0 0;font-size:1.15rem}.mission-battle-result>header time{color:var(--text-muted);font-size:.55rem}.mission-deployed-army{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.mission-deployed-army>div:nth-child(2){display:flex;flex-wrap:wrap;gap:7px}.mission-deployed-army>div:nth-child(2)>span{min-width:105px;display:grid;gap:2px;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.mission-deployed-army b{color:var(--text);font-size:.75rem}.mission-deployed-army small,.mission-deployed-army>p{color:var(--text-muted);font-size:.54rem}.mission-deployed-army>p{margin:0;padding-top:9px;border-top:1px solid var(--line)}@media(max-width:760px){.combat-armies,.mission-dialog-armies{grid-template-columns:1fr}.combat-unit-lines>article{grid-template-columns:1fr}.mission-dialog-backdrop{align-items:stretch;padding:0}.mission-dialog{width:100%;max-height:100%;height:100%;border:0;border-radius:0}.mission-dialog-header{padding:13px 14px 11px}.mission-dialog-header h2{font-size:1.15rem;white-space:normal}.mission-dialog-body{padding:11px 14px 16px;scrollbar-gutter:auto}.mission-dialog-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-quicklook{display:none}}@media(max-height:700px)and (min-width:761px){.mission-dialog-backdrop{padding:8px}.mission-dialog{max-height:100%}.mission-dialog-header{padding:10px 14px 9px}.mission-dialog-header h2{font-size:1.2rem}.mission-dialog-body{gap:9px;padding:9px 14px 12px}.mission-dialog-meta>span{padding:7px 9px}.combat-army>header{min-height:48px;padding:7px 9px}.combat-unit-lines>article{padding:6px 8px}}.village-summary dl{margin:22px 0}.village-summary dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.72rem}.village-summary dt{color:var(--muted)}.village-summary dd{margin:0}.village-summary>p:last-child,.tile-detail>p{color:var(--soft);font-size:.7rem;line-height:1.6}.village-map-shell{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md)}.village-map-header{position:relative;z-index:20;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 20px;border-bottom:1px solid var(--border)}.village-map-header h2{margin:4px 0 0;font-size:1.75rem}.village-map-controls{display:flex;align-items:center;gap:8px}.village-map-tabs{display:flex;gap:6px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.village-map-tabs button{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:750}.village-map-tabs button svg{width:18px;height:18px}.village-map-tabs button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary);box-shadow:var(--shadow-sm)}.village-map-layout{display:grid;grid-template-columns:minmax(620px,1fr) 310px;min-height:724px}.village-map-stage{min-width:0;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#dfe7bd,#c8d497)}.village-map-ground{container-type:inline-size;position:relative;width:min(100%,680px);height:auto;aspect-ratio:1;overflow:hidden;border:1px solid rgba(83,111,50,.35);border-radius:18px;background:#b8d4a0 url(/village/resource-map.png) center/cover no-repeat;box-shadow:0 10px 30px #273a1b38}.village-map-stage:not(.center-mode) .village-map-ground[data-population-tier=town]{background-image:url(/village/resource-map-town.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-population-tier=city]{background-image:url(/village/resource-map-city.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-template-code=VILLAGE_DOMINANT_WHEAT]{background-image:url(/village/resource-map-wheat-dominant.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-template-code=VILLAGE_DOMINANT_MEAT]{background-image:url(/village/resource-map-meat-dominant.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-template-code=VILLAGE_DOMINANT_WOOD]{background-image:url(/village/resource-map-wood-dominant.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-template-code=VILLAGE_DOMINANT_IRON]{background-image:url(/village/resource-map-iron-dominant.png)}.village-map-stage:not(.center-mode) .village-map-ground[data-template-code=VILLAGE_DOMINANT_STONE]{background-image:url(/village/resource-map-stone-dominant.png)}.center-mode .village-map-ground{background:#a9cb7c url(/village/village-center.png) center/cover no-repeat}.center-mode .village-map-ground[data-population-tier=town]{background-image:url(/village/village-center-town.png)}.center-mode .village-map-ground[data-population-tier=city]{background-image:url(/village/village-center-city.png)}.village-layout-background{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.village-map-node{position:absolute;z-index:2;display:grid;place-items:center;align-content:center;gap:2px;padding:4px;color:#304126;text-align:center;transform:translate(-50%,-50%);transition:border-color .15s ease,box-shadow .15s ease,filter .15s ease,transform .15s ease}.village-click-hitbox{position:absolute;z-index:1;top:50%;left:50%;min-width:100%;min-height:100%;display:block;border-radius:12px;background:transparent;pointer-events:auto;transform:translate(-50%,-50%)}.resource-node{width:clamp(52px,11.5cqi,78px);height:clamp(52px,11.5cqi,78px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.resource-node:hover,.resource-node.selected{z-index:4;filter:brightness(1.08) saturate(1.08);transform:translate(-50%,-50%) scale(1.1)}.resource-node.selected:before{position:absolute;z-index:-1;right:8%;bottom:5%;left:8%;height:28%;border:2px solid rgba(255,248,219,.96);border-radius:50%;background:color-mix(in srgb,var(--resource-color) 24%,rgba(255,255,255,.52));box-shadow:0 0 0 4px color-mix(in srgb,var(--resource-color) 54%,transparent),0 5px 12px #26391a57;content:""}.resource-level-image{position:absolute;z-index:0;inset:-7%;width:114%;height:114%;object-fit:contain;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 6px 5px rgba(38,57,26,.34));pointer-events:none}.village-node-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--resource-color, #8b7355) 19%,white);color:color-mix(in srgb,var(--resource-color, #6d5f4c) 85%,#26321e)}.village-node-icon svg{width:18px;height:18px;stroke-width:2.2}.village-level-badge{position:absolute;z-index:3;right:-5px;bottom:-5px;width:clamp(21px,4cqi,27px);height:clamp(21px,4cqi,27px);display:grid;place-items:center;padding:0;border:2px solid rgba(255,255,255,.95);border-radius:50%;background:linear-gradient(145deg,#3c4f2e,#26381f);box-shadow:0 2px 6px #1923136b;color:#fffdf4;font:800 clamp(.58rem,1.55cqi,.72rem)/1 var(--font-body);pointer-events:none}.village-construction-status{position:absolute;z-index:12;bottom:calc(100% + 7px);left:50%;width:112px;display:grid;gap:5px;padding:7px 8px;border:1px solid rgba(255,244,205,.58);border-radius:9px;background:linear-gradient(145deg,#42301df7,#634321f2);box-shadow:0 7px 18px #2d1f1259;color:#fff8df;pointer-events:none;text-align:left;transform:translate(-50%)}.village-construction-status>span:first-child{display:flex;align-items:center;gap:4px;white-space:nowrap}.village-construction-status svg{width:13px;height:13px;flex:0 0 auto;color:#efbd65}.village-construction-status b{font-size:.52rem}.village-construction-status small{margin-left:auto;color:#f4d79f;font-size:.48rem;font-weight:750}.village-construction-progress{height:4px;overflow:hidden;border-radius:99px;background:#ffffff2e}.village-construction-progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#e49b38,#f2c76f);transition:width .25s linear}.under-construction:not(.tooltip-below) .village-node-tooltip{bottom:calc(100% + 54px)}.tooltip-align-start .village-construction-status{left:0;transform:none}.tooltip-align-end .village-construction-status{right:0;left:auto;transform:none}.building-node.under-construction:after{position:absolute;z-index:1;inset:10% 5% 12%;border-radius:50%;background:repeating-linear-gradient(-45deg,#efbd6517 0 5px,#5f3e1e1f 5px 10px);content:"";pointer-events:none}.building-node{width:clamp(40px,8.5cqi,58px);height:clamp(40px,8.5cqi,58px);border:3px dashed rgba(113,78,42,.68);border-radius:50%;background:#fbedc4c7;color:#6f512f;box-shadow:0 3px 9px #3d2b1640,inset 0 0 0 3px #ffffff5c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.building-node:hover,.building-node.selected{z-index:5;border-color:#fff4c8;box-shadow:0 0 0 4px #915d2c94,0 6px 14px #3d2b1657;transform:translate(-50%,-50%) scale(1.08)}.building-node .village-node-icon{width:27px;height:27px;background:#74523024;color:#855b38}.building-node.built{width:clamp(52px,12cqi,82px);height:clamp(68px,16cqi,109px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(-50%,-76%);transform-origin:50% 76%}.building-node.built .village-click-hitbox{top:76%}.building-node.built:before{position:absolute;z-index:0;inset:0;background-image:url(/village/building-sprites-v3.png);background-repeat:no-repeat;background-position:var(--sprite-x, 0%) var(--sprite-y, 0%);background-size:400% 200%;content:"";filter:brightness(1.18) saturate(1.06) contrast(1.02) drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 7px 5px rgba(43,31,17,.35))}.building-node.built.has-level-image:before{display:none}.building-level-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 7px 5px rgba(43,31,17,.35))}.building-node.built .village-node-icon{display:none}.building-node.built .village-level-badge{right:-3px;bottom:7%;background:linear-gradient(145deg,#6f4b2d,#44301f)}.building-node.built:hover,.building-node.built.selected{transform:translate(-50%,-76%) scale(1.05)}.building-node.built:hover:before,.building-node.built.selected:before{filter:brightness(1.24) saturate(1.09) contrast(1.04) drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 8px 6px rgba(43,31,17,.42))}.building-node[data-building-code=BUILDING_TOWN_HALL]{--sprite-x: 0%;--sprite-y: 0%}.building-node[data-building-code=BUILDING_WAREHOUSE]{--sprite-x: 33.333%;--sprite-y: 0%}.building-node[data-building-code=BUILDING_BARRACKS]{--sprite-x: 66.667%;--sprite-y: 0%}.building-node[data-building-code=BUILDING_ACADEMY]{--sprite-x: 100%;--sprite-y: 0%}.building-node[data-building-code=BUILDING_MARKET]{--sprite-x: 0%;--sprite-y: 100%}.building-node[data-building-code=BUILDING_HOSPITAL]{--sprite-x: 33.333%;--sprite-y: 100%}.building-node[data-building-code=BUILDING_WALL]{--sprite-x: 66.667%;--sprite-y: 100%}.village-core{position:absolute;z-index:3;top:49%;left:48.5%;width:clamp(78px,16.5cqi,112px);height:clamp(78px,16.5cqi,112px);display:grid;place-items:center;align-content:center;gap:5px;padding:13px;border:3px solid rgba(126,77,38,.54);border-radius:50%;background:#f5e2b9e6;color:#56391f;box-shadow:0 7px 17px #4e34184d,inset 0 0 0 4px #ffffff47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transform:translate(-50%,-50%);transition:border-color .15s ease,transform .15s ease}.central-plaza{top:47.5%;left:50%}.village-core:hover{border-color:#fff0c2;transform:translate(-50%,-50%) scale(1.04)}.village-core svg{position:relative;z-index:2;width:38px;height:38px;pointer-events:none}.village-node-tooltip{position:absolute;z-index:20;bottom:calc(100% + 9px);left:50%;width:max-content;max-width:min(168px,42cqi);display:grid;gap:2px;padding:7px 9px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:linear-gradient(145deg,#1e291ef5,#33412af0);box-shadow:0 9px 24px #18221457;color:#fffdf4;opacity:0;pointer-events:none;text-align:left;text-transform:none;transform:translate(-50%,6px) scale(.96);transform-origin:50% 100%;transition:opacity .13s ease,transform .13s ease,visibility .13s ease;visibility:hidden;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.village-node-tooltip:after{position:absolute;top:100%;left:50%;width:9px;height:9px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);background:#33412a;content:"";transform:translate(-50%,-5px) rotate(45deg)}.village-node-tooltip strong{overflow:hidden;max-width:100%;color:#fffdf4;font:700 .68rem/1.15 var(--font-display);text-overflow:ellipsis}.village-node-tooltip small{overflow:hidden;max-width:100%;color:#dce8ce;font:650 .53rem/1.2 var(--font-body);text-overflow:ellipsis}.village-map-node:hover .village-node-tooltip,.village-map-node:focus-visible .village-node-tooltip,.village-core:hover .village-node-tooltip,.village-core:focus-visible .village-node-tooltip{opacity:1;transform:translate(-50%) scale(1);visibility:visible}.tooltip-below .village-node-tooltip{top:calc(100% + 9px);bottom:auto;transform-origin:50% 0}.tooltip-below .village-node-tooltip:after{top:auto;bottom:100%;border:0;border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3);transform:translate(-50%,5px) rotate(45deg)}.tooltip-align-start .village-node-tooltip{left:0;transform:translateY(6px) scale(.96)}.tooltip-align-end .village-node-tooltip{right:0;left:auto;transform:translateY(6px) scale(.96)}.tooltip-align-start:hover .village-node-tooltip,.tooltip-align-start:focus-visible .village-node-tooltip{transform:translate(0) scale(1)}.tooltip-align-end:hover .village-node-tooltip,.tooltip-align-end:focus-visible .village-node-tooltip{transform:translate(0) scale(1)}.tooltip-align-start .village-node-tooltip:after{left:24px}.tooltip-align-end .village-node-tooltip:after{right:24px;left:auto;transform:translate(50%,-5px) rotate(45deg)}.tooltip-below.tooltip-align-end .village-node-tooltip:after{transform:translate(50%,5px) rotate(45deg)}.village-map-inspector{min-width:0;display:flex;flex-direction:column;padding:28px 24px 20px;border-left:1px solid var(--border);background:var(--surface-raised)}.village-map-inspector h3{margin:5px 0 6px;font:700 2rem/1 var(--font-display)}.village-map-inspector>p:not(.eyebrow){color:var(--text-secondary);font-size:.7rem}.inspector-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;background:var(--primary-soft);color:var(--primary)}.inspector-icon.resource{background:color-mix(in srgb,var(--resource-color) 16%,var(--surface));color:var(--resource-color)}.inspector-icon.resource-preview{width:126px;height:100px;margin:-6px 0 10px;border-radius:16px;background:color-mix(in srgb,var(--resource-color) 7%,var(--surface))}.inspector-icon.resource-preview img{filter:drop-shadow(0 7px 7px color-mix(in srgb,var(--resource-color) 28%,transparent))}.inspector-icon svg{width:27px;height:27px}.inspector-icon.has-image{overflow:hidden;padding:0;background:var(--surface)}.inspector-icon.has-image img{width:100%;height:100%;object-fit:contain}.unit-list-icon{width:38px;height:38px;flex:0 0 auto;object-fit:cover;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.village-map-inspector dl{margin:21px 0}.village-map-inspector dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.67rem}.village-map-inspector dt{color:var(--text-muted)}.village-map-inspector dd{margin:0;color:var(--text);font-weight:750}.village-map-inspector .resource-consumption dd{color:#a94c38}.upgrade-preview{display:grid;gap:13px;margin:14px 0 9px;padding:14px;border:1px solid var(--primary-border);border-radius:11px;background:linear-gradient(145deg,var(--primary-soft),var(--surface))}.upgrade-preview.unaffordable{border-color:color-mix(in srgb,#b95f4b 46%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,#b95f4b 8%,var(--surface)),var(--surface))}.upgrade-preview>header{display:flex;align-items:start;justify-content:space-between;gap:8px}.upgrade-preview>header h4{margin:3px 0 0;font:700 1.08rem/1 var(--font-display)}.affordability-status{display:inline-flex;align-items:center;gap:4px;padding:5px 6px;border-radius:999px;font-size:.51rem;font-weight:800;white-space:nowrap}.affordability-status svg{width:13px;height:13px}.affordability-status.affordable{background:color-mix(in srgb,var(--forest-700) 12%,var(--surface));color:var(--forest-700)}.affordability-status.missing{background:color-mix(in srgb,#b95f4b 12%,var(--surface));color:#a74736}.upgrade-cost-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.upgrade-cost-list article{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:3px 5px;padding:7px 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.upgrade-cost-list article.missing{border-color:color-mix(in srgb,#b95f4b 45%,var(--border));background:color-mix(in srgb,#b95f4b 7%,var(--surface))}.upgrade-cost-list app-resource-icon{grid-row:1/span 2;align-self:center}.upgrade-cost-list article>span{min-width:0;display:grid}.upgrade-cost-list small{overflow:hidden;color:var(--text-muted);font-size:.45rem;text-overflow:ellipsis;white-space:nowrap}.upgrade-cost-list strong{font-size:.67rem}.upgrade-cost-list em{grid-column:1/-1;color:var(--text-muted);font-size:.46rem;font-style:normal;white-space:nowrap}.upgrade-cost-list article.missing em{color:#a74736;font-weight:700}.resource-storage-warning{display:flex;align-items:flex-start;gap:7px;margin:8px 0 0!important;padding:9px 10px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border));border-radius:8px;color:color-mix(in srgb,var(--warning) 76%,var(--text));background:var(--warning-soft);font-size:.58rem!important;font-weight:700;line-height:1.4}.resource-storage-warning svg{width:16px;height:16px;flex:0 0 auto;margin-top:1px}.upgrade-benefits{display:grid;gap:8px;padding-top:11px;border-top:1px solid var(--border)}.upgrade-benefits-title{display:flex;align-items:center;gap:8px}.upgrade-benefits-title>svg{width:20px;height:20px;color:var(--primary)}.upgrade-benefits-title>span{display:grid;gap:1px}.upgrade-benefits-title small{color:var(--text-muted);font-size:.48rem;font-weight:800;letter-spacing:.09em}.upgrade-benefits-title strong{font:700 .82rem/1 var(--font-display)}.upgrade-benefits ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.upgrade-benefits li{position:relative;padding-left:13px;color:var(--text-secondary);font-size:.59rem;line-height:1.35}.upgrade-benefits li:before{position:absolute;top:.42em;left:1px;width:5px;height:5px;border-radius:50%;background:var(--primary);content:""}.upgrade-duration{display:flex;align-items:center;gap:5px;margin:0!important;color:var(--text-muted)!important;font-size:.55rem!important}.upgrade-duration svg{width:14px;height:14px}.upgrade-duration strong{color:var(--text-secondary)}.builder-allocation{display:grid;gap:9px;padding-top:11px;border-top:1px solid var(--border)}.builder-allocation.standalone{margin-top:14px;padding:11px;border:1px solid var(--primary-border);border-radius:9px;background:var(--primary-soft)}.builder-allocation>div{display:flex;align-items:end;justify-content:space-between;gap:12px}.builder-allocation>div>span{display:grid;gap:2px}.builder-allocation>div>span small{color:var(--text-muted);font-size:.48rem;font-weight:800;letter-spacing:.08em}.builder-allocation>div>span strong{color:var(--text);font-size:.64rem}.builder-allocation label{width:76px;display:grid;gap:3px;color:var(--text-muted);font-size:.5rem}.builder-allocation input{min-height:34px;padding:5px 7px;text-align:center}.inspector-construction{display:grid;gap:10px;margin:15px 0 8px;padding:13px;border:1px solid color-mix(in srgb,var(--warning) 44%,var(--border));border-radius:10px;background:var(--warning-soft)}.inspector-construction>div:first-child{display:flex;align-items:center;gap:9px}.inspector-construction>div:first-child>svg{width:21px;height:21px;color:var(--warning)}.inspector-construction>div:first-child>span{display:grid;gap:2px}.inspector-construction small{color:var(--text-muted);font-size:.48rem;font-weight:800;letter-spacing:.08em}.inspector-construction strong{font-size:.64rem}.inspector-construction>p{margin:0;color:var(--text-secondary);font-size:.58rem;line-height:1.45}.inspector-construction-progress{height:6px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--warning) 16%,var(--surface))}.inspector-construction-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 72%,#b76524),var(--warning));transition:width .25s linear}.inspector-construction button{min-height:34px;border:1px solid color-mix(in srgb,var(--warning) 38%,var(--border));background:var(--surface);color:var(--text-secondary);font-size:.56rem;font-weight:750}.inspector-construction button:hover{border-color:var(--warning);color:var(--text)}.inspector-action{width:100%;min-height:43px;margin-top:5px}.available-building-list{display:grid;gap:7px;margin-top:16px}.available-building-list button{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);text-align:left}.available-building-list button:hover{border-color:var(--primary-border);background:var(--primary-soft)}.available-building-list button svg{flex:0 0 auto;width:18px;height:18px;color:var(--primary)}.available-building-list button span{min-width:0;display:grid}.available-building-list button strong{font-size:.64rem}.available-building-list button small{color:var(--text-muted);font-size:.55rem}.available-building-list button.unaffordable{border-color:color-mix(in srgb,#b95f4b 35%,var(--border))}.available-building-cost{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:5px}.available-building-cost>span{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border-radius:5px;background:var(--background-muted);color:var(--text-secondary);font-size:.48rem;font-weight:750}.available-building-cost>span.missing{background:color-mix(in srgb,#b95f4b 12%,var(--surface));color:#a74736}.max-level{display:block;padding:10px;border-radius:8px;background:var(--background-muted);color:var(--text-secondary);font-size:.63rem;text-align:center}.village-map-inspector footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.58rem}@media(min-width:1200px)and (min-height:700px){.game-content.village-content{height:calc(100dvh - 68px);max-width:none;padding:12px;overflow:hidden}.village-dashboard{min-height:0;height:100%;display:grid;grid-template-columns:clamp(212px,17vw,248px) minmax(0,1fr);gap:12px}.village-overview{min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md)}.village-overview .village-heading{flex:0 0 auto;display:flex;align-items:stretch;flex-direction:column;gap:15px;padding:20px 18px 17px;border-bottom:1px solid var(--border);background:linear-gradient(155deg,var(--surface),var(--surface-subtle))}.village-overview .village-heading h1{margin:8px 0 5px;font-size:clamp(2.25rem,3vw,3.3rem);line-height:.88;overflow-wrap:anywhere}.village-overview .village-vitals{display:grid;grid-template-columns:1fr 1fr;gap:7px}.village-overview .village-vitals div{min-width:0;padding:8px 9px}.village-overview .village-vitals div:last-child{grid-column:1/-1}.village-overview .village-heading button{width:100%}.village-overview .resource-strip{min-height:0;display:grid;flex:1 1 auto;grid-template-columns:1fr;grid-template-rows:repeat(5,minmax(0,1fr));gap:7px;margin:0;padding:12px;overflow:hidden}.village-overview .resource-strip article{min-width:0;min-height:0;gap:9px;padding:8px 9px;border-top-width:2px}.village-overview .resource-strip app-resource-icon{--resource-icon-size: 32px}.village-overview .resource-strip strong,.village-overview .resource-strip em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.village-overview .resource-strip strong{font-size:.76rem}.village-overview .resource-strip em{font-size:.55rem}.village-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.village-workspace>.village-map-shell{min-height:0;display:grid;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr)}.village-content .village-map-header{min-height:66px;padding:10px 14px}.village-content .village-map-header h2{font-size:1.55rem}.village-content .village-map-tabs button{min-height:38px;padding:7px 10px}.village-content .village-map-layout{min-height:0;height:100%;grid-template-columns:minmax(0,1fr) clamp(250px,20vw,300px)}.village-content .village-map-stage{min-height:0;padding:12px;container-type:size}.village-content .village-map-ground{width:min(100%,100cqh,680px);max-width:100%;height:auto;max-height:none}.village-content .village-map-inspector{min-height:0;padding:20px 19px 16px;overflow-x:hidden;overflow-y:auto}.village-content .village-map-inspector h3{font-size:1.75rem}.village-content .inspector-icon{margin-bottom:14px}.village-content .village-map-inspector dl{margin:15px 0}.village-content .village-map-inspector dl div{padding:8px 0}}.map-heading{min-height:78px;align-items:center}.map-heading h1{font-size:clamp(2.4rem,4vw,3.8rem)}.map-status{display:flex;align-items:center;justify-content:end;gap:7px}.map-status button{min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.24);background:#0f172aa3;color:#fff;box-shadow:0 4px 14px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-status button:hover{border-color:#ffffff80;background:#0f172acc}.map-movement-counter{min-height:34px;display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid rgba(245,158,11,.55);border-radius:7px;background:#0f172ab8;color:#f8fafc;font-size:.58rem;font-weight:700;box-shadow:0 4px 14px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-movement-counter b{color:#fbbf24;font-size:.72rem}.map-movement-counter small{max-width:90px;overflow:hidden;margin-left:3px;color:#bae6fd;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.map-movement-counter.filtered{border-color:#38bdf8b3;background:#0c4a6ecc}.map-layout{position:relative;width:100%;height:80dvh;min-height:540px;max-height:calc(100dvh - 92px)}.map-board{--map-panel-offset: 368px;--map-panel-bottom: 0%;position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:6px solid color-mix(in srgb,var(--primary) 24%,var(--border-strong));border-radius:14px;background:#efe9c9;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 26%,#d8c88c),inset 0 0 35px #60502a24,var(--shadow-md)}.map-board:before{position:absolute;z-index:0;inset:8px;border:1px solid rgba(85,60,30,.28);content:"";pointer-events:none}.world-map-canvas{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:340px;cursor:crosshair}.map-pan-controls{position:absolute;z-index:4;inset:0;pointer-events:none}.map-pan{position:absolute;width:58px;height:58px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.42);border-radius:14px;background:#17231bb8;box-shadow:0 8px 22px #151f1842;color:#fff8de;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .14s ease,border-color .14s ease,transform .14s ease}.map-pan:hover,.map-pan:focus-visible{border-color:#fffc;background:#1f3224e6}.map-pan:active{transform:translate(-50%,-50%) scale(.94)}.map-pan b{font:500 2.35rem/1 var(--font-body)}.map-pan-east b,.map-pan-west b{transform:rotate(90deg)}.map-pan-north,.map-pan-south{left:calc((100% - var(--map-panel-offset)) / 2);transform:translate(-50%)}.map-pan-north{top:92px}.map-pan-south{bottom:calc(var(--map-panel-bottom) + 52px)}.map-pan-west,.map-pan-east{top:calc((100% - var(--map-panel-bottom)) / 2);transform:translateY(-50%)}.map-pan-west{left:16px}.map-pan-east{right:calc(var(--map-panel-offset) + 16px)}.map-pan-north:active,.map-pan-south:active{transform:translate(-50%) scale(.94)}.map-pan-west:active,.map-pan-east:active{transform:translateY(-50%) scale(.94)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.world-map-tooltip{position:fixed;z-index:2147483646;width:min(284px,100vw - 28px);max-height:calc(100dvh - 28px);display:grid;gap:5px;padding:12px;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:linear-gradient(145deg,#18211bf7,#2d3928f2);box-shadow:0 12px 30px #161f165c;color:#fffdf4;pointer-events:none;transform:translateY(-100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.world-map-tooltip.align-end{transform:translate(-100%,-100%)}.world-map-tooltip.below{transform:none}.world-map-tooltip.below.align-end{transform:translate(-100%)}.world-map-tooltip:after{position:absolute;top:100%;left:8px;width:10px;height:10px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);background:#2b3827;content:"";transform:translateY(-5px) rotate(45deg)}.world-map-tooltip.align-end:after{right:8px;left:auto}.world-map-tooltip.below:after{top:auto;bottom:100%;border:0;border-top:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28);transform:translateY(5px) rotate(45deg)}.world-map-tooltip header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c8d6bc;font-size:.54rem;font-weight:800;letter-spacing:.08em}.world-map-tooltip header strong{padding:3px 6px;border-radius:999px;background:#f2c45f2e;color:#f4d783;font-size:.51rem;letter-spacing:0}.world-map-tooltip h3{overflow:hidden;margin:0;color:#fffdf4;font:700 1.05rem/1.1 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.world-map-tooltip>p{margin:0;color:#dce8ce;font-size:.61rem}.map-movement-tooltip{width:min(330px,100vw - 28px);gap:8px;border-color:#d97706;background:#0f172af7}.map-movement-tooltip.incoming{border-color:#dc2626}.map-movement-tooltip header strong.incoming{background:#ef444433;color:#fca5a5}.map-movement-tooltip-progress,.map-movement-tooltip-composition{display:grid}.map-movement-tooltip-progress>div{display:flex;justify-content:space-between;gap:8px}.map-movement-tooltip-progress>i{height:5px;overflow:hidden;border-radius:5px;background:#ffffff24}.map-movement-tooltip-progress>i>span{display:block;height:100%;background:#f59e0b}.map-movement-tooltip.incoming .map-movement-tooltip-progress>i>span{background:#ef4444}.map-movement-tooltip-composition{padding-top:7px;border-top:1px solid rgba(255,255,255,.12);color:#cbd5e1;font-size:.54rem}.map-movement-tooltip-composition>div{display:flex;flex-wrap:wrap;gap:5px}.map-tooltip-resource,.map-tooltip-owner{min-width:0;display:flex;align-items:center;gap:8px;margin-top:3px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)}.map-tooltip-resource app-resource-icon{flex:0 0 auto;color:var(--resource-color)}.map-tooltip-resource>span,.map-tooltip-owner-copy{min-width:0;display:grid;flex:1}.map-tooltip-resource strong,.map-tooltip-owner strong{overflow:hidden;color:#fffdf4;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.map-tooltip-resource small,.map-tooltip-owner small{color:#b9c9ae;font-size:.53rem}.map-tooltip-relic{display:grid;grid-template:auto auto/28px 1fr;gap:1px 7px;align-items:center;margin-top:7px;padding:8px;border:1px solid rgba(216,180,254,.42);border-radius:7px;background:linear-gradient(135deg,#4c1d959e,#271444db)}.map-tooltip-relic>span{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border:1px solid #e9d5ff;border-radius:50%;color:#f5d0fe;box-shadow:0 0 12px #c084fc8c}.map-tooltip-relic strong{color:#fff7ed;font-size:.62rem}.map-tooltip-relic small{color:#e9d5ff;font-size:.53rem}.map-tooltip-potential{display:flex;flex-wrap:wrap;gap:5px}.map-tooltip-potential>span{min-width:35px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--resource-color) 52%,transparent);border-radius:6px;background:color-mix(in srgb,var(--resource-color) 17%,transparent);color:#fffdf4}.map-tooltip-potential app-resource-icon{color:var(--resource-color)}.map-tooltip-potential b{font-size:.55rem}.map-tooltip-owner{border-left:3px solid var(--faction-color);padding-left:8px}.map-tooltip-player-icon{width:28px;height:28px;display:grid;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--faction-color) 52%,transparent);border-radius:50%;background:color-mix(in srgb,var(--faction-color) 20%,transparent);color:color-mix(in srgb,var(--faction-color) 58%,#fffdf4)}.map-tooltip-player-icon svg{width:15px;height:15px}.map-tooltip-owner-copy small{color:#f4d783;font-size:.48rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.map-tooltip-owner-copy strong{font-size:.72rem;line-height:1.2}.map-tooltip-owner-copy em{overflow:hidden;color:#b9c9ae;font-size:.53rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.map-tooltip-owner b{color:#f4d783;font-size:.57rem;white-space:nowrap}.map-tooltip-clan-control{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:3px;padding:8px;border:1px solid color-mix(in srgb,var(--clan-color) 62%,rgba(255,255,255,.18));border-left-width:3px;border-radius:7px;background:color-mix(in srgb,var(--clan-color) 24%,rgba(12,20,15,.76))}.map-tooltip-clan-control>span{min-width:0;display:grid;gap:1px}.map-tooltip-clan-control>span small{color:#c9d8bd;font-size:.46rem;font-weight:850;letter-spacing:.07em}.map-tooltip-clan-control>span strong{overflow:hidden;color:#fffdf4;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.map-tooltip-clan-control>span em{color:#b9c9ae;font-size:.5rem;font-style:normal}.map-tooltip-clan-control>b{display:grid;justify-items:end;color:#f4d783;font-size:.62rem;white-space:nowrap}.map-tooltip-clan-control>b small{color:#b9c9ae;font-size:.43rem;font-weight:650}.map-overlay-heading{position:absolute;z-index:4;top:14px;right:374px;left:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:linear-gradient(100deg,#0f172ad1,#0f172a8c);box-shadow:0 8px 24px #0f172a33;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-overlay-heading>div:first-child{min-width:0;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 10px}.map-overlay-heading .eyebrow{grid-column:1/-1;color:#c7d2fe}.map-overlay-heading h1{overflow:hidden;margin:0;color:#fff;font:700 clamp(1.55rem,2.4vw,2.25rem)/1 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.map-overlay-heading>div:first-child>span{color:#cbd5e1;font-size:.61rem;white-space:nowrap}.map-compass{position:absolute;z-index:3;top:92px;left:19px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-raised);color:var(--primary);pointer-events:none}.map-compass b{position:absolute;top:1px;font:700 .55rem var(--font-body)}.map-compass span{font-size:1.3rem}.map-zoom{position:absolute;z-index:4;bottom:48px;left:16px;display:flex;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:var(--shadow-md)}.map-zoom button{min-width:34px;height:34px;padding:0 8px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-weight:800}.map-zoom button:last-child{border-right:0}.map-zoom button:hover{background:var(--primary-soft);color:var(--primary)}.map-coordinate-jump{position:absolute;z-index:4;bottom:93px;left:16px;display:flex;align-items:center;gap:6px;padding:7px 8px 7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-raised);box-shadow:var(--shadow-md)}.map-coordinate-jump strong{margin-right:2px;color:var(--text-secondary);font-size:.61rem;text-transform:uppercase}.map-coordinate-jump label{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.62rem;font-weight:800}.map-coordinate-jump input{width:72px;min-height:32px;padding:5px 6px;border-color:var(--border-strong);text-align:center}.map-coordinate-jump button{min-height:32px;display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid var(--primary);background:var(--primary);color:var(--primary-contrast);font-size:.6rem;font-weight:800}.map-coordinate-jump button svg{width:14px;height:14px}.map-legend{position:absolute;z-index:3;bottom:12px;left:14px;display:flex;flex-wrap:wrap;gap:5px 7px;max-width:calc(100% - 390px);padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised);box-shadow:var(--shadow-sm)}.map-legend :is(span,button){min-height:22px;display:inline-flex;align-items:center;gap:5px;padding:2px 4px;border:1px solid transparent;background:transparent;color:var(--soft);font-size:.55rem}.map-legend :is(span,button):before{width:12px;height:12px;flex:0 0 auto;border-radius:2px;background:var(--legend);background-position:center;background-size:cover;content:""}.map-legend button{cursor:pointer}.map-legend button:hover,.map-legend button:focus-visible{background:var(--primary-soft);color:var(--text)}.map-legend button.layer-hidden{opacity:.44;color:var(--text-muted);text-decoration:line-through;filter:grayscale(1)}.map-legend button.layer-hidden:before{opacity:.45}.map-legend :is(.map-legend-hide-all,.map-legend-reset){color:var(--primary)}.map-legend :is(.map-legend-hide-all,.map-legend-reset):before{display:none}.map-legend .wheat{--legend: #c99a2e}.map-legend .meat{--legend: #b95f4b}.map-legend .wood{--legend: url(/terrain/wood.png)}.map-legend .iron{--legend: #667783}.map-legend .stone{--legend: url(/terrain/stone.png)}.map-legend .water{--legend: url(/terrain/water.png)}.map-legend .relic-site{--legend: radial-gradient(circle, #f5d0fe 0 18%, #7c3aed 20% 54%, #2e1065 56%)}.map-legend .relic-site:before{border:1px solid #e9d5ff;border-radius:50%;box-shadow:0 0 6px #7c3aedb3}.map-legend .clan-control{--legend: repeating-linear-gradient(135deg, #7c3aed 0 3px, #f8fafc 3px 5px)}.map-legend .clan-control:before{border:2px solid #7c3aed}.map-legend .village-ally{--legend: #2f9e44}.map-legend .village-rival{--legend: #c92f35}.map-legend .village-clanless{--legend: #2474c6}.map-legend .movement-outgoing{--legend: linear-gradient(90deg, #f59e0b 0 68%, transparent 68%)}.map-legend .movement-incoming{--legend: linear-gradient(90deg, #dc2626 0 68%, transparent 68%)}.map-legend .movement-outgoing:before,.map-legend .movement-incoming:before{width:18px;height:7px;border-radius:1px;clip-path:polygon(0 30%,68% 30%,68% 0,100% 50%,68% 100%,68% 70%,0 70%)}.map-loading{position:absolute;z-index:4;inset:0;display:grid;place-items:center;margin:0;background:#d7c398d1;color:var(--forest-900);font:700 1.3rem var(--font-display)}.map-command-center{position:absolute;z-index:6;top:14px;right:14px;bottom:14px;width:340px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-glass);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.map-command-center>header{flex:0 0 auto;display:flex;align-items:start;justify-content:space-between;gap:12px;padding:16px 17px 13px;border-bottom:1px solid var(--border)}.map-command-center>header h2{margin:3px 0 0;color:var(--text);font:700 1.35rem/1.05 var(--font-display)}.map-command-center>header>span{padding:4px 7px;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-size:.61rem;font-weight:800;white-space:nowrap}.map-tool-tabs{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.map-tool-tabs button{min-width:0;display:grid;place-items:center;gap:2px;padding:7px 4px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:.58rem;font-weight:750}.map-tool-tabs button span{font-size:.92rem;line-height:1}.map-tool-tabs button:hover{color:var(--text)}.map-tool-tabs button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary);box-shadow:var(--shadow-sm)}.map-tool-body{flex:1 1 auto;min-height:0;padding:17px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.map-tool-body h3{margin:5px 0 2px;color:var(--text);font:700 1.55rem/1.05 var(--font-display)}.terrain-name,.command-hint,.map-empty-tool p{color:var(--text-secondary);font-size:.68rem}.map-clan-control-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:14px 0;padding:10px;border:1px solid color-mix(in srgb,var(--clan-color) 52%,var(--border));border-left:4px solid var(--clan-color);border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--clan-color) 15%,var(--surface)),var(--surface))}.map-clan-control-card>div{min-width:0;display:grid;gap:2px}.map-clan-control-card>div small{color:var(--clan-color);font-size:.46rem;font-weight:850;letter-spacing:.06em}.map-clan-control-card>div strong{overflow:hidden;color:var(--text);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.map-clan-control-card>div span{color:var(--text-muted);font-size:.52rem}.map-clan-control-card>b{display:grid;justify-items:end;color:var(--clan-color);font-size:.73rem;white-space:nowrap}.map-clan-control-card>b small{color:var(--text-muted);font-size:.42rem;font-weight:650}.map-resource-potential{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle)}.map-resource-potential>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.map-resource-potential span{min-width:0;display:grid;grid-template:auto auto/27px 1fr;column-gap:7px;padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.map-resource-potential app-resource-icon{grid-row:1/3;align-self:center}.map-resource-potential strong{color:var(--text);font-size:.68rem}.map-resource-potential small{overflow:hidden;color:var(--text-muted);font-size:.53rem;text-overflow:ellipsis;white-space:nowrap}.relic-site-card{display:grid;gap:10px;margin:14px 0 8px;padding:13px;border:1px solid #a78bfa;border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,#6d28d9 12%,var(--surface)),var(--surface));box-shadow:inset 0 0 24px #8b5cf614}.relic-site-card>header{display:flex;align-items:center;gap:10px}.relic-site-card>header div{display:grid;gap:2px}.relic-site-card>header small{color:#7c3aed;font-size:.5rem;font-weight:900;letter-spacing:.09em}.relic-site-card h4{margin:0;color:var(--text);font:750 .9rem var(--font-display)}.relic-site-sigil{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border:1px solid #c4b5fd;border-radius:50%;background:#3b1766;color:#f5d0fe;font-size:1rem;box-shadow:0 0 16px #7c3aed59}.relic-site-card>p{margin:0;color:var(--text-muted);font-size:.62rem;line-height:1.5}.relic-effect{padding:8px 10px;border-left:3px solid #8b5cf6;border-radius:5px;background:color-mix(in srgb,#8b5cf6 10%,var(--surface));color:#6d28d9;font-size:.65rem}.relic-site-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0}.relic-site-card dl div{display:grid;gap:2px;padding:7px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface);text-align:center}.relic-site-card dt{color:var(--text-muted);font-size:.46rem;text-transform:uppercase}.relic-site-card dd{margin:0;color:var(--text);font-size:.57rem;font-weight:800}.relic-site-card .relic-race-warning{color:#8a5d17;font-size:.54rem}.relic-expedition-command{display:grid!important;gap:2px;text-align:left}.relic-expedition-command small{opacity:.78;font-size:.52rem;font-weight:600}.reliquary-inventory{display:grid;gap:8px;margin:12px 0;padding:10px;border:1px solid #a78bfa;border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,#7c3aed 10%,var(--surface)),var(--surface))}.reliquary-inventory>header{display:flex;align-items:center;gap:8px}.reliquary-inventory>header>span{color:#7c3aed;font-size:1.1rem}.reliquary-inventory>header div{display:grid}.reliquary-inventory>header small{color:#7c3aed;font-size:.48rem;font-weight:900;letter-spacing:.08em}.reliquary-inventory>header strong{color:var(--text);font-size:.65rem}.reliquary-inventory>div{display:grid;gap:5px}.reliquary-inventory article{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.reliquary-inventory article>span{color:#8b5cf6}.reliquary-inventory article div{display:grid}.reliquary-inventory article strong{color:var(--text);font-size:.6rem}.reliquary-inventory article small,.reliquary-inventory p{margin:0;color:var(--text-muted);font-size:.52rem;line-height:1.45}.report-stolen-relics{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 10px;border:1px solid #a78bfa;border-radius:7px;background:color-mix(in srgb,#8b5cf6 10%,var(--surface))}.report-stolen-relics>b{width:100%;color:var(--text);font-size:.68rem}.report-stolen-relics>span{padding:5px 7px;border-radius:999px;background:#6d28d9;color:#fff;font-size:.58rem;font-weight:800}.report-relic-theft{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 10px;border:1px solid color-mix(in srgb,#8b5cf6 48%,var(--border));border-radius:7px;background:color-mix(in srgb,#8b5cf6 6%,var(--surface))}.report-relic-theft>b{grid-column:1/-1;color:var(--text);font-size:.68rem}.report-relic-theft>span{color:var(--text-muted);font-size:.56rem}.report-relic-theft>strong{color:#7c3aed;font-size:.58rem;text-align:right}.building-training-panel{display:grid;gap:10px;margin:13px 0;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--surface)),var(--surface))}.building-training-panel>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.building-training-panel>header h4{margin:3px 0 0;font:700 .92rem/1 var(--font-display)}.building-training-panel>header label{width:74px;display:grid;gap:3px;color:var(--text-muted);font-size:.48rem;font-weight:750}.building-training-panel>header input{min-height:32px;padding:4px 6px;text-align:center}.building-training-list{display:grid;gap:6px}.building-training-unit{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.building-training-unit.unaffordable{border-color:color-mix(in srgb,#b95f4b 42%,var(--border));background:color-mix(in srgb,#b95f4b 5%,var(--surface))}.building-training-unit-copy{min-width:0;display:grid;gap:2px}.building-training-unit-copy>strong{overflow:hidden;color:var(--text);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.building-training-unit-copy>small{color:var(--text-muted);font-size:.5rem}.building-training-cost{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.building-training-cost>span{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border-radius:5px;background:var(--background-muted);color:var(--text-secondary);font-size:.47rem;font-weight:750}.building-training-cost>span.missing{background:color-mix(in srgb,#b95f4b 12%,var(--surface));color:#a74736}.building-training-upkeep{display:grid;gap:4px;margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}.building-training-upkeep>small{color:var(--text-muted);font-size:.43rem;font-weight:850;letter-spacing:.045em}.building-training-upkeep>span{display:flex;flex-wrap:wrap;gap:4px}.building-training-upkeep>span>em{color:var(--text-muted);font-size:.48rem;font-style:normal}.building-training-upkeep>strong{display:flex;flex-wrap:wrap;gap:3px 7px;color:var(--text-secondary);font-size:.48rem;font-weight:750}.building-training-upkeep>strong>span{color:#a94c38}.building-training-unit>button{min-height:32px;padding:6px 8px;border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.54rem;font-weight:800}.building-training-unit>button:disabled{border-color:var(--border);background:var(--background-muted);color:var(--text-muted)}.building-training-panel.unavailable .building-training-list{opacity:.62}.building-training-order{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid var(--primary-border);border-radius:8px;background:var(--primary-soft)}.building-training-order>span{min-width:0;display:grid;gap:2px}.building-training-order small{color:var(--primary);font-size:.46rem;font-weight:850;letter-spacing:.07em}.building-training-order strong{color:var(--text);font-size:.57rem}.building-training-order em{max-width:45%;color:var(--text-muted);font-size:.48rem;font-style:normal;text-align:right}.building-training-order.paused{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:var(--warning-soft)}.settlement-preview{display:grid;gap:9px;margin:14px 0 4px;padding:10px;border:1px solid var(--primary-border);border-radius:10px;background:linear-gradient(145deg,var(--primary-soft),var(--surface))}.settlement-preview>header{display:flex;align-items:start;justify-content:space-between;gap:8px}.settlement-preview>header span{min-width:0;display:grid;gap:2px}.settlement-preview>header small{color:var(--text-muted);font-size:.48rem;font-weight:850;letter-spacing:.07em}.settlement-preview>header strong{color:var(--text);font:700 .72rem var(--font-display)}.settlement-preview>header b{max-width:94px;padding:4px 6px;border-radius:999px;background:var(--surface);color:var(--primary);font-size:.5rem;text-align:center}.settlement-preview-map{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(83,111,50,.34);border-radius:9px;background:#b8d4a0 center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff52,0 6px 15px #273a1b29}.settlement-preview-map[data-template-code=VILLAGE_DOMINANT_WHEAT]{background-image:url(/village/resource-map-wheat-dominant.png)}.settlement-preview-map[data-template-code=VILLAGE_DOMINANT_MEAT]{background-image:url(/village/resource-map-meat-dominant.png)}.settlement-preview-map[data-template-code=VILLAGE_DOMINANT_WOOD]{background-image:url(/village/resource-map-wood-dominant.png)}.settlement-preview-map[data-template-code=VILLAGE_DOMINANT_IRON]{background-image:url(/village/resource-map-iron-dominant.png)}.settlement-preview-map[data-template-code=VILLAGE_DOMINANT_STONE]{background-image:url(/village/resource-map-stone-dominant.png)}.settlement-preview-field{position:absolute;z-index:2;width:30px;height:30px;display:grid;place-items:center;color:var(--resource-color);transform:translate(-50%,-50%);pointer-events:auto}.settlement-preview-field img{width:120%;height:120%;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,255,255,.96)) drop-shadow(0 3px 2px rgba(38,57,26,.3))}.settlement-preview-field app-resource-icon{width:20px;height:20px;padding:3px;border:1px solid color-mix(in srgb,var(--resource-color) 50%,white);border-radius:50%;background:color-mix(in srgb,var(--resource-color) 18%,white)}.settlement-preview-field i{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;display:grid;place-items:center;border:1px solid white;border-radius:50%;background:#2d4025;color:#fff;font:800 .42rem/1 var(--font-body);font-style:normal}.settlement-preview>footer{display:flex;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:.54rem}.settlement-preview>footer strong{color:var(--text)}.map-tool-body>label{margin:18px 0 8px}.command-button{width:100%;min-height:39px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);background:var(--surface);color:var(--primary);font-weight:700}.command-button.primary{border-color:var(--primary);background:var(--primary);color:var(--primary-contrast)}.resource-transfer-command{display:flex;align-items:center;justify-content:center;gap:7px}.resource-transfer-command svg{width:15px;height:15px}.resource-transfer-command.unavailable{border-style:dashed;color:var(--muted)}.map-trade-target{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.map-trade-target.ready{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--surface))}.map-trade-target-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--background-muted);color:var(--muted)}.map-trade-target.ready .map-trade-target-icon{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.map-trade-target-icon svg{width:19px;height:19px}.map-trade-target>div:nth-child(2){min-width:0;display:grid;gap:2px}.map-trade-target h3{overflow:hidden;margin:1px 0!important;font-size:1.1rem!important;text-overflow:ellipsis;white-space:nowrap}.map-trade-target>div:nth-child(2)>small{color:var(--muted);font-size:.55rem}.map-trade-target>span{padding:4px 6px;border-radius:999px;background:var(--background-muted);color:var(--muted);font-size:.5rem;font-weight:800;white-space:nowrap}.map-trade-target.ready>span{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.map-merchant-capacity{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid var(--primary-border);border-radius:9px;background:var(--primary-soft)}.map-merchant-capacity div{display:grid;gap:2px}.map-merchant-capacity small{color:var(--primary);font-size:.5rem;font-weight:800;letter-spacing:.05em}.map-merchant-capacity strong{color:var(--text);font:800 1.15rem var(--font-display)}.map-merchant-capacity>span{color:var(--text-secondary);font-size:.56rem;text-align:right}.map-merchant-capacity>span b{display:block;color:var(--primary);font-size:.72rem}.map-resource-transfer-form{display:grid;gap:10px;margin-top:17px}.map-resource-transfer-form>label{display:grid;gap:5px;color:var(--text-secondary);font-size:.58rem;font-weight:750}.map-resource-transfer-form input,.map-resource-transfer-form select{width:100%;min-height:38px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.map-transfer-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.map-transfer-summary>span{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.map-transfer-summary small{color:var(--muted);font-size:.48rem;font-weight:800}.map-transfer-summary strong{color:var(--text);font-size:.75rem}.map-transfer-requirement,.map-transfer-issue{display:flex;align-items:flex-start;gap:7px;margin:0;font-size:.55rem;line-height:1.4}.map-transfer-requirement{color:var(--text-secondary)}.map-transfer-issue{padding:8px;border-radius:7px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}.map-transfer-requirement svg,.map-transfer-issue svg{width:14px;height:14px;flex:0 0 auto}.map-resource-transfer-form>button{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:0}.map-resource-transfer-form>button svg{width:15px;height:15px}.map-trade-blocked{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px;border:1px dashed color-mix(in srgb,var(--warning) 55%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--warning) 7%,var(--surface))}.map-trade-blocked>svg{width:19px;height:19px;flex:0 0 auto;color:var(--warning)}.map-trade-blocked div{display:grid;gap:3px}.map-trade-blocked strong{color:var(--text);font-size:.68rem}.map-trade-blocked p{margin:0;color:var(--text-secondary);font-size:.58rem;line-height:1.45}.settlement-command{display:grid;justify-items:center;gap:2px}.settlement-command small{color:color-mix(in srgb,var(--primary-contrast) 74%,transparent);font-size:.52rem;font-weight:650}.settlement-command:disabled{opacity:.55;cursor:not-allowed}.map-empty-tool{display:grid;justify-items:start;padding:14px 3px}.map-empty-tool strong{color:var(--text);font-family:var(--font-display);font-size:1.4rem}.map-empty-tool button{padding:8px 10px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-weight:700}.map-command-section+.map-command-section{margin-top:21px;padding-top:18px;border-top:1px solid var(--border)}.map-command-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:9px}.map-command-title h3{margin-top:2px;font-size:1.22rem}.map-command-title>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--background-muted);color:var(--text-secondary);font-size:.61rem;font-weight:800}.map-command-title label{width:78px;font-size:.56rem}.map-command-title input{min-height:34px;padding:5px 8px}.map-compact-list{display:grid;gap:5px}.map-compact-list article{min-width:0;display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle)}.map-compact-list article>div{min-width:0;display:grid;flex:1}.map-compact-list strong,.map-compact-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-compact-list strong{color:var(--text);font-size:.67rem}.map-compact-list small{color:var(--text-muted);font-size:.56rem}.map-compact-list button,.map-active-order button{flex:0 0 auto;padding:5px 7px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.56rem;font-weight:750}.map-active-orders{display:grid;gap:6px;margin-bottom:12px}.map-active-order{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px;border:1px solid color-mix(in srgb,var(--warning) 36%,var(--border));border-radius:8px;background:var(--warning-soft)}.map-active-order>div{min-width:0;display:grid}.map-active-order strong{color:var(--text);font-size:.64rem}.map-active-order span{color:var(--text-secondary);font-size:.56rem}.map-builder-allocation{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:16px;padding:10px;border:1px solid var(--primary-border);border-radius:8px;background:var(--primary-soft)}.map-builder-allocation>span{display:grid;gap:2px}.map-builder-allocation small{color:var(--text-muted);font-size:.47rem;font-weight:800;letter-spacing:.06em}.map-builder-allocation strong{color:var(--text);font-size:.62rem}.map-builder-allocation label{width:72px;color:var(--text-muted);font-size:.5rem}.map-builder-allocation input{min-height:32px;padding:4px 6px;text-align:center}.map-army-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.map-army-list button{min-width:0;display:grid;justify-items:start;padding:9px;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);text-align:left}.map-army-list button:hover{border-color:var(--primary-border);background:var(--primary-soft)}.map-army-list strong{color:var(--primary);font-size:1rem}.map-army-list span,.map-army-list small{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.map-army-list span{font-size:.61rem}.map-army-list small{color:var(--text-muted);font-size:.52rem}.movement-order form{display:grid;gap:8px}.movement-order input,.movement-order select{min-height:37px;padding:7px 9px}.movement-order .selected-target{margin-top:-5px;color:var(--primary);font-size:.57rem}.movement-order button{min-height:39px;margin-top:2px}.movement-order .clear-movement{min-height:30px;margin:0}.movement-mission-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;padding:0;border:0}.movement-mission-switch legend{grid-column:1/-1;margin:0 0 2px;font-size:.58rem}.movement-mission-switch label{position:relative;display:block;cursor:pointer}.movement-mission-switch label>span{min-height:32px;display:grid;place-items:center;padding:5px 4px;border:1px solid var(--border);border-radius:7px;background:var(--surface-subtle);color:var(--text-secondary);font-size:.54rem;font-weight:750;transition:border-color .16s ease,background-color .16s ease}.movement-mission-switch label.selected>span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.movement-unit-list.compact{gap:5px;margin-top:2px}.movement-unit-list.compact article{grid-template-columns:minmax(74px,1fr) auto;gap:6px;padding:7px}.movement-unit-list.compact .unit-quantity-control{gap:3px}.movement-unit-list.compact .unit-quantity-control button{width:27px;height:29px;min-height:29px;margin:0}.movement-unit-list.compact .unit-quantity-control input{width:45px;height:29px;min-height:29px;padding:3px;font-size:.6rem}.movement-unit-list.compact .unit-quantity-control .quantity-max{width:34px;padding:0 4px;font-size:.48rem}.movement-submit-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-top:4px;padding-top:9px;border-top:1px solid var(--border)}.movement-submit-summary>span{color:var(--text-muted);font-size:.54rem}.movement-submit-summary>span strong{color:var(--primary);font-size:.7rem}.movement-submit-summary .primary{min-height:37px;margin:0;padding:7px 10px;font-size:.58rem}.map-movement-list{display:grid;gap:7px}.map-movement-list article{--journey-color: var(--primary);display:grid;gap:7px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.map-movement-list article.returning{--journey-color: var(--warning)}.map-movement-list header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.map-movement-list header>div{min-width:0;display:grid}.map-movement-list header strong,.map-movement-list header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-movement-list header strong{color:var(--text);font-size:.59rem}.map-movement-list header small{color:var(--text-muted);font-size:.5rem}.map-movement-list header b{flex:0 0 auto;color:var(--journey-color);font-size:.57rem}.map-movement-troops{display:flex;flex-wrap:wrap;gap:3px}.map-movement-troops span{padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-secondary);font-size:.47rem}.map-journey-progress{height:5px}.map-movement-list article>button{min-height:29px;margin:0;padding:4px 7px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));background:var(--danger-soft);color:var(--danger);font-size:.5rem;font-weight:800}.map-movement-list article>small{font-size:.49rem}.owner{display:grid;gap:5px;margin:22px 0 14px;padding:14px;border-left:4px solid;border-radius:0 8px 8px 0;background:var(--surface-subtle)}.owner span,.owner small{color:var(--soft);font-size:.68rem}.home-badge{display:block;margin-top:14px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--warning) 36%,var(--border));border-radius:8px;background:var(--warning-soft);color:var(--warning);font-size:.68rem;font-weight:800;text-align:center}.game-content.chat-content{max-width:none;height:calc(100dvh - 68px);padding:16px;overflow:hidden}.chat-shell{position:relative;width:100%;height:100%;display:grid;grid-template-columns:330px minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md)}.chat-inbox{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface-subtle)}.chat-inbox-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.chat-inbox-header h1{margin:3px 0 0;font-size:2rem;line-height:1}.chat-compose-button{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.65rem;font-weight:800}.chat-compose-button:hover{border-color:var(--primary)}.chat-compose-button svg{width:16px;height:16px}.chat-conversation-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.chat-conversation{position:relative;width:100%;min-height:88px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left}.chat-conversation:hover{background:var(--sidebar-hover)}.chat-conversation.active{background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary)}.chat-conversation.unread{background:color-mix(in srgb,var(--primary-soft) 66%,var(--surface))}.chat-conversation-copy{min-width:0;display:grid;gap:2px}.chat-conversation-copy>span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-conversation-copy strong,.chat-conversation-copy b,.chat-conversation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conversation-copy strong{font-size:.73rem}.chat-conversation-copy b{color:var(--text-secondary);font-size:.64rem;font-weight:700}.chat-conversation-copy small{color:var(--text-muted);font-size:.58rem}.chat-conversation-copy time{flex:0 0 auto;color:var(--text-muted);font-size:.53rem}.chat-conversation>em{min-width:21px;height:21px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:var(--primary);color:var(--primary-contrast);font-size:.54rem;font-style:normal;font-weight:850}.chat-avatar{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--primary-border);border-radius:10px;background:linear-gradient(145deg,var(--primary-soft),var(--surface));color:var(--primary)}.chat-avatar svg{width:18px;height:18px}.chat-list-empty{display:grid;justify-items:center;padding:48px 25px;color:var(--text-muted);text-align:center}.chat-list-empty>svg{width:30px;height:30px;margin-bottom:12px;color:var(--primary)}.chat-list-empty strong{color:var(--text);font:700 1.25rem var(--font-display)}.chat-list-empty p{margin:7px 0 0;font-size:.65rem;line-height:1.6}.chat-thread{min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--primary-soft) 18%,var(--surface)))}.chat-thread-header{min-height:92px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid var(--border);background:var(--surface-glass)}.chat-thread-header h2{margin:2px 0 0;font-size:1.65rem;line-height:1}.chat-thread-header>div:first-child>span{color:var(--text-secondary);font-size:.64rem}.chat-thread-header>div:last-child{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:.59rem;font-weight:700}.chat-live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent)}.chat-message-stream{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:17px;padding:24px clamp(18px,4vw,60px);overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.chat-message{max-width:min(720px,86%);display:grid;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:10px}.chat-message.own{align-self:end;grid-template-columns:minmax(0,1fr)}.chat-message.own .chat-message-author{display:none}.chat-message-author{min-width:0;display:flex;align-items:center;gap:8px;padding:2px;border:0;background:transparent;color:var(--text);text-align:left}.chat-message-author>span:last-child{min-width:0;display:grid}.chat-message-author strong,.chat-message-author small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message-author strong{font-size:.64rem}.chat-message-author small{color:var(--primary);font-size:.51rem}.chat-message-author:hover strong{color:var(--primary)}.chat-bubble{min-width:120px;padding:11px 13px 8px;border:1px solid var(--border);border-radius:4px 13px 13px;background:var(--surface);box-shadow:var(--shadow-sm)}.chat-message.own .chat-bubble{border-color:var(--primary);border-radius:13px 4px 13px 13px;background:var(--primary);color:var(--primary-contrast)}.chat-bubble p{margin:0;color:inherit;font-size:.75rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.chat-bubble time{display:block;margin-top:5px;color:var(--text-muted);font-size:.49rem;text-align:right}.chat-message.own .chat-bubble time{color:color-mix(in srgb,var(--primary-contrast) 72%,transparent)}.chat-message .clan-invitation-message{width:min(430px,100%);border-color:var(--primary-border);background:linear-gradient(145deg,var(--surface),var(--primary-soft));color:var(--text)}.clan-invitation-identity{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--primary-border)}.clan-invitation-identity>span{display:grid;gap:2px}.clan-invitation-identity small{color:var(--primary);font-size:.52rem;font-weight:800;letter-spacing:.09em}.clan-invitation-identity strong{color:var(--text);font-size:.75rem}.clan-invitation-actions{display:flex;gap:8px;margin-top:12px}.clan-invitation-actions button{padding:7px 12px;border-color:var(--primary);background:var(--primary);color:var(--primary-contrast);font-size:.62rem;font-weight:750}.clan-invitation-actions .secondary-action{border-color:var(--border-strong);background:var(--surface);color:var(--text-secondary)}.clan-invitation-status{display:inline-block;margin-top:11px;padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--muted) 12%,var(--surface));color:var(--muted);font-size:.58rem;font-weight:750}.clan-invitation-status.accepted{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.chat-reply{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:13px 18px;border-top:1px solid var(--border);background:var(--surface-glass)}.chat-reply textarea,.chat-new-form textarea{width:100%;resize:vertical;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font:500 .74rem/1.5 var(--font-body)}.chat-reply textarea{min-height:46px;max-height:150px;padding:11px 12px;resize:none}.chat-reply textarea:focus,.chat-new-form textarea:focus{border-color:var(--primary);outline:0;box-shadow:var(--focus)}.chat-reply button,.chat-new-form .primary,.chat-welcome .primary{display:inline-flex;align-items:center;justify-content:center;gap:7px}.chat-reply button svg,.chat-new-form .primary svg,.chat-welcome .primary svg{width:16px;height:16px}.chat-welcome{max-width:590px;display:grid;align-content:center;justify-items:center;flex:1;margin:auto;padding:40px;text-align:center}.chat-welcome>span{width:72px;height:72px;display:grid;place-items:center;margin-bottom:20px;border:1px solid var(--primary-border);border-radius:22px;background:var(--primary-soft);color:var(--primary);transform:rotate(-4deg)}.chat-welcome>span svg{width:32px;height:32px}.chat-welcome h2{max-width:520px;margin:8px 0 12px;font-size:clamp(2.2rem,4vw,3.7rem);line-height:.95}.chat-welcome>p:not(.eyebrow){color:var(--text-secondary);font-size:.75rem;line-height:1.75}.chat-welcome .primary{margin-top:8px}.chat-new-conversation{width:min(760px,100%);max-height:100%;margin:auto;padding:clamp(24px,5vw,58px);overflow-y:auto;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.chat-new-conversation>header{display:flex;align-items:start;justify-content:space-between;gap:20px}.chat-new-conversation>header h2{margin:6px 0 7px;font-size:2.6rem;line-height:1}.chat-new-conversation>header p:last-child{color:var(--text-secondary);font-size:.7rem}.chat-new-conversation>header>button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.chat-new-conversation>header>button svg{width:17px;height:17px}.chat-player-search{margin:30px 0 14px}.chat-player-search>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.chat-player-search>div>svg{position:absolute;z-index:1;top:13px;left:12px;width:18px;height:18px;color:var(--text-muted)}.chat-player-search input{padding-left:39px}.chat-player-search button{padding:8px 14px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-weight:800}.chat-player-results{display:grid;gap:7px;margin-top:12px}.chat-player-results>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--border);border-left:3px solid var(--faction-color);background:var(--surface);color:var(--text);text-align:left}.chat-player-results>button:hover{border-color:var(--primary-border);background:var(--primary-soft)}.chat-player-results>button>span:nth-child(2){min-width:0;display:grid}.chat-player-results strong{font-size:.72rem}.chat-player-results small,.chat-player-results b{color:var(--text-secondary);font-size:.6rem}.chat-selected-player{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin:20px 0;padding:13px;border:1px solid var(--border);border-left:4px solid var(--faction-color);border-radius:9px;background:var(--surface-subtle)}.chat-selected-player>div{min-width:0;display:grid}.chat-selected-player small{color:var(--text-secondary);font-size:.61rem}.chat-selected-player>button{padding:7px 9px;border:1px solid var(--border);background:var(--surface);color:var(--primary);font-size:.6rem;font-weight:750}.chat-new-form{display:grid;gap:13px}.chat-new-form textarea{min-height:132px;padding:11px 12px}.chat-search-hint{margin:18px 0;color:var(--text-muted);font-size:.67rem;text-align:center}.chat-player-profile{position:absolute;z-index:20;top:0;right:0;bottom:0;width:min(390px,92%);overflow-x:hidden;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface);box-shadow:-18px 0 50px #0f172a24}.chat-player-profile>header{position:relative;display:grid;justify-items:center;padding:36px 25px 26px;border-bottom:1px solid var(--border);background:linear-gradient(155deg,var(--primary-soft),var(--surface));text-align:center}.chat-player-profile>header>button{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.chat-player-profile>header>button svg{width:16px;height:16px}.chat-profile-emblem{width:66px;height:66px;display:grid;place-items:center;margin-bottom:13px;border:3px solid var(--faction-color);border-radius:19px;background:var(--surface);color:var(--faction-color);box-shadow:var(--shadow-md);transform:rotate(-3deg)}.chat-profile-emblem svg{width:29px;height:29px}.chat-player-profile h2{margin:6px 0 1px;font-size:2.35rem;line-height:1}.chat-player-profile>header>p:last-child{margin:4px 0 0;color:var(--text-secondary);font-size:.68rem}.chat-profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:17px;border-bottom:1px solid var(--border)}.chat-profile-stats div{padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle)}.chat-profile-stats dt{color:var(--text-muted);font-size:.55rem;font-weight:750;text-transform:uppercase}.chat-profile-stats dd{margin:3px 0 0;color:var(--text);font:700 1.45rem var(--font-display)}.chat-player-profile>section{padding:19px 17px 28px}.chat-profile-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.chat-profile-section-title h3{margin:3px 0 0;font-size:1.45rem}.chat-profile-section-title>span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.6rem;font-weight:800}.chat-village-list{display:grid;gap:8px}.chat-village-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle)}.chat-village-pin{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--primary-soft);color:var(--primary)}.chat-village-pin svg{width:16px;height:16px}.chat-village-list article>div,.chat-village-list article>span:nth-child(3){min-width:0;display:grid}.chat-village-list strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.chat-village-list strong em{margin-left:4px;padding:2px 5px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.46rem;font-style:normal;text-transform:uppercase}.chat-village-list small{color:var(--text-muted);font-size:.54rem}.chat-village-list article>span:nth-child(3){text-align:right}.chat-village-list article>span:nth-child(3) b{font-size:.66rem}.chat-village-list button{grid-column:2/-1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 9px;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.57rem;font-weight:800}.chat-village-list button svg{width:14px;height:14px}.toast-stack{position:fixed;z-index:1200;top:22px;right:22px;width:min(430px,100vw - 44px);pointer-events:none}.toast-slot{display:grid;grid-template-rows:1fr;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1) .1s}.toast-slot-content{min-height:0;padding-bottom:8px;transition:padding-bottom .42s cubic-bezier(.22,1,.36,1) .1s}.toast-slot-exiting{grid-template-rows:0fr}.toast-slot-exiting .toast-slot-content{padding-bottom:0}.toast{--toast-accent: var(--primary);position:relative;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;overflow:hidden;margin:0;padding:13px 12px 16px;border:1px solid color-mix(in srgb,var(--toast-accent) 30%,var(--border));border-left:4px solid var(--toast-accent);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--toast-accent) 10%,var(--surface-glass)),var(--surface-glass) 66%);box-shadow:var(--shadow-lg);color:var(--text);font-size:.72rem;pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:toast-enter .26s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity}.toast[data-tone=success]{--toast-accent: var(--success)}.toast[data-tone=warning]{--toast-accent: var(--warning)}.toast[data-tone=error]{--toast-accent: var(--danger)}.toast-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--toast-accent) 28%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--toast-accent) 12%,var(--surface));color:var(--toast-accent)}.toast-icon>svg{width:21px;height:21px;stroke-width:2.1}.toast-image-icon{overflow:hidden;background:color-mix(in srgb,var(--toast-accent) 6%,var(--surface))}.toast-image-icon img{width:100%;height:100%;object-fit:cover}.toast-resource-icon{border:0;background:transparent}.toast-resource-icon app-resource-icon{--resource-icon-size: 40px}.toast-copy{min-width:0;display:grid;gap:2px}.toast-copy>strong{color:var(--toast-accent);font-size:.58rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.toast-copy p{margin:0;color:var(--text);line-height:1.45}.toast button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--border);background:color-mix(in srgb,var(--toast-accent) 5%,var(--surface-subtle));color:var(--text-secondary)}.toast button:hover{border-color:color-mix(in srgb,var(--toast-accent) 45%,var(--border));background:color-mix(in srgb,var(--toast-accent) 12%,var(--surface));color:var(--toast-accent)}.toast button svg{width:17px;height:17px}.toast-progress{position:absolute;right:0;bottom:0;left:0;height:4px;background:color-mix(in srgb,var(--toast-accent) 18%,transparent)}.toast-progress:before{position:absolute;inset:0;background:var(--toast-accent);box-shadow:0 -1px 5px color-mix(in srgb,var(--toast-accent) 45%,transparent);content:"";transform:scaleX(1);transform-origin:left center;will-change:transform}.toast-progress.active:before{animation:toast-countdown var(--toast-duration, 6s) linear forwards}.toast-exiting{pointer-events:none;animation:toast-exit .52s both}@keyframes toast-enter{0%{opacity:0;transform:translate3d(24px,-7px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}22%{opacity:1;transform:translate(-11px);animation-timing-function:cubic-bezier(.55,0,1,.45)}to{opacity:0;transform:translate(calc(100% + 48px))}}@media(max-width:1420px){.world-identity{display:none}.village-switcher{min-width:230px;max-width:270px}.quick-resources>span{width:82px;min-width:82px;flex-basis:82px}.quick-resources small{display:none}}@media(max-width:1180px){.game-header{gap:7px;padding-right:12px;padding-left:12px}.village-switcher{min-width:200px;max-width:220px}.quick-resources>span{width:82px;min-width:82px;flex-basis:82px}.quick-resources small,.world-identity{display:none}.map-command-center{width:320px}.map-board{--map-panel-offset: 348px}.map-overlay-heading{right:354px}.map-legend{max-width:calc(100% - 370px)}.field-grid{grid-template-columns:repeat(4,1fr)}.building-grid{grid-template-columns:repeat(3,1fr)}.village-map-layout{grid-template-columns:minmax(560px,1fr) 280px}.chat-shell{grid-template-columns:290px minmax(0,1fr)}.chat-message{grid-template-columns:112px minmax(0,1fr)}}@media(max-width:1100px)and (min-width:921px){.header-context{display:none}}@media(max-width:1020px)and (min-width:921px){.quick-resources>span{width:72px;min-width:72px;flex-basis:72px;padding-right:6px;padding-left:6px}}@media(max-width:920px){.landing-intro{grid-template-columns:1fr}.story h1{max-width:650px}.world-intro{align-items:flex-start;flex-direction:column}.world-intro-meta{width:100%}.next-world-countdown{min-width:0;flex:1;align-items:start;justify-items:start;text-align:left}.world-cards{grid-template-columns:repeat(2,1fr)}.join-form{grid-template-columns:1fr 1fr}.village-layout,.progression-grid,.quest-grid{grid-template-columns:1fr}.market-merchant-overview{grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr)}.market-merchant-unlock{grid-column:1/-1}.market-merchant-capacity{border-top:1px solid var(--border);border-left:0}.village-map-layout{grid-template-columns:1fr}.village-map-inspector{min-height:300px;border-top:1px solid var(--border);border-left:0}.game-shell,.game-shell.sidebar-compact{padding-left:0}.game-sidebar,.sidebar-compact .game-sidebar{width:260px;transform:translate3d(-100%,0,0)}.sidebar-open .game-sidebar{transform:translateZ(0)}.sidebar-compact .game-sidebar .brand{justify-content:flex-start;padding:8px 48px 8px 14px}.sidebar-compact .game-sidebar .brand>span{display:grid}.sidebar-compact .sidebar-section-title{display:block}.sidebar-compact .menu-copy{display:grid}.sidebar-compact .sidebar-header .brand-emblem{display:block}.sidebar-compact .sidebar-nav,.sidebar-compact .sidebar-footer{padding-right:14px;padding-left:14px}.sidebar-compact .sidebar-language{display:grid}.sidebar-compact .sidebar-nav button,.sidebar-compact .sidebar-utility{justify-content:flex-start;padding:7px 9px}.sidebar-size-toggle{display:none}.sidebar-mobile-close{display:inline-grid}.game-header,.sidebar-compact .game-header{left:0}.mobile-menu-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary)}.mobile-menu-button svg{width:19px;height:19px}.mobile-theme-toggle{display:inline-grid}.sidebar-backdrop{position:fixed;z-index:1050;inset:0;display:block;border:0;border-radius:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.quick-resources{display:none}.village-switcher{min-width:260px;max-width:320px}.world-identity{margin-left:auto}.chat-shell{grid-template-columns:280px minmax(0,1fr)}.chat-message{max-width:94%;grid-template-columns:105px minmax(0,1fr)}.map-command-center{width:308px}.map-board{--map-panel-offset: 336px}.map-overlay-heading{right:342px}.map-legend{max-width:calc(100% - 358px)}}@media(max-width:680px){.phase,.portal-label,.account-summary{display:none}.masthead{padding:10px 18px}.landing-intro{padding:34px 18px 50px}.story h1{font-size:clamp(3.1rem,16vw,5rem)}.gate{padding:28px 22px}.world-shell{padding:94px 16px 36px}.portal-bar{padding:8px 14px}.portal-bar .logout-button,.portal-bar .language-picker{margin-left:auto}.world-intro{align-items:start;flex-direction:column;margin-top:20px}.world-intro-meta{align-items:stretch;flex-direction:column}.world-count{text-align:left}.world-cards,.join-form,.quest-summary{grid-template-columns:1fr}.quest-journal-toolbar{align-items:flex-start;flex-direction:column}.quest-filters{justify-content:flex-start}.market-heading,.market-offers-heading{align-items:flex-start;flex-direction:column}.market-merchant-overview{grid-template-columns:1fr}.market-merchant-unlock{grid-column:auto}.market-merchant-capacity{justify-items:start;text-align:left}.market-composer,.market-transfer-form{grid-template-columns:minmax(0,1fr) 92px}.market-composer>.market-form-heading,.market-composer>label:nth-of-type(5),.market-composer>button,.market-transfer-form>button{grid-column:1/-1}.market-arrow{display:none}.market-offers-heading>span{text-align:left}.market-offer-filters{grid-template-columns:1fr;align-items:start}.market-resource-filter,.market-travel-filter{justify-self:stretch;flex-wrap:wrap}.market-travel-filter>div{flex-wrap:wrap}.market-filter-reset{justify-self:start}.market-movement-cargo,.market-movement-timeline{padding-left:0}.market-movement-timeline>div:last-child{align-items:flex-start;flex-direction:column;gap:3px}.market-movement-group-heading{align-items:flex-start;flex-direction:column;gap:5px}.market-movement-history-item>header{grid-template-columns:auto minmax(0,1fr)}.market-movement-history-item>header time{grid-column:2}.market-movement-history-meta{align-items:flex-start;flex-direction:column;padding-left:0}.market-history-pagination{grid-template-columns:auto minmax(0,1fr) auto}.market-history-pagination button{min-width:0;padding-inline:8px}.mission-map-callout{grid-template-columns:auto minmax(0,1fr);padding:18px}.mission-map-callout>.primary{grid-column:1/-1;width:100%}.section-title:has(.section-link){align-items:flex-start;flex-direction:column;gap:12px}.game-header{gap:9px;padding:0 12px}.header-context{display:none}.village-switcher{min-width:0;max-width:none;flex:1}.world-identity{display:none}.game-content{padding:22px 15px}.game-content.map-content{height:auto;min-height:calc(100dvh - 68px);padding:8px}.game-content.chat-content{height:calc(100dvh - 68px);padding:8px}.chat-shell{grid-template:minmax(178px,31%) minmax(0,1fr)/1fr;border-radius:10px}.chat-inbox{border-right:0;border-bottom:1px solid var(--border)}.chat-inbox-header{min-height:66px;padding:10px 12px}.chat-inbox-header h1{font-size:1.55rem}.chat-conversation-list{display:flex;overflow-x:auto;overflow-y:hidden}.chat-conversation{width:min(82vw,300px);min-width:min(82vw,300px);min-height:108px;border-right:1px solid var(--border);border-bottom:0}.chat-thread-header{min-height:70px;padding:10px 14px}.chat-thread-header>div:last-child{display:none}.chat-thread-header h2{font-size:1.35rem}.chat-message-stream{gap:12px;padding:16px 12px}.chat-message,.chat-message.own{max-width:94%;grid-template-columns:1fr}.chat-message-author{width:max-content}.chat-message-author .chat-avatar{width:28px;height:28px}.chat-message-author .chat-avatar svg{width:14px;height:14px}.chat-bubble{margin-left:34px}.chat-message.own .chat-bubble{margin-left:0}.chat-reply{padding:9px}.chat-reply button{width:46px;padding:0}.chat-reply button span{display:none}.chat-new-conversation{overflow-y:auto;padding:22px 16px}.chat-new-conversation>header h2{font-size:2rem}.chat-welcome{padding:24px 18px}.chat-welcome h2{font-size:2.25rem}.chat-player-profile{width:100%}.village-heading,.map-heading{align-items:start;flex-direction:column}.map-heading{min-height:116px;gap:6px}.map-heading h1{margin:2px 0;font-size:2.2rem}.map-status{width:100%;justify-content:start}.map-status button{min-height:34px;padding:6px 8px;font-size:.6rem}.map-layout{width:100%;height:80dvh;min-height:520px;max-height:calc(100dvh - 84px)}.map-board{--map-panel-offset: 0px;--map-panel-bottom: 49%;width:100%;height:100%;border-width:4px}.world-map-canvas{min-height:0}.map-overlay-heading{top:9px;right:9px;left:9px;padding:8px 9px 8px 12px}.map-overlay-heading>div:first-child>span{display:none}.map-overlay-heading h1{font-size:1.4rem}.map-overlay-heading .map-status{width:auto}.map-command-center{inset:auto 9px 9px;width:auto;max-height:49%}.map-command-center>header{padding:10px 13px 9px}.map-command-center>header h2{font-size:1.15rem}.map-tool-body{padding:13px}.map-legend{display:none}.map-zoom{top:79px;bottom:auto;left:12px}.map-coordinate-jump{top:122px;bottom:auto;left:12px}.map-compass{display:none}.map-pan{width:48px;height:48px;border-radius:12px}.map-pan b{font-size:2rem}.map-pan-north{top:70px}.map-pan-south{bottom:calc(var(--map-panel-bottom) + 12px)}.map-pan-west,.map-pan-east{top:38%}.map-pan-west{left:10px}.map-pan-east{right:10px}.field-grid{grid-template-columns:repeat(3,1fr)}.building-grid{grid-template-columns:repeat(2,1fr)}.village-map-header{align-items:stretch;flex-direction:column}.village-map-controls{width:100%}.village-map-tabs{width:100%;flex:1 1 auto}.village-map-tabs button{flex:1;justify-content:center}.village-map-stage{padding:8px}.village-map-ground{min-height:0;border-radius:12px}}@media(max-width:460px){.quest-journal{padding:14px}.quest-card-header{grid-template-columns:auto minmax(0,1fr)}.quest-status{grid-column:1/-1;justify-self:start}.quest-howto{grid-template-columns:1fr}.quest-howto section+section{border-top:1px solid var(--border);border-left:0}.quest-card-footer{grid-template-columns:1fr;align-items:stretch}.quest-actions{justify-content:stretch}.quest-actions button{width:100%}.quest-claimed-label{padding:4px 0}.village-switcher-trigger{grid-template-columns:minmax(0,1fr) auto 16px;padding-left:10px}.village-switcher-icon{display:none}.village-switcher-option{grid-template-columns:34px minmax(0,1fr) 18px}.village-option-capital{grid-column:2;justify-self:start}.village-option-check{grid-column:3;grid-row:1/3}.village-management-actions{flex-direction:column}.village-rename-form{grid-template-columns:1fr}.village-rename-form>span{justify-content:end}.portal-bar .logout-button span{display:none}.portal-bar .logout-button{width:40px;justify-content:center;padding:0}.masthead .brand-emblem{width:44px;height:44px}.masthead .brand span{font-size:1rem}.map-coordinate-jump{gap:4px;padding-left:7px}.map-coordinate-jump>strong,.map-coordinate-jump button span{display:none}.map-coordinate-jump input{width:60px}.field-grid{grid-template-columns:repeat(2,1fr)}.resource-node{width:56px;height:56px}.resource-node .village-node-icon{width:22px;height:22px}.resource-node .village-node-icon svg{width:14px;height:14px}.building-node{width:42px;height:42px;border-width:2px}.building-node .village-node-icon{width:21px;height:21px}.building-node .village-node-icon svg{width:13px;height:13px}.building-node.built{width:64px;height:86px}.village-core{width:80px;height:80px;padding:8px;border-width:2px}.village-core svg{width:24px;height:24px}}.gem-icon{display:inline-block;width:22px;height:22px;flex:0 0 auto;object-fit:cover;filter:drop-shadow(0 2px 4px rgba(2,132,199,.35))}.header-gems{border-color:#0891b24d!important;background:linear-gradient(135deg,#06b6d41f,#f59e0b1a)!important}.header-gems .gem-icon{grid-row:1/3;align-self:center;width:22px;height:22px}.gem-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid rgba(8,145,178,.38);color:#075985;background:linear-gradient(135deg,#ecfefffa,#fff7edfa);box-shadow:0 5px 16px #0891b21f;font-weight:750}.gem-action:hover:not(:disabled){border-color:#0891b2;transform:translateY(-1px);box-shadow:0 8px 22px #0891b233}.gem-action b{min-width:22px;padding:2px 6px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#0891b2,#0369a1);text-align:center}.global-tooltip{position:fixed;z-index:2147483647;right:auto;bottom:auto;width:max-content;max-width:min(320px,100vw - 20px);display:grid;gap:2px;padding:8px 10px;border:1px solid rgba(34,211,238,.3);border-radius:8px;background:#082f49f7;box-shadow:0 12px 28px #02061747;color:#ecfeff;font-size:.74rem;font-weight:650;line-height:1.35;opacity:1;pointer-events:none;text-align:center;transform:none;visibility:visible;white-space:normal}.global-tooltip:after{position:absolute;top:auto;right:auto;bottom:auto;left:var(--tooltip-arrow-left);width:9px;height:9px;border-right:1px solid rgba(34,211,238,.3);border-bottom:1px solid rgba(34,211,238,.3);background:#082f49f7;content:""}.global-tooltip[data-placement=above]:after{top:100%;transform:translate(-50%,-5px) rotate(45deg)}.global-tooltip[data-placement=below]:after{bottom:100%;transform:translate(-50%,5px) rotate(225deg)}[data-global-tooltip-host]>.village-node-tooltip,[data-global-tooltip-host]>.mission-quicklook,[data-global-tooltip-host]>[role=tooltip]{display:none}.gem-options-menu{position:relative;flex:0 0 auto}.gem-options-trigger{position:relative;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(8,145,178,.3);border-radius:11px;background:linear-gradient(135deg,#cffafeb3,#ffedd594);box-shadow:var(--shadow-sm);list-style:none;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.gem-options-trigger::-webkit-details-marker{display:none}.gem-options-trigger:hover{border-color:#0891b2;box-shadow:0 7px 18px #0891b229;transform:translateY(-1px)}.gem-options-trigger:focus-visible{outline:0;box-shadow:var(--focus)}.gem-options-menu[open]>.gem-options-trigger{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21f}.gem-options-trigger .gem-icon{width:28px;height:28px}.gem-options-status{position:absolute;right:5px;bottom:5px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--success);box-shadow:0 0 0 1px #0596693d}.gem-options-popover{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(330px,100vw - 54px);display:grid;gap:13px;padding:15px;border:1px solid rgba(8,145,178,.28);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-lg)}.gem-options-popover:before{position:absolute;top:-6px;right:18px;width:11px;height:11px;border-top:1px solid rgba(8,145,178,.28);border-left:1px solid rgba(8,145,178,.28);background:var(--surface);content:"";transform:rotate(45deg)}.gem-options-popover>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--border)}.gem-options-popover>header span,.gem-option-heading span{display:grid;min-width:0}.gem-options-popover>header small,.gem-option-heading small{color:#0e7490;font-size:.61rem;font-weight:800;letter-spacing:.08em}.gem-options-popover>header strong{color:var(--text);font-size:.84rem}.gem-option-heading{display:flex;align-items:center;gap:10px}.gem-option-heading>.gem-icon{width:32px;height:32px}.gem-option-heading strong{color:var(--text);font:700 1.12rem/1.1 var(--font-display)}.gem-option-heading em{overflow:hidden;color:var(--text-secondary);font-size:.7rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.gem-options-popover>label{display:grid;gap:4px;color:var(--text-secondary);font-size:.68rem;font-weight:650}.gem-options-popover select{min-height:36px;border:1px solid var(--border);color:var(--text);background:var(--surface-subtle)}.gem-options-popover>.gem-action{width:100%}.premium-queue-actions,.premium-training-actions{container-type:inline-size;display:grid;gap:8px;padding:10px;border:1px solid rgba(8,145,178,.2);border-radius:12px;background:#ecfeff6b}.premium-queue-actions>div,.premium-training-actions>article{display:flex;align-items:center;justify-content:space-between;gap:10px}.premium-queue-actions>div>span,.premium-training-actions>article>span{display:grid;min-width:0}.premium-queue-actions strong,.premium-training-actions article strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.premium-queue-actions small,.premium-training-actions article small{color:var(--text-secondary)}@container (max-width: 420px){.premium-queue-actions>div,.premium-training-actions>article{align-items:stretch;flex-direction:column}.premium-queue-actions>div>.gem-action,.premium-training-actions>article>.gem-action{width:100%}.premium-queue-actions>div{gap:6px}.premium-queue-actions>div>span{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px}.premium-queue-actions small{white-space:nowrap}.premium-queue-actions .gem-action{gap:5px;min-height:34px;padding:5px 7px;font-size:.68rem}.premium-queue-actions .gem-action .gem-icon{width:18px;height:18px}.premium-queue-actions .gem-action b{min-width:19px;padding:1px 5px}}.premium-training-actions{margin-bottom:18px;padding:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.premium-training-actions .section-title{margin-bottom:2px}.premium-action-row{display:flex;flex-wrap:wrap;gap:8px}.premium-action-row>button{flex:1 1 130px}.gem-action--resource{align-self:center;margin-left:auto;padding:5px 7px;min-height:32px;font-size:.7rem}.gem-action--resource .gem-icon{width:18px;height:18px}.gem-action--resource b{min-width:19px;padding:1px 5px}.gem-action--missing{width:100%;margin-top:8px}.available-building-option{display:grid;gap:6px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.available-building-option.unaffordable{border-color:color-mix(in srgb,#b95f4b 35%,var(--border))}.available-building-list .available-building-option>.available-building-choice{width:100%;border:0;background:transparent}.available-building-list .available-building-option>.gem-action{justify-content:center;width:100%;border-color:#0891b261;background:linear-gradient(135deg,#ecfefffa,#fff7edfa);text-align:center}.realm-status-strip{align-items:stretch}.realm-status-strip .realm-status-card{min-width:0;min-height:82px;grid-template-columns:minmax(0,1fr);padding:14px 16px}.realm-status-strip .realm-status-card.realm-gems{grid-template-columns:auto minmax(0,1fr)}.realm-status-copy{min-width:0;display:grid;align-content:center;gap:4px}.realm-status-copy>span{color:var(--muted);font-size:.56rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.realm-status-copy>strong{overflow:hidden;color:var(--text);font:700 1rem/1.2 var(--font-display);text-overflow:ellipsis;white-space:nowrap}.realm-status-copy>em{overflow:hidden;color:var(--text-secondary);font-size:.58rem;font-style:normal;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.realm-gems{border-color:#0891b240!important;background:linear-gradient(135deg,#cffafe80,#ffedd56b)!important}.map-heading button .gem-icon{margin-right:5px;vertical-align:middle}:root[data-theme=dark] .gem-action{color:#a5f3fc;background:linear-gradient(135deg,#082f49f5,#432814eb)}:root[data-theme=dark] .gem-options-trigger,:root[data-theme=dark] .premium-queue-actions{background:linear-gradient(135deg,#082f499e,#43281485)}@media(max-width:700px){.clan-page{width:min(100% - 22px,1180px);margin-top:18px}.clan-page-heading{align-items:stretch;flex-direction:column}.clan-access-status{min-width:0}.clan-territory-grid,.clan-management-grid,.clan-onboarding-grid{grid-template-columns:1fr}.clan-locked-panel,.clan-portal-card{grid-template-columns:auto minmax(0,1fr)}.clan-locked-panel>button,.clan-portal-card>button{grid-column:1/-1}.clan-settings,.clan-create-form{grid-template-columns:1fr 1fr}.clan-settings>label:first-child,.clan-create-form>label:nth-child(2),.clan-message-field{grid-column:1/-1}.clan-create-preview{grid-column:1}.clan-invitations article{grid-template-columns:auto minmax(0,1fr)}.clan-invitations article>button{grid-column:auto}.clan-recruit-results article,.clan-member-list article{grid-template-columns:minmax(0,1fr) auto}.clan-recruit-results article>span{display:none}.clan-member-list .danger-action{grid-column:2}.premium-queue-actions>div,.premium-training-actions>article{align-items:stretch;flex-direction:column}.gem-action{width:100%}}@media(max-width:460px){.clan-dashboard{padding:15px}.clan-locked-panel,.clan-portal-card{grid-template-columns:1fr}.clan-locked-panel>span{width:48px;height:48px}.clan-settings,.clan-create-form{grid-template-columns:1fr}.clan-settings>label,.clan-create-form>label,.clan-message-field,.clan-create-preview{grid-column:1}.clan-heading{grid-template-columns:auto minmax(0,1fr)}.clan-message-bubble{grid-column:1/-1;justify-self:end}.clan-recruitment>form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.feedback-page{width:min(100% - 42px,1240px);margin:32px auto 50px}.feedback-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.feedback-heading h1{margin:4px 0 8px;font:750 clamp(2rem,4vw,3.25rem)/1 var(--font-display)}.feedback-heading p{max-width:720px;margin:0;color:var(--text-secondary)}.feedback-heading>span{min-width:245px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:14px;border:1px solid var(--primary-border);border-radius:13px;background:var(--primary-soft)}.feedback-heading>span svg{grid-row:1/3;width:25px;color:var(--primary)}.feedback-heading>span small{color:var(--text-secondary)}.feedback-layout{display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(360px,.95fr);align-items:start;gap:20px}.feedback-form,.feedback-history{padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.feedback-form{display:grid;gap:16px}.feedback-form .section-title{margin-bottom:0}.feedback-form>label{display:grid;gap:6px;color:var(--text-secondary);font-size:.74rem;font-weight:750}.feedback-form>label>small{justify-self:end;color:var(--text-muted);font-size:.62rem}.feedback-form input,.feedback-form textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface-subtle);color:var(--text)}.feedback-form textarea{min-height:170px;resize:vertical;line-height:1.55}.feedback-category-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;border:0}.feedback-category-picker legend{grid-column:1/-1;margin-bottom:2px;padding:0;color:var(--text-secondary);font-size:.74rem}.feedback-category-picker label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle);cursor:pointer}.feedback-category-picker label.selected{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary-border)}.feedback-category-picker input{width:16px;min-height:auto;margin-top:2px;accent-color:var(--primary)}.feedback-category-picker span,.feedback-category-picker strong,.feedback-category-picker small{display:block}.feedback-category-picker small{margin-top:2px;color:var(--text-muted);font-size:.63rem;line-height:1.35}.feedback-context{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;background:var(--background-muted)}.feedback-context svg{width:19px;color:var(--primary)}.feedback-context span{display:grid}.feedback-context small{color:var(--text-muted)}.feedback-submit{display:flex;align-items:center;justify-content:center;gap:8px;min-height:45px}.feedback-submit svg{width:18px}.feedback-history{min-height:470px}.feedback-history-list{max-height:660px;display:grid;gap:10px;overflow-y:auto;padding-right:3px}.feedback-history-list article{padding:15px;border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:11px;background:var(--surface-subtle)}.feedback-history-list article[data-status=in_review]{border-left-color:var(--warning)}.feedback-history-list article[data-status=planned]{border-left-color:var(--primary)}.feedback-history-list article[data-status=resolved]{border-left-color:var(--success)}.feedback-history-list article header,.feedback-history-list article footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-category,.feedback-status{padding:4px 7px;border-radius:999px;background:var(--background-muted);color:var(--text-secondary);font-size:.61rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.feedback-status{background:var(--primary-soft);color:var(--primary)}.feedback-history-list h3{margin:11px 0 6px;font:750 1.18rem var(--font-display)}.feedback-history-list p{display:-webkit-box;overflow:hidden;margin:0 0 13px;color:var(--text-secondary);font-size:.74rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.feedback-history-list footer{color:var(--text-muted);font-size:.62rem}.feedback-empty{min-height:340px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--text-muted);text-align:center}.feedback-empty svg{width:42px;height:42px;color:var(--primary);opacity:.6}.feedback-empty p{margin:0}@media(max-width:900px){.feedback-heading{align-items:stretch;flex-direction:column}.feedback-heading>span{min-width:0}.feedback-layout{grid-template-columns:1fr}}@media(max-width:560px){.feedback-page{width:min(100% - 22px,1240px);margin-top:18px}.feedback-category-picker{grid-template-columns:1fr}.feedback-form,.feedback-history{padding:16px}}@media(max-width:700px){.troop-upkeep-breakdown>header{align-items:start;flex-direction:column}.troop-upkeep-breakdown>header>small{text-align:left}.troop-upkeep-row{grid-template-columns:1fr}.troop-upkeep-values.total{padding-top:7px;padding-left:0;border-top:1px solid var(--line);border-left:0}}
