@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-XQK_CSAr.woff2) format("woff2"),url(/assets/cinzel-latin-ext-400-normal-DJ0Lq8y-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-ext-900-normal-CWXxiu5r.woff2) format("woff2"),url(/assets/cinzel-latin-ext-900-normal-BlZZvP7K.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-900-normal-BI3z7Tow.woff2) format("woff2"),url(/assets/cinzel-latin-900-normal-t_fSDEbn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--font-display: "Cinzel", "Trajan Pro", Georgia, serif;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--parchment: #f3e4c4;--parchment-dark: #d9c49a;--wood-dark: #3b2416;--wood-mid: #5a3a22;--wood-light: #8a5a33;--stone: #4a4540;--stone-light: #6b6359;--bronze: #b58c3f;--bronze-bright: #e6b458;--bronze-dark: #7a5a22;--sea-deep: #0c2a3a;--sea-mid: #164a66;--sea-glow: #3d8caa;--sunset-gold: #f2a73d;--crimson: #8b2a1f;--forest: #2f5233;--ink-dark: #2b1d10;--ink-on-parchment: #2b1d10;--ink-on-stone: #e8d9b8;--bg-page: var(--sea-deep);--bg-hero: radial-gradient( ellipse 80% 60% at 50% 30%, #2a6d88 0%, #164a66 38%, #0c2a3a 78%, #05161f 100% );--bg-hero-blob: radial-gradient( ellipse 60% 40% at 75% 18%, rgba(255, 210, 140, .22), transparent 60% );--panel: var(--parchment);--panel-elevated: #ede0bf;--panel-border: var(--wood-light);--text-on-panel: var(--ink-on-parchment);--text-muted: #6b533a;--ink: var(--ink-on-parchment);--ink-muted: #6b533a;--accent: var(--bronze);--accent-hover: var(--bronze-bright);--accent-ink: #1a0e00;--danger: var(--crimson);--success: var(--forest);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 18px;--shadow-card: 0 18px 40px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-soft: 0 6px 18px rgba(0, 0, 0, .35);--shadow-cinematic: 0 22px 52px rgba(0, 0, 0, .6), 0 2px 0 rgba(255, 255, 255, .08) inset;--glow-bronze: 0 0 0 1px rgba(230, 180, 88, .45), 0 0 22px rgba(230, 180, 88, .35);font-family:var(--font-ui);color:var(--ink-on-stone);background:var(--sea-deep);line-height:1.5}html,body{background:var(--sea-deep);color:var(--ink-on-stone)}.app-body-cinematic{min-height:100vh;background:var(--sea-deep);color:var(--ink-on-stone);overflow-x:hidden}.surface-parchment{background-color:var(--parchment);background-image:radial-gradient(ellipse 70% 45% at 30% 20%,rgba(255,240,210,.55),transparent 60%),radial-gradient(ellipse 60% 45% at 80% 80%,rgba(118,88,40,.18),transparent 60%),url(/textures/parchment-tile.png);background-size:auto,auto,512px 512px;background-blend-mode:normal,multiply,normal;color:var(--ink-on-parchment);border:1px solid var(--parchment-dark);box-shadow:var(--shadow-card)}.surface-wood{background-color:var(--wood-dark);background-image:linear-gradient(180deg,rgba(255,220,180,.1),transparent 40%),linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45) 100%),url(/textures/wood-tile.png);background-size:auto,auto,512px 512px;color:var(--ink-on-stone);border:2px solid var(--wood-mid);box-shadow:var(--shadow-cinematic)}.surface-stone{background-color:var(--stone);background-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,255,255,.08),transparent 60%),url(/textures/stone-tile.png);background-size:auto,512px 512px;color:var(--ink-on-stone);border:1px solid #2f2c29;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000073,var(--shadow-soft)}.frame-bronze{position:relative;border:18px solid transparent;border-image:url(/textures/frame-bronze.png) 80 / 18px stretch;box-shadow:0 0 0 2px var(--wood-dark),0 0 0 4px var(--bronze),0 0 0 6px var(--wood-dark),var(--shadow-cinematic);border-radius:2px}.glow-bronze{box-shadow:var(--glow-bronze)}.engraved-ink{font-family:var(--font-display);font-weight:700;letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,250,230,.55),0 -1px 0 rgba(30,16,4,.25);color:var(--ink-on-parchment)}.engraved-gold{font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze-bright);text-shadow:0 1px 0 rgba(0,0,0,.6),0 0 18px rgba(230,180,88,.25)}[data-theme=dark]{color-scheme:dark;--bg-page: #0b0f10;--bg-hero: linear-gradient(165deg, #121c1a 0%, #182220 38%, #0e1211 100%);--bg-hero-blob: radial-gradient( ellipse 70% 55% at 75% 12%, rgba(140, 180, 200, .06), transparent 50% );--panel: #151a1b;--panel-elevated: #1c2224;--panel-border: #323a3c;--text-on-panel: #d8e4df;--text-muted: #7d8c88;--ink: #dde8e3;--ink-muted: #8a9893;--accent: #5a9270;--accent-hover: #6fa884;--accent-ink: #081008;--danger: #c98882;--success: #6aab7e;--shadow-card: 0 10px 32px rgba(0, 0, 0, .42);--shadow-soft: 0 2px 16px rgba(0, 0, 0, .32);font-family:var(--font-ui);color:var(--ink);background-color:var(--bg-page);background-image:linear-gradient(180deg,#10161c8c,#080c0ee0),url(/textures/paper-tile.svg);background-size:auto,192px 192px;line-height:1.45}[data-theme=dark] .bank-strip-cell,[data-theme=dark] .resource-pile-item{color:var(--success)}[data-theme=dark] .resource-stack-top .resource-glyph-img--mono,[data-theme=dark] .bank-strip-dev-icon,[data-theme=dark] .bank-strip-cell .resource-glyph-img--mono,[data-theme=dark] .resource-pile-item .resource-glyph-img--mono,[data-theme=dark] .resource-stepper-row .resource-glyph-img--mono,[data-theme=dark] .board-dock-res-fo-inner .resource-glyph-img--mono,[data-theme=dark] .map-discard-stack .resource-glyph-img--mono{filter:brightness(0) saturate(100%) invert(74%) sepia(22%) saturate(380%) hue-rotate(98deg) brightness(.92) contrast(1.02);opacity:.94}[data-theme=dark] .map-discard-stack-top{color:var(--success)}[data-theme=dark] .build-cost-tip-card .resource-glyph-img--mono{filter:brightness(0) invert(.22);opacity:.92}[data-theme=dark] .build-cost-tip-card svg{color:#16201ceb}[data-theme=dark] .board-dock-res-fo-inner{color:var(--success)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#08140e59;color:#faf7f2;box-shadow:0 2px 12px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-toggle--floating{position:fixed;top:.65rem;right:.65rem;left:auto;z-index:9990}.theme-toggle--inline{flex-shrink:0}.theme-toggle:hover:not(:disabled){background:#0c201680;border-color:#ffffff59}[data-theme=dark] .theme-toggle{border-color:#ffffff14;background:#1c2224d1;color:var(--ink-muted);box-shadow:0 2px 12px #00000059}[data-theme=dark] .theme-toggle:hover:not(:disabled){background:#3d4a44f2;border-color:#ffffff2e}[data-theme=dark] button:not(.btn-primary):not(.btn-roll-dice):not(.dialog-confirm--danger):not(.theme-toggle):not(.toggle-switch):not(.menu-action-tile):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add),[data-theme=dark] .btn:not(.btn-primary):not(.btn-roll-dice):not(.dialog-confirm--danger){border-color:var(--panel-border);background:var(--panel-elevated);color:var(--ink)}[data-theme=dark] button:hover:not(:disabled):not(.btn-primary):not(.btn-roll-dice):not(.theme-toggle):not(.toggle-switch):not(.menu-action-tile):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add),[data-theme=dark] .btn:hover:not(:disabled):not(.btn-primary):not(.btn-roll-dice){background:#3d4a44;border-color:#5a6a62}[data-theme=dark] .btn-ghost{background:#2f3a3559;border-color:var(--panel-border)}[data-theme=dark] .btn-ghost:hover:not(:disabled){background:#5cb96329;border-color:#78cf8073}[data-theme=dark] .btn-primary{border-color:#388e3c;box-shadow:0 2px #00000038}[data-theme=dark] .btn-primary:hover:not(:disabled){border-color:#81c784}[data-theme=dark] input,[data-theme=dark] select{border-color:#ffffff1a;background:var(--panel-elevated);color:var(--ink)}[data-theme=dark] .card input,[data-theme=dark] .card select{background:#2c3632;color:var(--ink);border-color:var(--panel-border)}[data-theme=dark] option{background:#2f3a35;color:var(--ink)}[data-theme=dark] .lobby-panel{background:linear-gradient(165deg,var(--panel) 0%,var(--panel-elevated) 100%)}[data-theme=dark] .room-code-heading{background:linear-gradient(135deg,#5cb9632e,#2f3a35d9);border-color:#78cf8059}[data-theme=dark] .phase-banner{background:linear-gradient(90deg,var(--panel) 0%,var(--panel-elevated) 100%);border-color:var(--panel-border)}[data-theme=dark] .dice-pill{background:#3d4a44;color:var(--ink);border:1px solid var(--panel-border)}[data-theme=dark] .resource-chip{background:var(--panel-elevated);border-color:var(--panel-border)}[data-theme=dark] .board-frame{background:linear-gradient(180deg,#1a3542,#142a35 55%,#0f222c);border-color:#0f2832}[data-theme=dark] .bottom-bar{background:linear-gradient(180deg,var(--panel) 0%,#2a3430 100%);border-color:var(--panel-border);box-shadow:0 -4px 18px #0000002e}[data-theme=dark] .bottom-bar-build-limit{color:#8fd4f0;background:#2a333d;box-shadow:0 1px #0003}[data-theme=dark] .bottom-bar-dev-strip{border-left-color:#ffffff1a}[data-theme=dark] .bottom-bar-dev-card{border-color:#ffffff1f;background:var(--panel-elevated)}[data-theme=dark] .bottom-bar-trade-toggle{border-color:#ffffff1f;background:var(--panel-elevated);color:var(--ink);box-shadow:0 1px #ffffff0a inset}[data-theme=dark] .bottom-bar-trade-toggle:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff2e}[data-theme=dark] .bottom-bar-trade-toggle--active{background:#2196f333;border-color:#64b5f673;color:#e3f2fd;box-shadow:0 1px #ffffff0f inset,0 1px 4px #0003}[data-theme=dark] .bottom-bar-trade-toggle--active:hover:not(:disabled){background:#2196f347;border-color:#64b5f68c}[data-theme=dark] .bottom-bar-dev-kind{color:var(--text-muted)}[data-theme=dark] .bottom-bar-dev-panel{background:var(--panel);border-color:var(--panel-border);box-shadow:0 14px 40px #00000059}[data-theme=dark] .bottom-bar-dev-list-row{border-color:#ffffff1a;background:var(--panel-elevated);color:var(--ink)}[data-theme=dark] .bottom-bar-dev-list-row--vp{color:var(--text-muted)}[data-theme=dark] .game-event-log-line{border-color:#ffffff14;background:#2f3a358c}[data-theme=dark] .game-event-log-line--you-gain{border-color:#81c78473;background:linear-gradient(180deg,#2a3d30,#24362c)}[data-theme=dark] .game-event-log-line--you-lose{border-color:#e5737366;background:linear-gradient(180deg,#3d2a2c,#322426)}[data-theme=dark] .game-event-log-line--error{border-color:#ffb74d73;background:linear-gradient(180deg,#3d3528,#322c22);color:#ffe0b2}[data-theme=dark] .die-face{background:linear-gradient(145deg,#3d4844,#2c3432 55%,#252b2a);border-color:#6d7a76;box-shadow:0 3px #1a1f1e,0 6px 14px #00000047}[data-theme=dark] .die-cell--pip:after{background:radial-gradient(circle at 32% 28%,#f4f8f6,#c5d4ce 48%,#7d9088);box-shadow:inset 0 1px 1px #ffffff73,0 1px 2px #00000059}[data-theme=dark] .die-empty-glyph{color:#90a4ae}[data-theme=dark] .dice-display-sum{color:var(--ink);text-shadow:0 1px 0 rgba(0,0,0,.4)}[data-theme=dark] .dice-display-sum--pending,[data-theme=dark] .phase-wait-hint{color:var(--text-muted)}[data-theme=dark] .phase-chip{background:var(--panel-elevated);color:#9aad9f;border-color:var(--panel-border)}[data-theme=dark] .phase-chip--muted{background:#323c40;color:#b0bec5;border-color:#455a64}[data-theme=dark] .btn-knight-preroll{background:#3d3528!important;border-color:#a1887f!important;color:#ffe0b2!important}[data-theme=dark] .dialog-card{background:var(--panel);color:var(--text-on-panel);border-color:var(--panel-border);box-shadow:0 18px 55px #00000059}[data-theme=dark] .error{background:#e5737324;border-color:#e5737366;color:#ffcdd2}[data-theme=dark] .dock-card,[data-theme=dark] .hand-panel{background:var(--panel);border-color:var(--panel-border)}[data-theme=dark] .dock-card-alert{background:linear-gradient(180deg,#4a4030,#3d3528);border-color:#ffb74d73}[data-theme=dark] .dock-card-trade{background:linear-gradient(180deg,#2a3540,#243038);border-color:#64b5f666}[data-theme=dark] .trade-tab-btn.is-active{background:var(--panel);border-color:#78cf8080;color:var(--ink);box-shadow:0 1px #00000026}[data-theme=dark] .trade-part-chip{background:#354239;border-color:#4a5c4f}[data-theme=dark] .resource-stepper-btn{background:var(--panel-elevated);border-color:var(--panel-border);color:var(--ink)}[data-theme=dark] .resource-stepper-btn:hover:not(:disabled){background:#3d4a44}[data-theme=dark] .resource-pile-item{background:var(--panel-elevated);border-color:var(--panel-border)}[data-theme=dark] .trade-preview-bar{background:#2f3a35a6;border-color:#78cf8059}[data-theme=dark] .dev-kind{background:#3d4744;color:var(--ink)}[data-theme=dark] .player-roster-avatar{background:linear-gradient(180deg,#3d4844,#2f3836);border-color:#ffffff1f;color:var(--ink);box-shadow:inset 0 1px #ffffff14}[data-theme=dark] .player-roster-stat svg{color:var(--success)}[data-theme=dark] .player-roster-stat-icon,[data-theme=dark] .player-roster-award{filter:brightness(0) saturate(100%) invert(74%) sepia(22%) saturate(380%) hue-rotate(98deg) brightness(.92) contrast(1.02);opacity:.94}[data-theme=dark] .player-roster-vp-badge{color:#b8ccd4;background:#222c32;border-color:#5a737d59;box-shadow:0 2px 10px #0000004d}[data-theme=dark] .player-roster-card.is-self{background:#354539}[data-theme=dark] .player-roster-card.is-turn{box-shadow:0 0 0 2px #81c78480,0 0 24px 8px #4caf5059,0 0 42px 12px #64b5f638;animation:player-active-glow-dark 2.4s ease-in-out infinite}[data-theme=dark] .player-roster-turn-badge{background:linear-gradient(180deg,#36563c,#274230);border-color:#81c78480;color:#d7f0dc;box-shadow:inset 0 1px #cbf1d233,0 0 0 1px #81c78433,0 0 12px #66bb6a59}[data-theme=dark] .player-roster-turn-badge:before{background:#d8f1dd;box-shadow:0 0 0 1px #0b301580,0 0 12px #81c784d9}@keyframes player-active-glow-dark{0%,to{box-shadow:0 0 0 2px #81c78480,0 0 24px 8px #4caf5052,0 0 40px 12px #64b5f633}50%{box-shadow:0 0 0 2px #a5d6a799,0 0 36px 14px #66bb6a7a,0 0 56px 16px #64b5f647}}[data-theme=dark] .resource-stack-card{border-color:#00000059;box-shadow:inset 0 1px #ffffff1f}[data-theme=dark] .resource-stack-top{color:var(--success);border-color:#00000059;box-shadow:inset 0 1px #ffffff1f}[data-theme=dark] .resource-stack--wood{--stackBg: linear-gradient(180deg, #4a6b4e 0%, #3d5a42 100%)}[data-theme=dark] .resource-stack--brick{--stackBg: linear-gradient(180deg, #8b5a4d 0%, #6d4338 100%)}[data-theme=dark] .resource-stack--sheep{--stackBg: linear-gradient(180deg, #5a6e52 0%, #455a40 100%)}[data-theme=dark] .resource-stack--wheat{--stackBg: linear-gradient(180deg, #8a7a3d 0%, #6b5e30 100%)}[data-theme=dark] .resource-stack--ore{--stackBg: linear-gradient(180deg, #5c6b70 0%, #455055 100%)}[data-theme=dark] .toggle-switch{background:#3d4a52;border-color:var(--panel-border)}[data-theme=dark] .toggle-switch[aria-checked=true]{background:var(--accent);border-color:#4a735c}[data-theme=dark] .toggle-switch-thumb{background:#eceff1;box-shadow:0 1px 3px #00000059}[data-theme=dark] .toggle-switch[aria-checked=true] .toggle-switch-thumb{background:#f7faf9;box-shadow:0 1px 4px #0006}[data-theme=dark] .board-canvas-tool{background:#2f3a35eb!important;border-color:var(--panel-border)!important;color:var(--ink)!important}[data-theme=dark] .board-dice-roll-hit{background:#2f3a35f2;border-color:#ffffff1a;box-shadow:0 2px 10px #0003}[data-theme=dark] .board-dice-roll-hit:hover{background:#3d4a44fa}[data-theme=dark] .board-dice-static{background:#2f3a35eb;border-color:#ffffff1a}[data-theme=dark] .board-dice-roll-hit--glow{animation:dice-shine-strong-dark 1.35s ease-in-out infinite}[data-theme=dark] .board-dice-static--your-turn{animation:dice-shine-soft-dark 2.4s ease-in-out infinite}[data-theme=dark] .bottom-bar-timer-label{color:#d8e5debf}[data-theme=dark] .bottom-bar-timer-item--observer .bottom-bar-timer-label{color:#d8e5de8c}[data-theme=dark] .bottom-bar-turn-timer{background:#2f3a35d9;border-color:#ffffff1f;color:#9aafac}[data-theme=dark] .bottom-bar-turn-timer--urgent{border-color:#e573738c;color:#ffccbc;background:#3e2826f2}[data-theme=dark] .build-cost-tip-panel{background:linear-gradient(180deg,#363f3c,#2f3835);border-color:#ffffff1f;box-shadow:0 4px #0000001f,0 10px 28px #00000059}[data-theme=dark] .build-cost-tip-label{color:#8fa5a8}[data-theme=dark] .build-cost-tip-hint{color:#d8e5dee0}[data-theme=dark] .build-cost-tip-card{color:#eceff1;border-color:#00000059;box-shadow:inset 0 1px #ffffff1a}[data-theme=dark] .build-cost-tip-caret{border-top-color:#3d4844}[data-theme=dark] .map-trade-btn{background:var(--panel-elevated);border-color:var(--panel-border);color:var(--ink)}[data-theme=dark] .map-trade-btn--reject{background:var(--panel);border-color:var(--panel-border)}[data-theme=dark] .map-trade-response-row{background:#2f3a35bf;border-color:#ffffff14}[data-theme=dark] .map-trade-response-name{color:var(--ink)}[data-theme=dark] .map-trade-response-status--accepted{color:#a5d6a7}[data-theme=dark] .map-trade-response-status--rejected{color:#ef9a9a}[data-theme=dark] .map-trade-response-status--pending{color:var(--text-muted)}[data-theme=dark] .map-game-toast{border-color:#ffffff1a;background:#2f3a35f0}[data-theme=dark] .public-rooms-row{border-color:var(--panel-border)}[data-theme=dark] a{color:var(--accent)}[data-theme=dark] .app-main--play .board-frame{background:radial-gradient(ellipse 120% 80% at 50% -18%,rgba(90,130,155,.1),transparent 55%),linear-gradient(180deg,#162f3d,#102630 48%,#0a1c24);border-color:#061820eb;box-shadow:inset 0 1px #ffffff08,0 8px 28px #0006}[data-theme=dark] .phase-banner--play{background:linear-gradient(180deg,var(--panel) 0%,#2a3430 100%);border-color:var(--panel-border);box-shadow:0 2px 12px #00000026}[data-theme=dark] .phase-clean-text{color:#c8d4d0d1}[data-theme=dark] .map-game-toast--steal{color:#fff8e1;background:linear-gradient(180deg,#3a3420fa,#2a2618f7);border-color:#ffd54f59}[data-theme=dark] .map-game-toast--error{color:#ffccbc;background:linear-gradient(180deg,#4a3228,#3a2820);border-color:#ef535073}[data-theme=dark] .map-game-toast--info{color:#9eb5c4;background:linear-gradient(180deg,#162026f7,#121a20f2);border-color:#5a788747}[data-theme=dark] .map-trade-card,[data-theme=dark] .map-steal-card,[data-theme=dark] .map-discard-panel{background:var(--panel);border-color:var(--panel-border);color:var(--ink)}[data-theme=dark] .win-modal-card{background:linear-gradient(180deg,var(--panel) 0%,#2a3430 100%);border-color:var(--panel-border);color:var(--text-on-panel)}[data-theme=dark] .win-modal-reopen{border-color:var(--panel-border);background:var(--panel-elevated);color:var(--ink)}[data-theme=dark] .phase-room-label{color:#a0b9c3bf}[data-theme=dark] .phase-room-code{background:#1e2a32;color:#a8c4d4;border-color:#5a788759}[data-theme=dark] .map-steal-choice{border-color:var(--panel-border);background:var(--panel-elevated);color:var(--ink)}[data-theme=dark] .map-trade-avatar{background:var(--panel-elevated);border-color:var(--panel-border);color:var(--text-muted)}[data-theme=dark] .map-discard-row{background:#2f3a35a6;border-color:#ffffff14}[data-theme=dark] .map-discard-row--hand{background:#37423dd9}[data-theme=dark] .map-discard-sub,[data-theme=dark] .map-discard-row-hint{color:var(--text-muted)}[data-theme=dark] .map-discard-header-icon{background:linear-gradient(180deg,#2a3d4f,#243844);border-color:#64b5f680;color:#90caf9}[data-theme=dark] .map-discard-timer .bottom-bar-turn-timer{background:#2a3d4f;border-color:#64b5f673;color:#bbdefb}[data-theme=dark] .map-discard-timer .bottom-bar-turn-timer--urgent{background:#4a3228;border-color:#e573738c;color:#ffccbc}[data-theme=dark] .map-discard-timer .bottom-bar-turn-timer--empty{color:#d7ccc8;background:#3d3836;border-color:#ffffff1a}[data-theme=dark] .map-discard-stack-card,[data-theme=dark] .map-discard-stack-top{border-color:#00000059;box-shadow:inset 0 1px #ffffff1a}[data-theme=dark] .map-discard-stack--wood{--stackBg: linear-gradient(180deg, #4a6b4e 0%, #3d5a42 100%)}[data-theme=dark] .map-discard-stack--brick{--stackBg: linear-gradient(180deg, #8b5a4d 0%, #6d4338 100%)}[data-theme=dark] .map-discard-stack--sheep{--stackBg: linear-gradient(180deg, #5a6e52 0%, #455a40 100%)}[data-theme=dark] .map-discard-stack--wheat{--stackBg: linear-gradient(180deg, #8a7a3d 0%, #6b5e30 100%)}[data-theme=dark] .map-discard-stack--ore{--stackBg: linear-gradient(180deg, #5c6b70 0%, #455055 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3,.hero-title{font-family:var(--font-display)}a{color:var(--accent)}.app-root{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.cinematic-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% 35%,#3d8caa,#164a66 36%,#0c2a3a 70%,#05161f),var(--sea-deep)}.cinematic-backdrop--game{background:radial-gradient(ellipse 90% 70% at 50% 45%,#1a2a3a,#0b1a26 48%,#050d15 85%,#02070c),#050d15}.cinematic-backdrop-warroom{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,#7a522809,#0000 2px,#00000014 6px,#5a3a2207 11px,#0000 17px),radial-gradient(ellipse 60% 50% at 12% 18%,rgba(181,140,63,.07) 0%,transparent 65%),radial-gradient(ellipse 55% 45% at 88% 82%,rgba(61,140,170,.05) 0%,transparent 65%);mix-blend-mode:screen;opacity:.85}.cinematic-backdrop-warroom-grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/textures/parchment-tile.png);background-size:620px 620px;opacity:.05;mix-blend-mode:overlay;filter:saturate(0)}.cinematic-backdrop-image{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;width:108%;height:108%;background-image:url(/textures/backdrop-menu.png);background-size:cover;background-position:center 35%;background-repeat:no-repeat;will-change:transform;transform:translateZ(0);transition:transform .3s ease-out}.cinematic-backdrop-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 120% 90% at 50% 40%,transparent 20%,rgba(5,10,15,.55) 75%,rgba(0,0,0,.88) 100%),linear-gradient(180deg,rgba(6,12,18,.35) 0%,transparent 30%,transparent 65%,rgba(6,12,18,.55) 100%);pointer-events:none}.cinematic-backdrop--game .cinematic-backdrop-vignette{background:radial-gradient(ellipse 110% 90% at 50% 45%,transparent 25%,rgba(0,0,0,.55) 75%,rgba(0,0,0,.95) 100%)}.cinematic-backdrop-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.85}@keyframes ember-drift{0%{transform:translateY(0) translate(0);opacity:0}8%{opacity:.8}60%{opacity:.5}to{transform:translateY(-60vh) translate(10vw);opacity:0}}.lobby-error{margin:.65rem 0 0;padding:.5rem .65rem;border-radius:var(--radius-sm);background:#c628281f;color:var(--danger);font-size:.9rem;font-weight:600}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1rem 1rem 2rem}.hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-hero);background-image:var(--bg-hero-blob),var(--bg-hero);color:#faf7f2;padding:2rem 1.75rem 2.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-card)}.hero-inner{position:relative;z-index:1;max-width:36rem}.hero-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#d4a84bf2;margin:0 0 .5rem;font-weight:600}.hero-title{font-size:clamp(1.65rem,4vw,2.15rem);margin:0 0 .5rem;line-height:1.2}.hero-sub{margin:0;font-size:1rem;color:#faf7f2e0;max-width:32rem}.hero-tagline{margin:1rem 0 0;font-weight:600;font-size:.95rem;color:#d4a84bf2;letter-spacing:.04em}.lobby-home{display:flex;flex-direction:column;gap:1rem}.lobby-room-page{max-width:40rem;margin:0 auto;width:100%}.lobby-split{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:720px){.lobby-split{grid-template-columns:1fr 1fr;align-items:stretch}}.lobby-panel{display:flex;flex-direction:column;gap:.65rem;padding:1.15rem 1.2rem 1.2rem;min-height:100%;background:linear-gradient(165deg,#ffffff 0%,var(--panel-elevated) 100%);animation:lobby-panel-in .45s ease-out}.lobby-panel-eyebrow{margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.lobby-panel .lobby-panel-title{margin:0;font-family:var(--font-display);font-size:1.2rem;color:var(--ink);line-height:1.25}.lobby-panel-desc{margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.lobby-panel-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-top:.25rem}.lobby-field-grow{flex:1 1 12rem;min-width:0}.lobby-panel-primary{flex-shrink:0;padding:.5rem 1.1rem}.lobby-panel-switch{margin-top:.35rem;padding-top:.85rem;border-top:1px solid var(--panel-border)}.lobby-join-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-top:.35rem}.lobby-code-input{width:7.5rem;text-align:center;font-weight:700;font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase}.lobby-join-btn{padding:.5rem 1.25rem}.room-code-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;margin:0 0 .85rem;background:linear-gradient(135deg,#43a0471a,#1b5e200f);border:1px solid rgba(67,160,71,.28);border-radius:var(--radius-md)}.room-code-heading--solo{margin-bottom:.65rem}.room-code-heading-main{min-width:0}.room-code-heading-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.lobby-kick-btn{margin-left:auto;border-color:#c6282859;color:var(--danger)}.lobby-kick-btn:hover:not(:disabled){background:#c6282814;border-color:#c628288c}.room-code-heading-label{margin:0 0 .2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.room-code-heading-value{margin:0;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,Menlo,monospace;font-size:clamp(1.65rem,5vw,2.15rem);font-weight:800;letter-spacing:.14em;color:var(--ink);line-height:1.1}.lobby-room-card{padding:1.15rem 1.25rem 1.25rem;animation:lobby-panel-in .45s ease-out}.lobby-room-lead{margin:0 0 .85rem;font-size:.9rem;line-height:1.45}.lobby-wait-note{margin:.85rem 0 0;padding:.75rem .85rem;border-radius:var(--radius-md);background:var(--panel-elevated);border:1px solid var(--panel-border);color:var(--text-muted);font-size:.88rem;line-height:1.45}.lobby-host-settings{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--panel-border);display:flex;flex-direction:column;gap:1rem}.lobby-host-section-title{margin:0 0 .15rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.lobby-host-section-hint{margin:0 0 .55rem;font-size:.8rem;color:var(--text-muted);line-height:1.4}.lobby-start-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.lobby-vp-input{width:5.5rem;min-width:0}.lobby-turn-time-select{min-width:9.5rem}.lobby-turn-time-note{margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.lobby-start-switch{flex:1 1 10rem;min-width:0}.lobby-start-btn{margin-left:auto;padding:.5rem 1.15rem}@media(max-width:560px){.lobby-start-btn{margin-left:0;width:100%}}.lobby-roster-title{margin:.5rem 0 .45rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.lobby-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.lobby-roster-item{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem .65rem;background:var(--panel-elevated);border:1px solid var(--panel-border);border-radius:var(--radius-md)}.lobby-add-bot-row{margin:.35rem 0 .5rem}.lobby-color-row{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.lobby-color-preview{display:inline-block;width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid var(--panel-border);flex-shrink:0;box-sizing:border-box}.lobby-choose-color-btn{white-space:nowrap}.lobby-public-card{padding:1.1rem 1.2rem 1.2rem}.lobby-public-title{margin:0;font-family:var(--font-display);font-size:1.08rem;color:var(--ink)}.lobby-public-sub{margin:.35rem 0 0;font-size:.86rem;line-height:1.45}.lobby-public-empty{margin:.85rem 0 0;padding:.85rem 1rem;text-align:center;font-size:.88rem;color:var(--text-muted);background:var(--panel-elevated);border:1px dashed var(--panel-border);border-radius:var(--radius-md)}.lobby-join-card .lobby-join-actions{margin-top:.85rem}.card{background:var(--panel);color:var(--text-on-panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:1rem 1.15rem;margin-bottom:.75rem;box-shadow:var(--shadow-soft)}.card h3{font-family:var(--font-display);font-size:1.05rem;margin:0 0 .65rem;color:var(--ink)}.card-muted{font-size:.85rem;color:var(--text-muted)}.row{display:flex;flex-wrap:wrap;gap:.5rem .65rem;align-items:center}.row-tight{gap:.35rem}.panel{background:var(--panel);color:var(--text-on-panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:1rem 1.15rem;margin-bottom:.75rem;box-shadow:var(--shadow-soft)}.panel h3{font-family:var(--font-display);font-size:1.05rem;margin:0 0 .65rem;color:var(--ink)}.stack{display:flex;flex-direction:column;gap:.5rem}button:not(.menu-action-tile):not(.toggle-switch):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add),.btn{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.875rem;border-radius:var(--radius-sm);border:1px solid rgba(60,36,10,.3);background:linear-gradient(180deg,#f3e4c4,#d9c49a);color:var(--ink-on-parchment);padding:.4rem .75rem;box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000026;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}button:not(.menu-action-tile):not(.toggle-switch):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add):hover:not(:disabled),.btn:hover:not(:disabled){background:linear-gradient(180deg,#fbecc9,#e0cda1);border-color:var(--bronze)}button:not(.menu-action-tile):not(.toggle-switch):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add):active:not(:disabled),.btn:active:not(:disabled){transform:translateY(1px)}button:not(.menu-action-tile):not(.toggle-switch):not(.resource-stack-btn):not(.trade-pop-card):not(.trade-pop-want-add):disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 55%,var(--bronze-dark) 100%);color:var(--accent-ink);border-color:#5a3e15;box-shadow:inset 0 1px #ffecb899,inset 0 -2px #3c240a59,0 3px 10px #00000059;text-shadow:0 1px 0 rgba(255,232,170,.45)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#fbd07b,#e6b458 55%,#95661f);border-color:#4a3210;box-shadow:inset 0 1px #ffecb8b3,inset 0 -2px #3c240a66,0 4px 14px #e6b45866}.btn-primary:disabled{background:linear-gradient(180deg,#b09666,#8c7344);box-shadow:none;text-shadow:none}.btn-ghost{background:#f3e4c459;border-color:#3c240a59;color:var(--ink-on-parchment);box-shadow:none}.btn-ghost:hover:not(:disabled){background:#f3e4c4a6;border-color:var(--bronze)}input,select{font-family:var(--font-ui);border-radius:var(--radius-sm);border:1px solid rgba(60,36,10,.28);background:#fffcf0;color:var(--ink-on-parchment);padding:.4rem .55rem}input:focus,select:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 2px #e6b45847}.card input,.card select{background:#fffcf0;color:var(--ink-on-parchment);border-color:#3c240a47}label.field{display:inline-flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--text-muted)}.dock-card label.field span{color:var(--text-muted)}label.field span{font-weight:600;text-transform:uppercase;letter-spacing:.06em}.error{background:#c45c4a26;border:1px solid rgba(196,92,74,.45);color:#8b2e22;padding:.6rem .85rem;border-radius:var(--radius-md);font-size:.9rem;margin-bottom:.75rem}.connecting{padding:2rem;text-align:center;font-size:1rem;color:var(--ink-muted)}.game-shell{display:flex;flex-direction:column;gap:.75rem}.phase-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;background-color:var(--wood-dark);background-image:linear-gradient(180deg,rgba(255,220,170,.12),transparent 45%),url(/textures/wood-tile.png);background-size:auto,512px 512px;color:var(--ink-on-stone);border:1px solid var(--wood-mid);border-radius:6px;box-shadow:inset 0 1px #ffe6be24,0 0 0 1px #b58c3f59,0 6px 18px #00000059;padding:.75rem 1rem;box-shadow:var(--shadow-soft)}.phase-banner-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.phase-label{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--ink)}.phase-phase{color:var(--ink)}.phase-active-name{color:var(--success)}.phase-detail{font-size:.88rem;color:var(--text-muted)}.dice-pill{display:inline-flex;align-items:center;gap:.35rem;background:#c8e6c9;color:var(--ink);padding:.2rem .55rem;border-radius:999px;font-weight:700;font-size:.85rem}.game-layout{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.board-wrap{flex:1 1 420px;min-width:0}.board-frame{position:relative;background:linear-gradient(180deg,#1565c0,#0d47a1 55%,#0a3d91);border-radius:var(--radius-lg);padding:.75rem;border:1px solid #0a3f6e;box-shadow:none}.dock{flex:1 1 320px;min-width:min(100%,280px);max-width:440px;display:flex;flex-direction:column;gap:.65rem}.resource-strip{display:flex;flex-wrap:wrap;gap:.5rem}.resource-chip{display:flex;align-items:center;gap:.4rem;background:linear-gradient(180deg,#fdf2d2,#e6d2a0);border:1px solid rgba(60,36,10,.28);border-radius:var(--radius-md);padding:.35rem .55rem;min-width:4.5rem;color:var(--ink-on-parchment);box-shadow:inset 0 1px #ffffff73,0 1px 2px #00000026}.resource-chip svg{flex-shrink:0;opacity:.95}.resource-chip .name{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.resource-stack{--cardW: 2.4rem;--cardH: 3.05rem;--offset: .5rem;--stack: 1;position:relative;width:calc(var(--cardW) + (max(1,var(--stack)) - 1) * var(--offset));height:var(--cardH);flex-shrink:0;isolation:isolate}.resource-stack--bar{--cardW: 2.75rem;--cardH: 3.4rem;--offset: .56rem}.resource-stack--sm{--cardW: 1.9rem;--cardH: 2.45rem;--offset: .36rem}.resource-stack-card{--i: 0;position:absolute;top:0;left:calc(var(--i) * var(--offset));width:var(--cardW);height:var(--cardH);border-radius:5px;border:1px solid rgba(43,29,16,.85);box-shadow:inset 0 1px #fff0d240,inset 0 -2px 3px #00000038,0 1px 2px #06121c59;background:var(--stackBg);z-index:calc(10 + var(--i))}.resource-stack-top{position:absolute;top:0;left:calc((max(1,var(--stack)) - 1) * var(--offset));width:var(--cardW);height:var(--cardH);border-radius:5px;border:1.5px solid rgba(43,29,16,.9);box-shadow:inset 0 1px #fff0d252,inset 0 -2px 3px #00000040,0 2px 4px #06121c73;background:var(--stackBg);display:flex;align-items:center;justify-content:center;z-index:99}.resource-stack-badge{position:absolute;top:1px;right:1px;min-width:1.15rem;height:1.15rem;padding:0 .2rem;border-radius:999px;background:radial-gradient(circle at 32% 28%,#f6d78c,#b58c3f 55%,#6b4a1b);color:#1a0e00;font-family:var(--font-display);font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:1px solid rgba(60,36,10,.5);box-shadow:inset 0 1px #fff0c88c,0 1px 2px #0000004d;line-height:1}.resource-stack--wood{--stackBg: linear-gradient(160deg, #5e8040 0%, #3d6028 55%, #1f3a18 100%)}.resource-stack--brick{--stackBg: linear-gradient(160deg, #d07a42 0%, #9a4520 55%, #5a2a14 100%)}.resource-stack--sheep{--stackBg: linear-gradient(160deg, #e6f0b8 0%, #a8c87a 50%, #6a8a52 100%)}.resource-stack--wheat{--stackBg: linear-gradient(160deg, #f8d26a 0%, #c98e3a 55%, #7a5020 100%)}.resource-stack--ore{--stackBg: linear-gradient(160deg, #a1a8b0 0%, #5e6670 55%, #2f363f 100%)}.divider{height:1px;background:var(--panel-border);margin:.35rem 0}.dev-list{list-style:none;padding:0;margin:.35rem 0 0}.dev-list li{margin-bottom:.45rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.dev-kind{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;text-transform:capitalize;font-size:.78rem;background:linear-gradient(180deg,#ede0bf,#d9c49a);padding:.18rem .5rem;border-radius:4px;border:1px solid rgba(60,36,10,.3);color:var(--ink-on-parchment);box-shadow:inset 0 1px #ffffff73}.maritime-grid{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.maritime-grid button{font-size:.72rem;padding:.3rem .45rem}.section-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:.35rem}code{font-size:.85em}.player-roster{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.player-roster-card{flex:0 0 auto;min-width:132px;max-width:220px;background-color:var(--parchment);background-image:radial-gradient(ellipse 80% 50% at 30% 15%,rgba(255,240,210,.6),transparent 60%),radial-gradient(ellipse 60% 45% at 80% 85%,rgba(118,88,40,.18),transparent 60%),url(/textures/parchment-tile.png);background-size:auto,auto,512px 512px;color:var(--ink-on-parchment);border:1px solid rgba(60,36,10,.3);border-left:4px solid #888;border-radius:4px;padding:.45rem .65rem;box-shadow:inset 0 1px #ffffff73,0 3px 10px #00000059;transition:box-shadow .15s ease,transform .1s ease}.player-roster-row{display:flex;align-items:center;gap:.55rem}.player-roster-avatar{width:50px;height:50px;border-radius:999px;background:linear-gradient(180deg,#f3e4c4,#d9c49a);border:3px solid var(--bronze);display:grid;place-items:center;position:relative;flex-shrink:0;color:var(--ink-on-parchment);box-shadow:inset 0 1px #ffffff8c,0 2px 6px #0000004d}.player-roster-avatar svg{opacity:.98}.player-roster-vp-badge{position:absolute;left:-6px;bottom:-6px;display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .42rem;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:.82rem;color:#1a0e00;background:radial-gradient(circle at 32% 28%,#f6d78c,#b58c3f 60%,#6b4a1b);border:1px solid #3a2710;box-shadow:inset 0 1px #fff0c899,0 2px 6px #0006}.player-roster-main{min-width:0;flex:1 1 auto}.player-roster-card.is-turn{position:relative;z-index:1;box-shadow:0 0 0 2px #e6b458b3,0 0 20px 6px #e6b45866,0 0 36px 10px #f2a73d40,inset 0 1px #ffffff73,0 3px 10px #00000059;animation:player-active-glow 2.4s ease-in-out infinite}.player-roster-card.is-self{border-color:var(--bronze);box-shadow:inset 0 1px #ffffff80,0 0 0 1px #e6b45880,0 3px 10px #00000059}.player-roster-top{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.25rem}.player-roster-top-right{display:inline-flex;align-items:center;gap:.45rem;min-width:0;flex-shrink:0}.player-roster-turn-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.14rem .5rem;border-radius:999px;border:1px solid rgba(110,66,12,.45);background:linear-gradient(180deg,#f3d889,#d69f3a);color:#2a1700;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 1px #fff8d4b3,0 0 0 1px #ffcb6647,0 0 14px #e6b45861}.player-roster-turn-badge:before{content:"";width:.44rem;height:.44rem;border-radius:999px;background:#fff4d6;box-shadow:0 0 0 1px #4f2b0673,0 0 12px #ffd780e6;animation:player-turn-dot-pulse 1.2s ease-in-out infinite}.player-roster-awards{display:inline-flex;align-items:center;gap:.35rem}.player-roster-award{display:block;width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12));opacity:.95}.player-roster-name{font-weight:700;font-size:.84rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-roster-you{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--success);flex-shrink:0}.player-roster-stats{display:flex;flex-wrap:wrap;gap:.55rem .8rem;font-size:1.02rem;font-weight:800;color:var(--text-muted)}@keyframes player-active-glow{0%,to{box-shadow:0 0 0 2px #e6b458b3,0 0 22px 6px #e6b45866,0 0 40px 10px #f2a73d38,inset 0 1px #ffffff73,0 3px 10px #00000059}50%{box-shadow:0 0 0 2px #f2a73dd9,0 0 32px 12px #e6b4588c,0 0 50px 14px #f2a73d59,inset 0 1px #ffffff80,0 4px 20px #00000059}}@keyframes player-turn-dot-pulse{0%,to{transform:scale(.9);opacity:.85}50%{transform:scale(1.1);opacity:1}}.player-roster-stat{display:inline-flex;align-items:center;gap:.32rem}.player-roster-stat svg,.player-roster-stat .player-roster-stat-icon{flex-shrink:0}.player-roster-stat .player-roster-stat-icon{display:block;object-fit:contain}.dock-inner{display:flex;flex-direction:column;gap:.65rem}.dock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.65rem;align-items:start}.dock-sidebar-inner{min-width:0}.dock-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:.75rem .9rem;box-shadow:var(--shadow-soft)}.dock-card h3{font-family:var(--font-display);font-size:.98rem;margin:0 0 .5rem;color:var(--ink)}.dock-card-wide{grid-column:1 / -1}.dock-trade-details{align-self:start;grid-column:1 / -1;min-width:0}.dock-trade-details-body{padding-top:.35rem;border-top:1px solid var(--panel-border);margin-top:.35rem}.dock-trade-title{font-weight:700;color:var(--ink);display:flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none}.dock-card-alert{border-color:#ffcc80;background:#fff8e1}.dock-card-trade{border-color:#90caf9;background:#f3f9ff}.dock-hint{font-size:.78rem;color:var(--text-muted);margin:.35rem 0 0}.harbor-line{font-size:.78rem;margin:0 0 .5rem}.colonist-maritime button{font-size:.7rem}.trade-domestic{margin-top:.35rem}.trade-tabs{display:flex;gap:.35rem;padding:.25rem;border-radius:10px;border:1px solid var(--panel-border);background:var(--panel-elevated);margin:.45rem 0 .55rem}.trade-tab-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .6rem;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted)}.trade-tab-btn:hover:not(:disabled){background:#81c7842e;border-color:#81c78459}.trade-tab-btn.is-active{background:#fff;border-color:#81c7848c;color:var(--ink);box-shadow:0 1px #15351f14}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}@media(max-width:520px){.trade-columns{grid-template-columns:1fr}}@container game-sidebar (max-width: 400px){.dock-trade-details .trade-columns{grid-template-columns:1fr}.dock-trade-details .trade-preview-bar{flex-direction:column;align-items:stretch;gap:.4rem}.dock-trade-details .trade-preview-mid{display:none}.dock-trade-details .resource-stepper-row{grid-template-columns:20px minmax(0,1fr) 30px 22px 30px;gap:.25rem;font-size:.78rem}.dock-trade-details .resource-stepper-btn{min-width:30px;min-height:30px}}@container game-sidebar (max-width: 280px){.dock-trade-details .trade-tabs{flex-direction:column}.dock-trade-details .trade-tab-btn{width:100%}}.trade-offer-line{font-size:.88rem;color:var(--text-on-panel);margin:0 0 .5rem}.trade-part{display:inline-flex;flex-wrap:wrap;gap:.25rem;vertical-align:middle}.trade-part-chip{display:inline-block;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:999px;padding:.1rem .45rem;font-size:.78rem;font-weight:600}.resource-stepper{display:flex;flex-direction:column;gap:.35rem}.resource-stepper-row{display:grid;grid-template-columns:22px 1fr 32px 28px 32px;align-items:center;gap:.35rem;font-size:.82rem}.resource-stepper-icon{color:var(--success)}.resource-stepper-label{text-transform:capitalize;color:var(--text-muted);font-size:.78rem}.resource-stepper-val{text-align:center;font-weight:700;color:var(--ink)}.resource-stepper-btn{display:inline-flex;align-items:center;justify-content:center;padding:.2rem;min-width:32px;min-height:32px;border-radius:var(--radius-sm);border:1px solid #a5d6a7;background:#fff;color:var(--ink)}.resource-stepper-btn:hover:not(:disabled){background:#e8f5e9}.discard-rows{display:flex;flex-direction:column;gap:.35rem}.resource-pile{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;vertical-align:middle}.resource-pile--compact{gap:.2rem .35rem}.resource-pile-item{display:inline-flex;align-items:center;gap:.15rem;background:#f1f8f4;border:1px solid #c8e6c9;border-radius:999px;padding:.08rem .4rem .08rem .25rem;color:var(--ink)}.resource-pile-n{font-weight:800;font-size:.78rem}.resource-pile-empty{font-style:italic}.trade-offer-visual{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.65rem;font-size:.9rem}.trade-offer-gives,.trade-offer-wants{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.trade-offer-arrow{font-weight:800;color:var(--success)}.partner-hand-hint{font-size:.78rem;margin:.35rem 0 .5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.trade-preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .65rem;margin-bottom:.65rem;background:#f9fcf9;border:1px dashed #a5d6a7;border-radius:var(--radius-md)}.trade-preview-side{display:flex;flex-direction:column;gap:.25rem;min-width:0}.trade-preview-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.trade-preview-mid{font-size:1.35rem;font-weight:800;color:var(--success);flex-shrink:0}.maritime-trade-btn{min-height:2.5rem;display:inline-flex;align-items:center;justify-content:center}.maritime-trade-inner{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:center}.maritime-arrow{font-weight:800;color:var(--success)}.build-costs{font-size:.78rem;margin-bottom:.5rem}.build-cost-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.build-cost-row span:first-child{font-weight:600;min-width:4.5rem}.build-mode-buttons button:disabled{opacity:.4;cursor:not-allowed}.app-root--play{height:100vh;max-height:100vh;overflow:hidden}.app-main--play{flex:1;min-height:0;max-width:none;width:100%;margin:0;padding:.35rem .45rem .4rem;overflow:hidden;display:flex;flex-direction:column}.app-main--play .game-shell{flex:1;min-height:0;display:flex;flex-direction:column;gap:.4rem;overflow:hidden}.app-main--play .game-shell.map-theme-day{background:radial-gradient(ellipse 120% 90% at 50% -15%,rgba(184,229,255,.34) 0%,transparent 62%),linear-gradient(180deg,#f3e3c9,#dfbf93 58%,#c89a68);border-radius:12px;padding:.45rem}.app-main--play .game-shell.map-theme-night{background:radial-gradient(ellipse 120% 90% at 50% -20%,rgba(46,72,106,.24) 0%,transparent 58%),linear-gradient(180deg,#2a1a10,#1f130c 58%,#170f08);border-radius:12px;padding:.45rem}.player-roster-scroll{flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:1px}.player-roster-scroll .player-roster{flex-wrap:nowrap;gap:.35rem;min-width:min-content}.player-roster-scroll .player-roster-card{flex:0 0 auto;min-width:138px;max-width:178px;padding:.45rem .55rem}.app-main--play .game-main-split{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,22vw);grid-template-rows:minmax(0,1fr);gap:.45rem;align-items:stretch;overflow:hidden}.app-main--play .board-column{flex:none;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:stretch;overflow:visible}.app-main--play .board-column>.game-bottom{width:100%;max-width:100%;position:relative;z-index:50}.app-main--play .board-frame{flex:1 1 auto;width:100%;height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:.35rem .4rem;border-radius:14px;background:radial-gradient(ellipse 80% 60% at 50% 50%,#1f5b78,#164a66 35%,#0c2a3a 72%,#061626);border:2px solid var(--wood-dark);outline:1px solid rgba(181,140,63,.6);outline-offset:-5px;box-shadow:inset 0 0 0 3px #140c06a6,inset 0 2px #ffe6be1a,inset 0 -2px #0000008c,inset 0 0 60px #00000073,0 10px 30px #020c1899;position:relative}.app-main--play .board-frame.map-theme-day{background:radial-gradient(ellipse 80% 60% at 50% 50%,#55a8cf,#3e8bb5 34%,#2c6b92 72%,#205170);border-color:#7b5130;outline-color:#ebca96b3;box-shadow:inset 0 0 0 3px #56361c73,inset 0 2px #ffeccd4d,inset 0 -2px #22140b40,inset 0 0 48px #120a0538,0 10px 24px #0c182261}.map-theme-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.22rem .4rem;border-radius:999px;border:1px solid rgba(37,24,15,.55);background:#fbeccfeb;color:#3e2a1a;box-shadow:0 2px 8px #060c1242}.map-theme-toggle-label{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.board-frame.map-theme-night .map-theme-toggle,.game-shell.map-theme-night .map-theme-toggle{border-color:#c4b39361;background:#0b131bd6;color:#d6c3a2}.phase-banner-right .map-theme-toggle{margin-right:.15rem}.app-main--play .board-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:repeating-linear-gradient(90deg,#7a52281f,#0000 2px,#140c062e 6px,#5a3a220f 11px,#0000 17px);pointer-events:none;mix-blend-mode:overlay;opacity:.55}.board-svg-measure{width:100%;height:100%;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}.board-svg{width:100%;height:100%;max-width:100%;overflow:visible;max-height:100%;display:block}.board-svg .board-hex-pip-num{fill:#1a1208}.board-svg .board-hex-pip-num--red{fill:var(--crimson)}.board-svg .board-harbor-pier{stroke:var(--wood-dark);stroke-opacity:.95}.game-shell.map-theme-night .board-svg .board-harbor-pier{stroke:#d9e5e8;stroke-opacity:.9;filter:drop-shadow(0 1px 1.5px rgba(3,10,18,.75))}.board-svg .board-harbor-chip{fill:var(--parchment);stroke:var(--wood-dark);stroke-width:1.5;filter:drop-shadow(0 2px 3px rgba(6,18,28,.45))}.board-svg .board-harbor-chip-text{fill:var(--ink-on-parchment);font-family:var(--font-display, "Cinzel", serif);font-weight:700}.board-svg-hex-skin{filter:saturate(1.08) contrast(1.06) brightness(.98)}.board-frame.map-theme-day .board-svg-hex-skin{filter:saturate(1.16) contrast(1.04) brightness(1.08)}.board-frame.map-theme-night .board-svg-hex-skin{filter:saturate(.96) contrast(1.08) brightness(.88)}[data-theme=dark] .board-svg .board-harbor-pier{stroke:#9aa8a5;stroke-opacity:.45}[data-theme=dark] .board-svg .board-harbor-chip{fill:#0d1210;stroke:#6aab7e52}[data-theme=dark] .board-svg .board-harbor-chip-text{fill:#d5e0dc}[data-theme=dark] .board-svg-water{opacity:.92}[data-theme=dark] .board-svg-beach{opacity:.88}[data-theme=dark] .board-svg-hex-skin{filter:brightness(.74) saturate(.68) contrast(.98)}[data-theme=dark] .board-svg-tile-fringe{stroke:#2a1f12;opacity:.32}.board-dock-res-fo-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#1a2433}.app-main--play .dock-card{padding:.55rem .65rem}.app-main--play .dock-card h3{font-size:.88rem;margin-bottom:.4rem}.app-main--play .chat-stub summary{font-size:.88rem}.app-main--play .game-event-log-panel{max-height:min(200px,30vh)}@media(max-height:720px){.app-main--play .game-event-log-panel{max-height:min(140px,24vh)}}.app-main--play .game-event-log-scroller{font-size:.74rem}.app-main--play .dock-grid{gap:.45rem}.dock-preroll-hint{font-size:.78rem;line-height:1.35}.phase-banner--play{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem .75rem;padding:.55rem 1rem;background-color:var(--wood-dark);background-image:linear-gradient(180deg,rgba(255,220,170,.16),transparent 45%),linear-gradient(180deg,transparent 60%,rgba(0,0,0,.55) 100%),repeating-linear-gradient(90deg,#7a52282e,#3b241600 2px,#140c0640 6px,#5a3a2214 11px,#3b241600 17px),radial-gradient(ellipse 60% 120% at 15% 50%,rgba(138,90,51,.25) 0%,transparent 60%),radial-gradient(ellipse 55% 120% at 85% 50%,rgba(138,90,51,.18) 0%,transparent 65%),url(/textures/wood-tile.png);background-size:auto,auto,auto,auto,auto,512px 512px;border:1px solid var(--wood-mid);border-radius:6px;box-shadow:inset 0 1px #ffe6be2e,inset 0 -2px #00000080,0 0 0 1px #b58c3f66,0 10px 24px #00000080;color:var(--ink-on-stone)}.game-shell.map-theme-day .phase-banner--play{background-color:#b37744;border-color:#7f532f;box-shadow:inset 0 1px #ffedd36b,inset 0 -2px #4d2c1457,0 0 0 1px #e6c48e80,0 10px 24px #5e3f2257}.phase-banner-left{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;min-width:0}.phase-banner-room{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.phase-room-label{font-family:var(--font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#e6b458d9}.phase-room-code{font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.18em;background:linear-gradient(180deg,#ede0bf,#d9c49a);color:var(--ink-on-parchment);padding:.18rem .55rem;border-radius:6px;border:1px solid rgba(60,36,10,.4);box-shadow:inset 0 1px #fff6,0 1px 2px #0000004d}.phase-banner-mid{display:flex;justify-content:center;align-items:center;min-width:0}.phase-clean-mid{display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;flex-wrap:wrap}.phase-clean-text{font-family:var(--font-display);font-size:.92rem;color:var(--bronze-bright);font-weight:600;letter-spacing:.08em;min-width:0;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.55),0 0 16px rgba(230,180,88,.22)}.phase-banner-right{justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;text-align:right;min-width:0}.phase-leave-btn{flex-shrink:0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:#020c188c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-card{width:min(420px,100%);background:var(--panel);color:var(--text-on-panel);border:1px solid rgba(8,24,48,.18);border-radius:var(--radius-lg);box-shadow:0 18px 55px #00000047;padding:1rem 1.1rem 1.05rem}.dialog-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.05rem;color:var(--ink)}.dialog-desc{margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.4}.dialog-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.5rem}.color-picker-dialog{width:min(400px,100%)}.color-picker-hint{margin:0 0 .75rem;font-size:.86rem;color:var(--text-muted);line-height:1.4}.color-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.color-picker-tile{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .35rem;border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-elevated);font-size:.75rem;font-weight:600;color:var(--ink);cursor:pointer;min-width:0}.color-picker-tile-swatch{width:2rem;height:2rem;border-radius:50%;border:2px solid var(--panel-border);box-sizing:border-box;flex-shrink:0}.color-picker-tile-label{text-align:center;line-height:1.15}.color-picker-tile--current{box-shadow:0 0 0 2px var(--ink)}.color-picker-tile--disabled{opacity:.4;cursor:not-allowed}.color-picker-tile:hover:not(:disabled):not(.color-picker-tile--disabled){filter:brightness(1.04)}.dialog-confirm--danger{background:linear-gradient(180deg,#ef5350,#c62828)!important;border-color:#8e1b1b!important;box-shadow:0 2px #8e1b1b59!important}@keyframes win-confetti-fall{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:1}to{transform:translate3d(var(--win-confetti-drift, 0px),108vh,0) rotate(720deg);opacity:.88}}.win-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;display:grid;place-items:center;padding:1rem;background:radial-gradient(ellipse at center,#164a66b8,#0c2a3ae0 70%,#040e16f0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.win-modal-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.win-modal-confetti-piece{position:absolute;top:-10%;border-radius:2px;opacity:.95;box-shadow:0 0 1px #0000001f;animation-name:win-confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}.win-modal-card{position:relative;z-index:1;width:min(480px,100%);max-height:min(92vh,720px);overflow-y:auto;padding:1.75rem 1.6rem 1.4rem;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(165deg,#f3e4c4fa,#d9c49afa);background-size:420px 420px,auto;background-blend-mode:multiply,normal;color:var(--ink-on-parchment);border:3px solid var(--wood-dark);outline:2px solid var(--bronze);outline-offset:-7px;border-radius:4px;box-shadow:inset 0 1px #fff0d28c,inset 0 -3px #3b241640,0 0 0 4px #06121c4d,0 30px 60px #0009,0 0 120px #e6b45859;text-align:center}.win-modal-dismiss{position:absolute;top:.75rem;right:.75rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border-radius:50%;border:2px solid var(--wood-dark);background:radial-gradient(circle at 35% 30%,var(--bronze-bright) 0%,var(--bronze) 55%,#7a5a22 100%);color:var(--wood-dark);cursor:pointer;line-height:0;box-shadow:inset 0 1px #fff0d28c,0 2px 4px #0a162066;transition:transform .12s ease,filter .14s ease}.win-modal-dismiss:hover{filter:brightness(1.08);transform:scale(1.06)}.win-modal-reopen{position:fixed;bottom:max(.75rem,env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:10018;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:2px;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 55%,#8a5f24 100%);box-shadow:inset 0 1px #fff0d280,0 6px 20px #06121c80,0 0 24px #e6b45873;font-family:var(--font-display, "Cinzel", serif);font-size:.88rem;font-weight:700;letter-spacing:.08em;color:#2b1d10;text-shadow:0 1px 0 rgba(255,240,210,.45);cursor:pointer}.win-modal-reopen:hover{filter:brightness(1.08)}.win-modal-eyebrow{margin:0 0 .5rem;font-family:var(--font-display, "Cinzel", serif);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--bronze);text-shadow:0 1px 0 rgba(255,240,210,.5)}.win-modal-title{margin:0 0 .65rem;font-family:var(--font-display, "Cinzel", serif);font-size:clamp(1.65rem,4.5vw,2.3rem);font-weight:700;line-height:1.15;color:var(--wood-dark);letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,240,210,.6),0 2px 6px rgba(230,180,88,.35)}.win-modal-subtitle{margin:0;font-size:.98rem;line-height:1.55;color:var(--ink-muted)}.win-modal-subtitle strong{color:var(--wood-dark);font-family:var(--font-display, "Cinzel", serif);font-weight:700;letter-spacing:.03em}.win-modal-actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.win-modal-btn{min-width:8.5rem}.win-modal-btn--primary:disabled{opacity:.45;cursor:not-allowed}.win-modal-host-hint{margin:.85rem 0 0;font-size:.82rem;line-height:1.45;color:var(--ink-muted);font-style:italic}.end-game-stats{margin-top:1.1rem;padding-top:1rem;border-top:1px solid rgba(8,24,48,.1);text-align:left}.end-game-stats-heading{margin:0 0 .35rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:center}.end-game-stats-meta{margin:0 0 .65rem;font-size:.8rem;color:var(--text-muted);text-align:center}.end-game-dice-desc{margin:0 0 .4rem;font-size:.72rem;line-height:1.4;color:var(--text-muted);text-align:center}.end-game-dice-figure{margin:0 0 .9rem;width:100%}.end-game-dice-recharts{width:100%;height:220px;min-width:0}.end-game-stats-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.end-game-stats-player{margin:0;padding:.65rem .75rem;border-radius:var(--radius-md);background:#0818300a;border:1px solid rgba(8,24,48,.08)}.end-game-stats-player-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.end-game-stats-player-name{font-weight:800;font-size:.92rem;color:var(--ink)}.end-game-stats-player-vp{font-weight:800;font-size:.88rem;color:#2d6fd4}.end-game-stats-player-detail{font-size:.78rem;line-height:1.45;color:var(--text-muted)}.end-game-stats-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.end-game-stats-badge{font-size:.68rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:#e8b92333;color:var(--ink);border:1px solid rgba(232,185,35,.45)}[data-theme=dark] .end-game-stats{border-top-color:#5a788759}[data-theme=dark] .end-game-stats-player{background:#0003;border-color:var(--panel-border)}[data-theme=dark] .end-game-stats-player-vp{color:#7ab8ff}.phase-roll-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem}.btn-roll-dice{font-family:var(--font-display, "Cinzel", serif)!important;font-size:1rem!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;padding:.55rem 1.5rem!important;border-radius:4px!important;border:2px solid var(--wood-dark)!important;outline:1px solid var(--bronze);outline-offset:-5px;background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 55%,#8a5f24 100%)!important;color:#2b1d10!important;text-shadow:0 1px 0 rgba(255,240,210,.45);box-shadow:inset 0 1px #fff0d280,0 3px 0 var(--wood-dark),0 8px 22px #06121c8c,0 0 18px #e6b45880!important}.btn-roll-dice:hover:not(:disabled){filter:brightness(1.08)}.btn-roll-dice:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #fff0d280,0 1px 0 var(--wood-dark),0 4px 10px #06121c8c!important}.btn-knight-preroll{font-family:var(--font-display, "Cinzel", serif)!important;font-size:.78rem!important;font-weight:700!important;letter-spacing:.08em!important;padding:.45rem .85rem!important;border-radius:4px!important;background:linear-gradient(180deg,#f3e4c4f5,#d9c49af0)!important;border:1px solid var(--wood-mid)!important;color:var(--ink-on-parchment)!important;box-shadow:inset 0 1px #fff0d28c,0 2px 6px #0a16204d!important}.phase-wait-hint{font-size:.85rem;color:var(--ink-on-stone);text-align:center;max-width:22rem;line-height:1.4;font-style:italic;opacity:.85}.phase-phase-line{display:flex;flex-direction:column;gap:.2rem;align-items:center}.phase-chip{display:inline-block;font-family:var(--font-display, "Cinzel", serif);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:.22rem .55rem;border-radius:2px;background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 100%);color:#2b1d10;border:1px solid var(--wood-dark);text-shadow:0 1px 0 rgba(255,240,210,.4);box-shadow:inset 0 1px #fff0d273}.phase-chip--muted{background:#5b3a2259;color:var(--ink-on-stone);border-color:#5b3a2280;text-shadow:none;box-shadow:inset 0 1px #e8d9b824}.phase-turn-who{font-size:.82rem;color:var(--ink-on-stone);opacity:.85;font-style:italic}.phase-phase-block{display:flex;flex-direction:column;gap:.15rem;align-items:flex-end}.phase-active-line{font-size:.8rem;color:var(--ink-on-stone);opacity:.9}.phase-active-label{font-family:var(--font-display, "Cinzel", serif);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.62rem;margin-right:.35rem;color:var(--bronze)}.phase-active-name{font-family:var(--font-display, "Cinzel", serif);color:var(--bronze-bright);font-size:.9rem;font-weight:700;letter-spacing:.04em}.dice-display{display:flex;align-items:center;gap:.5rem}.dice-display-pair{display:flex;gap:.35rem;align-items:center}.die-face{width:48px;height:48px;border-radius:8px;background:linear-gradient(145deg,#f5ecd7,#e8d9b8 45%,#d4c091);border:1px solid var(--wood-dark);box-shadow:inset 0 1px #fffae6cc,inset 0 -2px 4px #5b3a222e,0 2px 0 var(--wood-dark),0 6px 14px #0a162066;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:5px;gap:1px;box-sizing:border-box;position:relative}.die-face:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at 30% 20%,rgba(255,250,230,.35) 0%,transparent 60%);pointer-events:none}.die-face--empty{display:flex;align-items:center;justify-content:center;grid-template-columns:unset;grid-template-rows:unset;padding:0;background:linear-gradient(145deg,#e4d4b0,#d1bf94 55%,#b8a471);filter:saturate(.85)}.die-empty-rune{width:22px;height:22px;stroke:#3b24168c;fill:#3b2416bf;opacity:.85}.board-dice-static--your-turn .die-face--empty{animation:die-empty-breathe 2.4s ease-in-out infinite}@keyframes die-empty-breathe{0%,to{box-shadow:inset 0 1px #fffae6cc,inset 0 -2px 4px #5b3a222e,0 2px 0 var(--wood-dark),0 6px 14px #0a162066,0 0 #e6b45800}50%{box-shadow:inset 0 1px #fffae6cc,inset 0 -2px 4px #5b3a222e,0 2px 0 var(--wood-dark),0 6px 14px #0a162066,0 0 18px #e6b4588c}}.die-cell{display:flex;align-items:center;justify-content:center}.die-cell--pip:after{content:"";width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--wood-mid) 0%,var(--wood-dark) 55%,#1a0f08 100%);box-shadow:inset 0 -1px 1px #fff0d22e,inset 0 1px 2px #00000080,0 1px #fff0d240}.dice-display-sum-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:2.5rem}.dice-display-sum{font-family:var(--font-display, "Cinzel", serif);font-size:1.75rem;font-weight:700;color:var(--bronze-bright);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(30,16,6,.6),0 0 8px rgba(230,180,88,.4);letter-spacing:.03em}.dice-display-sum--pending{font-family:var(--font-display, "Cinzel", serif);font-size:.7rem;font-weight:700;color:var(--ink-on-stone);text-transform:uppercase;letter-spacing:.14em;text-align:center;max-width:5rem;line-height:1.2;opacity:.8}.app-main--play .game-bottom{flex-shrink:0;min-height:0}.app-main--play .game-sidebar{min-height:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,220,170,.08),transparent 30%),linear-gradient(180deg,transparent 70%,rgba(0,0,0,.35) 100%),repeating-linear-gradient(90deg,#7a522826,#0000 2px,#140c0638 6px,#5a3a220f 11px,#0000 17px),var(--wood-dark);border:2px solid var(--wood-dark);border-radius:10px;box-shadow:inset 0 1px #ffe6be26,inset 0 -2px #00000073,0 0 0 1px #b58c3f66,0 10px 24px #00000080;padding:.6rem .55rem}.game-shell.map-theme-day .game-sidebar{background:linear-gradient(180deg,rgba(255,224,177,.28),transparent 30%),linear-gradient(180deg,transparent 70%,rgba(72,45,25,.22) 100%),repeating-linear-gradient(90deg,#b4804933,#0000 2px,#68462829 6px,#a9794914 11px,#0000 17px),#9a663d;border-color:#6c4529;box-shadow:inset 0 1px #ffe8c670,inset 0 -2px #3a231247,0 0 0 1px #ebc89185,0 10px 24px #462c1857}.game-sidebar-inner{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--bronze) rgba(0,0,0,.25);display:flex;flex-direction:column;gap:.5rem;padding-right:2px;container-type:inline-size;container-name:game-sidebar}.game-sidebar-inner::-webkit-scrollbar{width:6px}.game-sidebar-inner::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:3px}.game-sidebar-inner::-webkit-scrollbar-track{background:#00000040}.sidebar-section-title{font-family:var(--font-display);font-size:.78rem;margin:.15rem 0 .25rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.sidebar-opponents{flex-shrink:0}.chat-stub{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:.35rem .5rem;font-size:.82rem}.chat-stub summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none}.chat-stub summary::-webkit-details-marker{display:none}.chat-stub summary::marker{content:"";font-size:0}.chat-stub summary:before{content:"";display:inline-block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-top:-.12em;opacity:.65;flex-shrink:0;transition:transform .15s ease,margin .15s ease}.chat-stub[open]>summary:before{transform:rotate(45deg);margin-top:.08em}.chat-stub-body{margin:.35rem 0 0;font-size:.78rem}.game-chat-panel{flex-shrink:0;display:flex;flex-direction:column;min-height:0;height:min(215px,25vh);overflow:hidden;background-color:var(--parchment);background-image:radial-gradient(ellipse 90% 80% at 50% 40%,#fff6dcc7,#f3e4c48c 55%,#d9c49a66),url(/textures/parchment-tile.png);background-size:auto,512px 512px;background-blend-mode:normal,soft-light;color:var(--ink-on-parchment);border:1.5px solid var(--wood-dark);outline:1px solid rgba(181,140,63,.55);outline-offset:-4px;border-radius:var(--radius-md);padding:.5rem .6rem .6rem;box-shadow:inset 0 1px #fff0d28c,inset 0 -2px #3b24162e,0 6px 18px #0a162073;position:relative}.game-chat-panel>.sidebar-section-title{flex-shrink:0;color:var(--wood-dark);font-family:var(--font-display, "Cinzel", serif);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;padding-bottom:.3rem;margin-bottom:.3rem;border-bottom:1px solid rgba(181,140,63,.45)}.game-chat-empty{color:var(--ink-muted);font-style:italic;text-align:center;padding:.8rem .5rem;opacity:.75}.game-chat-panel-inner{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:.35rem}.game-chat-scroller{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;font-size:.78rem;line-height:1.4;color:var(--ink)}.game-chat-empty{margin:0;font-size:.76rem}.game-chat-line{display:flex;gap:.35rem;align-items:flex-start;margin-bottom:.35rem}.game-chat-line:last-child{margin-bottom:0}.game-chat-line--self .game-chat-author{color:var(--ink-muted)}.game-chat-dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0;margin-top:.35em}.game-chat-line-main{display:flex;flex-direction:column;gap:.08rem;min-width:0}.game-chat-author{font-weight:700;font-size:.72rem;color:var(--ink-muted)}.game-chat-text{word-break:break-word;white-space:pre-wrap}.game-chat-form{display:flex;gap:.35rem;align-items:center;flex-shrink:0}.game-chat-input{flex:1;min-width:0;font:inherit;font-size:.8rem;padding:.35rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-elevated);color:var(--ink)}.game-chat-input:focus{outline:2px solid var(--accent);outline-offset:1px}.game-chat-send{flex-shrink:0}.game-event-log-panel{flex-shrink:0;display:flex;flex-direction:column;min-height:0;height:min(220px,32vh);overflow:hidden;background-color:var(--parchment);background-image:radial-gradient(ellipse 90% 80% at 50% 40%,#fff6dcc7,#f3e4c48c 55%,#d9c49a66),url(/textures/parchment-tile.png);background-size:auto,420px 420px;background-blend-mode:normal,soft-light;border:1.5px solid var(--wood-dark);outline:1px solid rgba(181,140,63,.55);outline-offset:-4px;border-radius:var(--radius-md);padding:.4rem .5rem .5rem;box-shadow:inset 0 1px #fff0d28c,inset 0 -2px #3b24162e,0 6px 18px #0a162073;position:relative}.game-event-log-panel:after,.game-chat-panel:after{content:"";position:absolute;left:50%;bottom:.35rem;transform:translate(-50%);width:44%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(181,140,63,.35) 50%,transparent 100%);pointer-events:none}.game-event-log-panel .sidebar-section-title{flex-shrink:0;color:var(--wood-dark);font-family:var(--font-display, "Cinzel", serif);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;padding-bottom:.3rem;margin-bottom:.3rem;border-bottom:1px solid rgba(181,140,63,.45)}.game-event-log-scroller{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bronze) rgba(91,58,34,.18);font-size:.78rem;line-height:1.4;color:var(--ink-on-parchment)}.game-event-log-scroller::-webkit-scrollbar{width:6px}.game-event-log-scroller::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:3px}.game-event-log-scroller::-webkit-scrollbar-track{background:#5b3a222e}.game-event-log-line{padding:.3rem .4rem;margin-bottom:.25rem;border-radius:4px;border:1px solid rgba(91,58,34,.3);background:#fff6dc8c;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d273}.game-event-log-line--you-gain{border-color:#2f52338c;background:linear-gradient(180deg,#d0dcb2bf,#b5c896d9);color:#1f3a24}.game-event-log-line--you-lose{border-color:#8b2a1f80;background:linear-gradient(180deg,#e6b9aabf,#d69a87d9);color:#4a1814}.game-event-log-line--error{border-color:#8b2a1fa6;background:linear-gradient(180deg,#f2a73d8c,#e5822db3);color:#3b1608;font-weight:600}.game-event-log-line-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .35rem}.game-event-log-res.resource-pile{vertical-align:middle}.map-game-toast-wrap{position:absolute;top:.55rem;left:50%;transform:translate(-50%);z-index:7;max-width:min(380px,calc(100% - 5.5rem));pointer-events:none;filter:drop-shadow(0 6px 20px rgba(0,0,0,.32));display:flex;flex-direction:column;gap:.25rem}.map-game-toast{padding:.5rem .8rem;border-radius:3px;font-size:.84rem;font-weight:600;line-height:1.35;text-align:center;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;box-shadow:inset 0 1px #fff0d28c,0 6px 16px #06121c8c;font-family:var(--font-display, "Cinzel", serif);letter-spacing:.03em}.map-game-toast--steal{color:var(--ink-on-parchment);background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4f7,#d9c49af2);background-size:420px 420px,auto;background-blend-mode:multiply,normal}.map-game-toast--error{color:#3b1608;background:linear-gradient(180deg,#f2a73df2,#e5822df2);border-color:var(--crimson)}.map-game-toast--info{color:var(--ink-on-parchment);background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4f7,#d9c49af2);background-size:420px 420px,auto;background-blend-mode:multiply,normal}.app-toast-wrap{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;max-width:min(420px,calc(100% - 2rem));pointer-events:none;filter:drop-shadow(0 6px 20px rgba(21,53,31,.22))}.map-trade-overlay{position:absolute;top:.5rem;right:.55rem;left:auto;transform:none;z-index:6;max-width:min(420px,calc(100% - 1rem));pointer-events:auto;filter:drop-shadow(0 8px 28px rgba(0,0,0,.35))}.map-trade-card{display:flex;flex-direction:row;align-items:stretch;gap:.65rem;padding:.6rem .7rem;border-radius:6px;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4f5,#d9c49af5);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d28c,inset 0 -2px #3b241633,0 10px 26px #06121c8c}.map-trade-rows{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.map-trade-row{display:flex;flex-direction:row;align-items:center;gap:.4rem}.map-trade-avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:2px solid var(--bronze);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff6dcf2,#f3e4c4f2 70%);color:var(--ink-on-parchment);box-shadow:inset 0 1px 2px #fff0d2b3,0 2px 4px #0a162059}.map-trade-arrow{flex-shrink:0;opacity:.92}.map-trade-arrow--give{color:var(--forest)}.map-trade-arrow--want{color:var(--crimson)}.map-trade-pile{flex:1;min-width:0;display:flex;flex-direction:column;gap:.12rem}.map-trade-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-family:var(--font-display, "Cinzel", serif)}.map-trade-actions{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-width:5.5rem}.map-trade-watcher{margin:0;font-size:.72rem;max-width:7rem}.map-trade-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.42rem .6rem;font-size:.78rem;font-weight:700;border-radius:4px;border:1px solid var(--wood-mid);cursor:pointer;background:linear-gradient(180deg,#f3e4c4f5,#d9c49af0);color:var(--ink-on-parchment);font-family:var(--font-display, "Cinzel", serif);letter-spacing:.05em;box-shadow:inset 0 1px #fff0d280,0 2px 6px #0a16204d;transition:filter .14s ease,transform .12s ease,box-shadow .16s ease}.map-trade-btn:hover{filter:brightness(1.04);border-color:var(--bronze)}.map-trade-btn--accept{background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 55%,#8a5f24 100%);border-color:var(--wood-dark);color:#2b1d10;text-shadow:0 1px 0 rgba(255,240,210,.45)}.map-trade-btn--accept:hover{filter:brightness(1.08);box-shadow:inset 0 1px #fff0d299,0 0 0 2px #e6b45880,0 3px 10px #0a162066}.map-trade-btn--reject{background:linear-gradient(180deg,#f3e4c4d9,#d9c49ad9);border-color:var(--wood-mid)}.map-trade-btn--cancel{font-weight:600;font-size:.72rem}.map-trade-btn--compact{padding:.32rem .48rem;font-size:.74rem}.map-trade-responses{display:flex;flex-direction:column;gap:.3rem;margin:.15rem 0 .35rem;max-width:12.5rem}.map-trade-response-row{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem;align-items:center;padding:.3rem .4rem;border-radius:4px;border:1px solid rgba(91,58,34,.35);background:#fff6dc80;box-shadow:inset 0 1px #fff0d273}.map-trade-response-name{font-size:.78rem;font-weight:700;color:var(--ink-on-parchment);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display, "Cinzel", serif)}.map-trade-response-status{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;justify-self:end;color:var(--ink-muted);font-family:var(--font-display, "Cinzel", serif)}.map-trade-response-status--accepted{color:var(--forest)}.map-trade-response-status--rejected{color:var(--crimson)}.map-trade-response-status--pending{color:var(--ink-muted)}.map-trade-response-row .map-trade-btn{grid-column:1 / -1;width:100%}@media(max-width:520px){.map-trade-card{flex-direction:column;align-items:stretch}.map-trade-actions{flex-direction:row;flex-wrap:wrap;min-width:0}.map-trade-watcher{max-width:none}}.map-steal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-start;padding:0 0 .5rem .45rem}.map-steal-card{pointer-events:auto;width:min(208px,calc(100% - 5.5rem));padding:.38rem .45rem .42rem;border-radius:10px;background:#ffffffe0;border:1px solid rgba(8,24,48,.1);box-shadow:0 3px 14px #00000024;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-steal-title{margin:0 0 .32rem;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.map-steal-actions{display:flex;flex-direction:column;gap:.28rem}.map-steal-choice{display:flex;flex-direction:row;align-items:center;gap:.38rem;width:100%;padding:.3rem .45rem;border-radius:6px;border:1px solid var(--wood-mid);background:linear-gradient(180deg,#f3e4c4fa,#d9c49af2);cursor:pointer;font:inherit;text-align:left;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d280,0 2px 6px #0a16204d;transition:filter .12s ease,transform .12s ease,box-shadow .16s ease}.map-steal-choice:hover{filter:brightness(1.04);border-color:var(--bronze);box-shadow:inset 0 1px #fff0d2b3,0 0 0 2px #e6b45859,0 3px 10px #0a162066}.map-steal-choice:active{transform:scale(.99)}.map-steal-choice-avatar{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center}.map-steal-choice-name{font-size:.78rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-discard-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;display:flex;align-items:flex-end;justify-content:flex-start;padding:0 0 .55rem .45rem;pointer-events:none}.map-discard-panel{position:relative;pointer-events:auto;width:min(330px,calc(100% - 6.2rem));border-radius:6px;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4f2,#d9c49af2);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;box-shadow:inset 0 1px #fff0d299,inset 0 -2px #3b24162e,0 10px 28px #06121c8c;padding:.55rem .6rem .6rem;color:var(--ink-on-parchment)}.map-discard-header{display:flex;flex-direction:row;align-items:center;gap:.4rem;margin-bottom:.25rem}.map-discard-header-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.map-discard-timer{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.map-discard-timer-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--crimson);font-family:var(--font-display, "Cinzel", serif)}.map-discard-timer .bottom-bar-turn-timer{background:#f3e4c4eb;border-color:var(--wood-mid);color:var(--ink-on-parchment);font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums}.map-discard-timer .bottom-bar-turn-timer--urgent{background:linear-gradient(180deg,#f2a73d8c,#e5822db3);border-color:var(--crimson);color:#3b1608}.map-discard-timer .bottom-bar-turn-timer--empty{opacity:1;color:var(--ink-muted);background:#d9c49ab3;border-color:#5b3a2273}.map-discard-header-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,var(--bronze-bright) 0%,var(--bronze) 55%,#7a5a22 100%);border:1px solid var(--wood-dark);color:var(--wood-dark);box-shadow:inset 0 1px #fff0d280,0 2px 4px #0a162059}.map-discard-title{margin:0;font-size:.92rem;font-weight:700;color:var(--crimson);line-height:1.25;min-width:0;font-family:var(--font-display, "Cinzel", serif);letter-spacing:.04em}.map-discard-count{font-weight:800;color:var(--crimson)}.map-discard-count--ready{color:var(--forest)}.map-discard-sub{margin:0 0 .45rem;font-size:.72rem;line-height:1.35;font-weight:600;color:var(--ink-muted)}.map-discard-row{display:flex;flex-wrap:wrap;align-items:center;min-height:80px;gap:.35rem;padding:.3rem .2rem;border-radius:4px;background:#5b3a221f;border:1px solid rgba(91,58,34,.32);box-shadow:inset 0 1px 2px #3b241638}.map-discard-row+.map-discard-row{margin-top:.45rem}.map-discard-row--hand{background:#fff6dc8c;box-shadow:inset 0 1px #fff0d280}.map-discard-row-hint{font-size:.72rem;font-weight:600;color:var(--ink-muted);padding:.15rem .35rem;font-style:italic}.map-discard-stack{--cardW: 3.35rem;--cardH: 4.15rem;--offset: .7rem;--stack: 1;position:relative;width:calc(var(--cardW) + (max(1,var(--stack)) - 1) * var(--offset));height:var(--cardH);border:0;background:transparent;padding:0;cursor:pointer;font:inherit;isolation:isolate}.map-discard-stack:disabled{cursor:not-allowed;opacity:.45}.map-discard-stack:not(:disabled):active{transform:scale(.97)}.map-discard-stack-card{--i: 0;position:absolute;top:0;left:calc(var(--i) * var(--offset));width:var(--cardW);height:var(--cardH);border-radius:7px;border:1px solid rgba(20,30,45,.28);box-shadow:inset 0 1px #ffffff59;background:var(--stackBg);z-index:calc(10 + var(--i))}.map-discard-stack-top{position:absolute;top:0;left:calc((max(1,var(--stack)) - 1) * var(--offset));width:var(--cardW);height:var(--cardH);border-radius:7px;border:1px solid rgba(20,30,45,.35);box-shadow:inset 0 1px #ffffff59;background:var(--stackBg);display:flex;align-items:center;justify-content:center;z-index:99}.map-discard-stack--hand:not(:disabled):hover .map-discard-stack-top{filter:brightness(1.04)}.map-discard-stack--wood{--stackBg: linear-gradient(180deg, #4f7a4f 0%, #2f5233 100%)}.map-discard-stack--brick{--stackBg: linear-gradient(180deg, #c05a2a 0%, #8b2a1f 100%)}.map-discard-stack--sheep{--stackBg: linear-gradient(180deg, #9fb37a 0%, #6b8a52 100%)}.map-discard-stack--wheat{--stackBg: linear-gradient(180deg, #f2a73d 0%, #c47a1b 100%)}.map-discard-stack--ore{--stackBg: linear-gradient(180deg, #6b6359 0%, #3b3834 100%)}.map-discard-badge{position:absolute;top:1px;right:1px;min-width:1.15rem;height:1.15rem;padding:0 .2rem;border-radius:999px;background:radial-gradient(circle at 35% 30%,var(--bronze-bright) 0%,var(--bronze) 55%,#7a5a22 100%);color:#2b1d10;font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:1px solid var(--wood-dark);box-shadow:inset 0 1px #fff0d280,0 1px 3px #0a162066;line-height:1}.map-discard-confirm{margin-left:auto;width:2.15rem;height:2.15rem;border-radius:50%;border:2px solid var(--wood-dark);background:radial-gradient(circle at 35% 30%,var(--bronze-bright) 0%,var(--bronze) 55%,#7a5a22 100%);color:#2b1d10;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1px #fff0d28c,0 3px 8px #0a162073,0 0 14px #e6b45873;transition:transform .12s ease,filter .14s ease}.map-discard-confirm:disabled{cursor:not-allowed;opacity:.35;filter:grayscale(.5);box-shadow:none}.map-discard-confirm:not(:disabled):hover{filter:brightness(1.08);transform:scale(1.05)}.map-discard-confirm:not(:disabled):active{transform:scale(.97)}.bank-strip{flex-shrink:0;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4f0,#d9c49af0);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:1px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-3px;border-radius:4px;padding:.4rem .5rem;box-shadow:inset 0 1px #fff0d28c,inset 0 -2px #3b24162e,0 4px 12px #0a162066}.bank-strip-header{font-family:var(--font-display, "Cinzel", serif);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--wood-dark);margin-bottom:.3rem;text-align:center;text-shadow:0 1px 0 rgba(255,240,210,.5)}.bank-strip-row{display:flex;justify-content:space-between;gap:.3rem}.bank-strip-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:.14rem;min-width:0;padding:.1rem 0;border-right:1px dashed rgba(91,58,34,.35)}.bank-strip-cell:last-child{border-right:none}.bank-strip-count{font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;color:var(--ink-on-parchment)}.bank-strip-dev-icon{display:block;width:18px;height:18px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(59,36,22,.35))}.board-canvas-outer{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden;touch-action:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.board-canvas-outer *{-webkit-user-select:none;-ms-user-select:none;user-select:none}.board-canvas-toolbar{position:absolute;z-index:3;top:6px;left:6px;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.board-canvas-tool{width:30px;height:30px;padding:0!important;font-family:var(--font-display, "Cinzel", serif)!important;font-size:1rem!important;font-weight:700!important;border-radius:3px!important;background-color:var(--stone)!important;background-image:url(/textures/stone-tile.png),linear-gradient(180deg,#4a4540f2,#2b2824f5)!important;background-size:260px 260px,auto!important;background-blend-mode:multiply,normal!important;border:1px solid var(--wood-dark)!important;color:var(--bronze-bright)!important;box-shadow:inset 0 1px #e8d9b82e,0 2px 6px #020c1c80!important;transition:filter .14s ease,transform .12s ease!important}.board-canvas-tool:hover{filter:brightness(1.15)!important;transform:scale(1.05)!important}.board-canvas-panlayer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-origin:center center}.board-canvas-boardslot{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.board-dice-fixed{position:absolute;right:.65rem;bottom:.55rem;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;pointer-events:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.4))}.board-dice-stack{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.board-dice-knight{font-size:.72rem!important;padding:.28rem .55rem!important}.board-dice-roll-hit{display:block;margin:0;padding:.45rem .55rem;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;border-radius:4px;background-color:var(--stone);background-image:url(/textures/stone-tile.png),linear-gradient(180deg,#4a4540f2,#2b2824f5);background-size:360px 360px,auto;background-blend-mode:multiply,normal;cursor:pointer;text-align:right;transition:transform .12s ease,filter .15s ease,box-shadow .16s ease;box-shadow:inset 0 1px #e8d9b833,inset 0 -2px #0006,0 6px 16px #020c1c80}.board-dice-roll-hit:hover{filter:brightness(1.08);transform:scale(1.03);box-shadow:inset 0 1px #e8d9b847,inset 0 -2px #0006,0 0 0 2px #e6b45873,0 0 22px #f2a73d80,0 6px 18px #020c1c8c}.board-dice-roll-hit:active{transform:scale(.98)}.board-dice-static{padding:.45rem .55rem;border-radius:4px;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;background-color:var(--stone);background-image:url(/textures/stone-tile.png),linear-gradient(180deg,#4a4540f2,#2b2824f5);background-size:360px 360px,auto;background-blend-mode:multiply,normal;box-shadow:inset 0 1px #e8d9b82e,inset 0 -2px #0006,0 6px 16px #020c1c80}@keyframes dice-shine-strong{0%,to{box-shadow:inset 0 1px #e8d9b82e,inset 0 -2px #0006,0 0 0 2px #e6b4588c,0 0 22px #f2a73da6,0 6px 16px #020c1c80}50%{box-shadow:inset 0 1px #e8d9b840,inset 0 -2px #0006,0 0 0 3px #f2a73dd9,0 0 34px #e6b458e6,0 6px 16px #020c1c80}}@keyframes dice-shine-soft{0%,to{box-shadow:inset 0 1px #e8d9b82e,inset 0 -2px #0006,0 0 0 1px #b58c3f59,0 6px 16px #020c1c80}50%{box-shadow:inset 0 1px #e8d9b838,inset 0 -2px #0006,0 0 0 2px #e6b45880,0 0 14px #e6b45859,0 6px 16px #020c1c80}}@keyframes dice-shine-strong-dark{0%,to{box-shadow:0 0 0 1px #6aab7e4d,0 0 16px #508c6c33,0 2px 12px #00000061}50%{box-shadow:0 0 0 2px #82bc987a,0 0 24px #5c967647,0 2px 14px #0000006b}}@keyframes dice-shine-soft-dark{0%,to{box-shadow:0 0 0 1px #6aab7e38,0 2px 10px #00000042}50%{box-shadow:0 0 0 1px #7cb69466,0 0 14px #588a702e,0 2px 10px #00000052}}.board-dice-roll-hit--glow{animation:dice-shine-strong 1.1s ease-in-out infinite}.board-dice-static--your-turn{animation:dice-shine-soft 2s ease-in-out infinite}.bottom-bar{display:flex;flex-wrap:wrap;align-items:center;row-gap:.85rem;column-gap:2.15rem;justify-content:space-between;padding:.7rem 1rem;background-color:var(--wood-dark);background-image:linear-gradient(180deg,rgba(255,220,170,.16),transparent 40%),linear-gradient(180deg,transparent 65%,rgba(0,0,0,.55) 100%),repeating-linear-gradient(90deg,#7a52282e,#3b241600 2px,#140c0640 6px,#5a3a2214 11px,#3b241600 17px),radial-gradient(ellipse 50% 140% at 10% 50%,rgba(138,90,51,.22) 0%,transparent 60%),radial-gradient(ellipse 50% 140% at 90% 50%,rgba(138,90,51,.22) 0%,transparent 60%),url(/textures/wood-tile.png);background-size:auto,auto,auto,auto,auto,512px 512px;border:1px solid var(--wood-mid);border-radius:6px;box-shadow:inset 0 1px #ffe6be2e,inset 0 -2px #00000080,0 0 0 1px #b58c3f66,0 -4px 16px #0006;color:var(--ink-on-stone)}.bottom-bar-hand{flex:1 1 420px;min-width:0;position:relative}.bottom-bar-trade-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.1rem;padding:.32rem .75rem;border-radius:3px;border:1px solid var(--wood-dark);background:linear-gradient(180deg,#f3e4c4f5,#d9c49af0);color:var(--ink-on-parchment);font-family:var(--font-display, "Cinzel", serif);font-weight:700;font-size:.74rem;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;box-shadow:inset 0 1px #fff0d28c,0 2px 4px #0a16204d;transition:filter .14s ease,border-color .14s ease,box-shadow .14s ease,transform .12s ease}.bottom-bar-trade-toggle:hover:not(:disabled){filter:brightness(1.05);border-color:var(--bronze);transform:translateY(-1px);box-shadow:inset 0 1px #fff0d2b3,0 3px 8px #0a162066}.bottom-bar-trade-toggle:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 1px 2px #3b241659}.bottom-bar-trade-toggle:focus-visible{outline:2px solid var(--bronze-bright);outline-offset:2px}.bottom-bar-trade-toggle:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bottom-bar-trade-toggle--active{background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 55%,#8a5f24 100%);border-color:var(--wood-dark);color:#2b1d10;text-shadow:0 1px 0 rgba(255,240,210,.4);box-shadow:inset 0 1px #fff0d28c,0 0 14px #e6b45873,0 3px 8px #0a162066}.bottom-bar-trade-toggle--active:hover:not(:disabled){filter:brightness(1.08)}.trade-pop{position:absolute;bottom:calc(100% + 10px);left:0;right:auto;width:min(300px,42vw);background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4fa,#d9c49afa);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-5px;border-radius:4px;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d28c,0 14px 38px #020c1c8c;padding:.7rem .75rem .75rem;z-index:220;display:flex;flex-direction:column;gap:.35rem}[data-theme=dark] .trade-pop{background:#162230;border-color:#ffffff1f;color:#e4eef7}.trade-pop-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.trade-pop-title{font-family:var(--font-display, "Cinzel", serif);font-weight:700;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wood-dark);text-shadow:0 1px 0 rgba(255,240,210,.4)}[data-theme=dark] .trade-pop-title{color:#e4eef7}.trade-pop-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--wood-dark);background:radial-gradient(circle at 35% 30%,var(--bronze-bright) 0%,var(--bronze) 55%,#7a5a22 100%);color:var(--wood-dark);cursor:pointer;font-size:1.15rem;line-height:1;font-weight:700;padding:0;box-shadow:inset 0 1px #fff0d28c,0 2px 4px #0a162059;transition:filter .14s ease,transform .12s ease}.trade-pop-close:hover{filter:brightness(1.08);transform:scale(1.06)}[data-theme=dark] .trade-pop-close{color:#e4eef7;border-color:#fff3}.trade-pop-close:hover{background:#0818300f}[data-theme=dark] .trade-pop-close:hover{background:#ffffff14}.trade-pop-partner{display:flex;align-items:center;gap:.5rem}.trade-pop-partner-label{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.trade-pop-partner .ui-select{flex:1;min-width:0}.trade-pop-row{display:flex;align-items:center;gap:.5rem;min-height:50px;padding:.3rem .5rem;background:#fff6dc80;border:1px dashed rgba(91,58,34,.45);border-radius:3px;box-shadow:inset 0 1px #fff0d266}[data-theme=dark] .trade-pop-row{background:#1e3a5f73;border-color:#78aadc59}.trade-pop-row-arrow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem}.trade-pop-row-arrow--give{color:var(--forest)}.trade-pop-row-arrow--give svg{filter:drop-shadow(0 1px 0 rgba(47,82,51,.45))}.trade-pop-row-arrow--receive{color:var(--crimson)}.trade-pop-row-arrow--receive svg{filter:drop-shadow(0 1px 0 rgba(139,42,31,.45))}[data-theme=dark] .trade-pop-row-arrow--give{color:#81c784}[data-theme=dark] .trade-pop-row-arrow--receive{color:#ef9a9a}.trade-pop-row-empty{font-size:.78rem}.trade-pop-row-pile{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;flex:1;min-width:0}.trade-pop-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;border:0;background:transparent;cursor:default;display:inline-flex;align-items:center;border-radius:10px;transition:transform .12s ease,filter .12s ease}.trade-pop-card--clickable{cursor:pointer}.trade-pop-card--clickable:hover{transform:translateY(-2px)}.trade-pop-card--clickable:hover .resource-stack{filter:drop-shadow(0 3px 0 rgba(227,116,106,.45))}.trade-pop-card:focus-visible{outline:2px solid rgba(25,118,210,.7);outline-offset:2px}.trade-pop-card:disabled{opacity:.75}.trade-pop-bank-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem .65rem;min-width:0;width:100%}.trade-pop-want-adders{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:2px;flex:0 0 auto;min-width:0}.trade-pop-owned-docks{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-end;gap:4px;row-gap:4px;flex:1 1 0;min-width:0;max-width:100%;justify-content:flex-end}.trade-pop-dock-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .48rem .22rem .36rem;border-radius:2px;border:1px solid var(--wood-dark);background:linear-gradient(180deg,#f3e4c4f5,#d9c49af2);color:var(--ink-on-parchment);font-family:var(--font-display, "Cinzel", serif);font-size:.68rem;font-weight:700;letter-spacing:.06em;line-height:1;white-space:nowrap;box-shadow:inset 0 1px #fff0d28c,0 1px 2px #0a162040}[data-theme=dark] .trade-pop-dock-chip{background:#0d1210;border-color:#6aab7e59;color:#d5e0dc}.trade-pop-dock-chip--3 .trade-pop-dock-any{min-width:1rem;text-align:center;font-weight:900;font-size:.78rem;color:var(--bronze)}[data-theme=dark] .trade-pop-dock-chip--3 .trade-pop-dock-any{color:#90caf9}.trade-pop-dock-ratio{font-weight:800;letter-spacing:.02em}.trade-pop-want-add{display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:10px;border:0;background:transparent;color:inherit;cursor:pointer;transition:transform .12s ease,filter .12s ease}.trade-pop-want-add:hover:not(:disabled){transform:translateY(-2px);filter:drop-shadow(0 3px 0 rgba(25,118,210,.4))}.trade-pop-want-add:focus-visible{outline:2px solid rgba(25,118,210,.7);outline-offset:2px}.trade-pop-want-add:disabled{opacity:.45;cursor:not-allowed}.trade-pop-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.15rem}.trade-pop-propose{flex:1 1 auto;min-width:160px}.trade-pop-bank{flex:0 0 auto}.trade-pop-hint{margin:0;font-size:.78rem;line-height:1.35}.resource-stack-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;border-radius:12px;transition:transform .12s ease}.resource-stack-btn:hover{transform:translateY(-2px)}.resource-stack-btn:focus-visible{outline:2px solid rgba(25,118,210,.7);outline-offset:2px}.bottom-bar-hand-row{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap;min-width:0;min-height:3.55rem;box-sizing:border-box}.bottom-bar-dev-strip{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:nowrap;flex-shrink:0;padding-left:.65rem;border-left:1px solid rgba(176,190,197,.7);min-width:0;overflow:visible}.bottom-bar-dev-strip,.bottom-bar-actions{max-width:100%}.bottom-bar-dev-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.bottom-bar-dev-empty{font-size:.85rem}.bottom-bar-dev-popover-root{display:flex;align-items:center;min-width:0}.bottom-bar-dev-cards{display:flex;flex-wrap:nowrap;gap:.35rem;align-items:center;min-width:0;overflow:visible}.bottom-bar-dev-pop{position:relative}.bottom-bar-dev-pop>summary{list-style:none}.bottom-bar-dev-pop>summary::-webkit-details-marker{display:none}.bottom-bar-dev-card{display:inline-flex;align-items:center;gap:.4rem;border-radius:3px;border:1px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-3px;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4fa,#d9c49af2);background-size:280px 280px,auto;background-blend-mode:multiply,normal;padding:.32rem .5rem;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:12.5rem;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d28c,0 2px 6px #0a162059;transition:filter .14s ease,transform .12s ease,box-shadow .16s ease}.bottom-bar-dev-card:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:inset 0 1px #fff0d2b3,0 0 0 2px #e6b45866,0 4px 12px #0a162073}.bottom-bar-dev-pop.is-locked .bottom-bar-dev-card{opacity:.55;cursor:not-allowed}.bottom-bar-dev-pop.is-locked .bottom-bar-dev-card:hover{filter:none;transform:none}.bottom-bar-dev-icon{width:18px;height:18px;flex-shrink:0;opacity:.95;filter:drop-shadow(0 1px 1px rgba(59,36,22,.35))}.bottom-bar-dev-kind{font-family:var(--font-display, "Cinzel", serif);font-size:.74rem;font-weight:700;letter-spacing:.05em;color:var(--ink-on-parchment);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-bar-dev-panel{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(340px,88vw);background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4fa,#d9c49afa);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:2px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-5px;border-radius:4px;box-shadow:inset 0 1px #fff0d28c,0 14px 36px #020c1c8c;padding:.65rem .7rem .7rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;color:var(--ink-on-parchment)}.bottom-bar-dev-panel-title{font-family:var(--font-display, "Cinzel", serif);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--wood-mid);padding:.05rem .1rem .42rem;border-bottom:1px solid rgba(60,36,10,.18);margin-bottom:-.08rem}.bottom-bar-dev-panel--play{width:min(300px,92vw);padding:.48rem .55rem .55rem;gap:.42rem;justify-content:flex-start;align-items:stretch}.bottom-bar-dev-panel--play .bottom-bar-dev-panel-title{margin-bottom:-.12rem}.bottom-bar-dev-play-wrap{display:flex;flex-direction:column;gap:.42rem;align-items:stretch;min-height:0}.bottom-bar-dev-play-primary-row{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex-wrap:wrap}.bottom-bar-dev-play-primary-btn{flex:1 1 10rem;min-width:0}.bottom-bar-dev-play-footer{display:flex;justify-content:flex-end}.bottom-bar-dev-list-panel{padding:.48rem .5rem .55rem}.bottom-bar-dev-list-rows{display:flex;flex-direction:column;gap:.3rem;max-height:min(55vh,320px);overflow-y:auto}.bottom-bar-dev-list-row{display:flex;align-items:center;justify-content:flex-start;width:100%;border-radius:3px;border:1px solid var(--wood-mid);background:linear-gradient(180deg,#f3e4c4f5,#d9c49af0);padding:.42rem .55rem;font-family:var(--font-display, "Cinzel", serif);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--ink-on-parchment);cursor:pointer;text-align:left;box-sizing:border-box;box-shadow:inset 0 1px #fff0d280,0 2px 4px #0a162033;transition:filter .14s ease,border-color .14s ease}.bottom-bar-dev-list-row:hover{filter:brightness(1.04);border-color:var(--bronze)}.bottom-bar-dev-list-row.is-locked{opacity:.55;cursor:not-allowed}.bottom-bar-dev-list-row.is-locked:hover{filter:none;border-color:var(--wood-mid)}.bottom-bar-dev-list-row--vp{color:var(--ink-muted);font-style:italic}.bottom-bar-dev-actions{display:flex;flex-wrap:wrap;gap:.45rem .55rem;align-items:flex-end}.bottom-bar-dev-blocked{margin:0;font-size:.78rem;line-height:1.35}.bottom-bar-dev-close{flex-shrink:0;font-size:.74rem;padding:.3rem .5rem;white-space:nowrap}.bottom-bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1.15rem;flex:0 1 auto;justify-content:flex-end;justify-self:end}.bottom-bar-build{display:flex;flex-wrap:wrap;gap:.45rem}.bottom-bar-build-btn{position:relative;overflow:visible;padding-top:.42rem;padding-right:.65rem}.bottom-bar-build-limit{position:absolute;top:0;right:0;z-index:1;min-width:1.2rem;padding:.1rem .22rem .12rem .32rem;font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums;font-size:.64rem;font-weight:800;line-height:1.05;color:#2b1d10;background:linear-gradient(180deg,var(--bronze-bright) 0%,var(--bronze) 100%);border:1px solid var(--wood-dark);border-top-right-radius:3px;border-bottom-left-radius:6px;box-shadow:inset 0 1px #fff0d280,0 1px 2px #0a162059;pointer-events:none}.bottom-bar-build-btn.is-locked{opacity:.45;cursor:not-allowed;pointer-events:auto}.bottom-bar-build-btn.is-locked.btn-primary{opacity:.5}.bottom-bar-dev-buy{font-weight:700}.build-cost-tip-wrap{position:relative;display:inline-flex;vertical-align:middle}.build-cost-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;min-width:max-content;max-width:min(320px,85vw);opacity:0;visibility:hidden;transition:opacity .14s ease,visibility .14s ease;z-index:90;pointer-events:none}.build-cost-tip-wrap:hover .build-cost-tip,.build-cost-tip-wrap:focus-within .build-cost-tip{opacity:1;visibility:visible}.build-cost-tip-panel{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .65rem .55rem;background-color:var(--parchment);background-image:url(/textures/parchment-tile.png),linear-gradient(180deg,#f3e4c4fa,#d9c49afa);background-size:420px 420px,auto;background-blend-mode:multiply,normal;border:1px solid var(--wood-dark);outline:1px solid var(--bronze);outline-offset:-4px;border-radius:4px;color:var(--ink-on-parchment);box-shadow:inset 0 1px #fff0d28c,inset 0 -2px #3b24162e,0 8px 22px #020c1c80}.build-cost-tip-label{font-family:var(--font-display, "Cinzel", serif);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wood-dark);text-align:center;text-shadow:0 1px 0 rgba(255,240,210,.5)}.build-cost-tip-hint{display:block;max-width:18rem;margin-top:.05rem;font-size:.72rem;line-height:1.38;font-weight:500;color:var(--ink-muted);text-align:center;white-space:pre-line;font-style:italic}.build-cost-tip-cards{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.28rem}.build-cost-tip-card{display:flex;align-items:center;justify-content:center;width:2rem;height:2.55rem;border-radius:4px;border:1px solid var(--wood-dark);color:#fff;box-shadow:inset 0 1px #fff0d259,0 2px 4px #0a162059}.build-cost-tip-card--wood{background:linear-gradient(180deg,#4f7a4f,#2f5233)}.build-cost-tip-card--brick{background:linear-gradient(180deg,#c05a2a,#8b2a1f)}.build-cost-tip-card--sheep{background:linear-gradient(180deg,#9fb37a,#6b8a52)}.build-cost-tip-card--wheat{background:linear-gradient(180deg,#f2a73d,#c47a1b);color:#2b1d10}.build-cost-tip-card--ore{background:linear-gradient(180deg,#6b6359,#3b3834)}.build-cost-tip-card--missing{opacity:.38;filter:grayscale(.85) brightness(.95);box-shadow:none}.build-cost-tip-caret{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--parchment-dark);margin-top:-1px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.bottom-bar-costs{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.72rem}.bottom-bar-cost-sep{opacity:.45}.bottom-bar-end-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-left:1.1rem}.bottom-bar-timer-item{display:inline-flex;flex-direction:column;align-items:center;gap:.12rem}.bottom-bar-timer-label{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#102a43b8}.bottom-bar-timer-item--observer .bottom-bar-timer-label{color:#102a4394;max-width:9.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.bottom-bar-turn-timer{font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700;letter-spacing:.04em;padding:.3rem .6rem;border-radius:3px;background:linear-gradient(180deg,#f3e4c4e6,#d9c49ae0);border:1px solid var(--wood-mid);color:var(--ink-on-parchment);min-width:3.1rem;text-align:center;box-shadow:inset 0 1px #fff0d273,0 1px 2px #0a162033}.bottom-bar-turn-timer--urgent{border-color:var(--crimson);color:#3b1608;background:linear-gradient(180deg,#f2a73deb,#e5822deb)}.bottom-bar-turn-timer--empty{opacity:.65}.bottom-bar-turn-timer--observer{opacity:.92;background:#e8d9b838;color:var(--ink-on-stone);border-color:#b58c3f73;border-style:dashed}.bottom-bar-end{margin-left:1.1rem}.bottom-bar-end-group .bottom-bar-end{margin-left:0}.bottom-bar-hint{width:100%;margin:0;font-size:.74rem}.resource-strip-bar-wrap{display:flex;align-items:center;gap:.6rem}.resource-strip--bar{flex:1;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.6rem}.resource-strip-bar-total{font-family:var(--font-numeric, "Inter", sans-serif);font-variant-numeric:tabular-nums;font-weight:800;font-size:1.25rem;color:var(--wood-dark);flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .55rem;border-radius:3px;background:linear-gradient(180deg,#f3e4c4f5,#d9c49af0);border:1px solid var(--wood-dark);box-shadow:inset 0 1px #fff0d28c,0 1px 3px #0a162040}.resource-strip-bar-total-icon{flex-shrink:0;opacity:.92}.player-roster--column{flex-direction:column;flex-wrap:nowrap}.player-roster--column .player-roster-card{max-width:none;width:100%;flex:0 0 auto}.phase-banner--slim.phase-banner--play{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,160px)}@media(max-width:960px){.app-main--play .game-main-split{grid-template-columns:1fr;grid-template-rows:minmax(200px,44vh) minmax(0,1fr)}.phase-banner--play{grid-template-columns:1fr;grid-template-rows:auto auto auto}.phase-banner-right{justify-self:start;text-align:left}.phase-banner-mid{justify-content:flex-start}}.switch-field{display:flex;align-items:flex-start;gap:.65rem}.switch-field--inline{align-items:center}.switch-field-label{margin:0;padding-top:.12rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-on-panel);cursor:pointer;line-height:1.35}.switch-field--inline .switch-field-label{padding-top:0}.toggle-switch{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;flex-shrink:0;width:2.75rem;height:1.5rem;margin:0;padding:0;border-radius:999px;border:1px solid var(--panel-border);background:#cfd8dc;box-shadow:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.toggle-switch:hover:not(:disabled){background:#c2ccd1;border-color:#9eabb1}.toggle-switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.toggle-switch[aria-checked=true]:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.toggle-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle-switch:disabled{opacity:.45;cursor:not-allowed}.toggle-switch-thumb{position:absolute;top:2px;left:2px;width:1.125rem;height:1.125rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #15351f38;transition:transform .15s ease;pointer-events:none}.toggle-switch[aria-checked=true] .toggle-switch-thumb{transform:translate(1.2rem)}.btn-compact{padding:.35rem .75rem;font-size:.85rem}.public-rooms-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.public-rooms-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.public-rooms-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;background:var(--panel-elevated);border:1px solid var(--panel-border);border-radius:var(--radius-md)}.public-rooms-row-main{min-width:0;display:flex;flex-direction:column;gap:.15rem}.public-rooms-code{font-weight:700;letter-spacing:.1em;font-size:.95rem}.public-rooms-meta{font-size:.82rem}.lobby-player-name{font-weight:600}.lobby-bot-name-input{flex:0 0 auto;display:inline-block;width:min(100%,10rem);min-width:0;height:2.25rem;line-height:1.2;align-self:flex-start;font:inherit;font-weight:600;padding:.35rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel);color:inherit}.lobby-player-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .4rem;border-radius:var(--radius-sm);background:var(--panel-elevated);border:1px solid var(--panel-border);color:var(--text-muted)}.lobby-player-badge--you{color:var(--accent-ink);background:#43a0472e;border-color:#43a04773}@media(max-width:520px){.die-face{width:40px;height:40px}.die-cell--pip:after{width:6px;height:6px}.dice-display-sum{font-size:1.35rem}}.board-building-drop{transform-origin:0 0;transform-box:fill-box;animation:board-building-fall .45s cubic-bezier(.25,.9,.3,1) forwards}.board-building-drop--city{animation:board-building-fall-city .52s cubic-bezier(.2,.85,.2,1) forwards}@keyframes board-building-fall{0%{transform:translateY(-56px);opacity:.4}70%{transform:translateY(3px)}to{transform:translateY(0);opacity:1}}@keyframes board-building-fall-city{0%{transform:translateY(-80px);opacity:.45}66%{transform:translateY(4px)}to{transform:translateY(0);opacity:1}}.board-hit-pulse{animation:board-legal-pulse 1.25s ease-in-out infinite}.board-hex-robber-ring{animation:board-robber-ring 1.35s ease-in-out infinite}.board-robber-figure{transition:opacity .16s ease;pointer-events:none}.board-robber-figure--peek{opacity:.4}.board-robber-hit{pointer-events:auto;touch-action:none;cursor:inherit}@keyframes board-legal-pulse{0%,to{opacity:.9}50%{opacity:.55}}@keyframes board-robber-ring{0%,to{stroke-opacity:.8}50%{stroke-opacity:.4}}.board-hex-produce-flash{animation:board-produce-ring .6s ease-out 2}@keyframes board-produce-ring{0%,to{stroke-width:2.2;stroke-opacity:.1}30%,70%{stroke-width:3.2;stroke-opacity:.85}}@keyframes lobby-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bank-strip-cell--flash-out{animation:bank-pulse .55s ease-out}.bank-strip-cell--flash-in{animation:bank-pulse-in .55s ease-out}@keyframes bank-pulse{0%,to{box-shadow:0 0 #0000;background:transparent}40%{box-shadow:0 0 0 2px #d32f2f59;background:#ffebee59}}@keyframes bank-pulse-in{0%,to{box-shadow:0 0 #0000}40%{box-shadow:0 0 0 2px #1976d259}}.game-bottom .btn-primary,.game-bottom .btn-ghost,.bottom-bar .btn-primary,.bottom-bar .btn-ghost,.bottom-bar .map-trade-btn{transition:transform .1s ease,filter .12s ease,box-shadow .12s ease}.game-bottom .btn-primary:active:not(:disabled),.bottom-bar .btn-primary:active:not(:disabled){transform:scale(.98)}.map-trade-btn:active,.map-steal-choice:active,.map-discard-confirm:active,.game-bottom .btn-ghost:active:not(:disabled){transform:scale(.98)}.menu-hero{position:relative;max-width:1240px;margin:0 auto;padding:clamp(32px,6vh,64px) clamp(16px,4vw,48px) clamp(48px,8vh,80px);display:flex;flex-direction:column;align-items:center;gap:clamp(32px,5vh,56px);text-align:center}.menu-hero-title-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.menu-hero-title{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}.menu-hero-title-main{font-family:var(--font-display);font-weight:900;letter-spacing:.16em;font-size:clamp(64px,11vw,148px);line-height:.95;color:var(--bronze-bright);background:linear-gradient(180deg,#f9dca0,#e6b458 38%,#b58c3f 62%,#6b4a1b);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(0,0,0,.35),0 14px 36px rgba(0,0,0,.5);filter:drop-shadow(0 8px 24px rgba(230,180,88,.25));padding:0 .1em}.menu-hero-title-sub{font-family:var(--font-display);font-weight:500;letter-spacing:.42em;text-transform:uppercase;font-size:clamp(11px,1.2vw,15px);color:#f6e0b2c7;padding-left:.42em}.menu-hero-tiles{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.4vw,28px);max-width:1180px}.menu-hero-footer{margin:0;font-family:var(--font-display);font-style:italic;letter-spacing:.08em;color:#e8d9b8b3;font-size:13px;max-width:620px}.menu-hero-counter{margin:0;padding:10px 18px;border:1px solid rgba(210,170,100,.4);border-radius:999px;background:linear-gradient(180deg,#2b1b0f8c,#140c07b8);color:#f8e6c2eb;font-family:var(--font-display);letter-spacing:.06em;font-size:12px;text-transform:uppercase;box-shadow:inset 0 1px #fff4d61f,0 8px 22px #00000047}.menu-action-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0;padding:0;border:none;cursor:pointer;overflow:hidden;background-color:var(--parchment);background-image:radial-gradient(ellipse 70% 40% at 30% 10%,rgba(255,240,210,.55),transparent 60%),radial-gradient(ellipse 60% 45% at 80% 85%,rgba(118,88,40,.18),transparent 60%),url(/textures/parchment-tile.png);background-size:auto,auto,512px 512px;border-radius:4px;color:var(--ink-on-parchment);min-height:280px;box-shadow:0 0 0 2px var(--wood-dark),0 0 0 4px var(--bronze),0 0 0 6px var(--wood-dark),0 18px 44px #0000008c,inset 0 1px #ffffff2e;transform-origin:center;transition:transform .18s ease,box-shadow .22s ease,filter .22s ease;font-family:var(--font-ui)}.menu-action-tile:hover,.menu-action-tile:focus-visible{outline:none;background-color:var(--parchment);background-image:radial-gradient(ellipse 70% 40% at 30% 10%,rgba(255,240,210,.55),transparent 60%),radial-gradient(ellipse 60% 45% at 80% 85%,rgba(118,88,40,.18),transparent 60%),url(/textures/parchment-tile.png);background-size:auto,auto,512px 512px;transform:translateY(-4px);filter:brightness(1.04);box-shadow:0 0 0 2px var(--wood-dark),0 0 0 4px var(--bronze-bright),0 0 0 6px var(--wood-dark),0 22px 52px #0009,0 0 28px #e6b45859,inset 0 1px #ffffff38}.menu-action-tile:active{transform:translateY(-1px) scale(.995)}.menu-action-tile--primary{box-shadow:0 0 0 2px var(--wood-dark),0 0 0 4px var(--bronze-bright),0 0 0 6px var(--wood-dark),0 22px 50px #0009,0 0 26px #f2a73d4d,inset 0 1px #ffffff38}.menu-action-tile-art{position:relative;height:160px;background-color:#3a2714;background-image:linear-gradient(180deg,#0000 55%,#140a048c),linear-gradient(135deg,#b482462e,#1e100459),url(/textures/wood-tile.png);background-size:auto,auto,512px 512px;background-position:center;background-repeat:no-repeat,no-repeat,repeat;display:flex;align-items:flex-end;justify-content:flex-end;padding:12px;border-bottom:2px solid rgba(0,0,0,.35)}.menu-action-tile-art[style*=background-image]{background-size:cover,auto,auto,512px 512px;background-position:center;background-repeat:no-repeat,no-repeat,no-repeat,repeat}.menu-action-tile-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 32% 28%,#f6d78c,#b58c3f 55%,#6b4a1b);color:#1a0e00;box-shadow:inset 0 1px #fff0c899,inset 0 -2px #00000059,0 6px 14px #00000073}.menu-action-tile-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px}.menu-action-tile-eyebrow{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.3em;font-size:10.5px;color:var(--wood-mid)}.menu-action-tile-title{font-size:22px;line-height:1.1;color:var(--ink-on-parchment)}.menu-action-tile-desc{font-size:13.5px;line-height:1.45;color:var(--ink-muted)}.menu-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:radial-gradient(ellipse at center,#0a121a99,#04080cd9);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;animation:menu-dialog-fade .18s ease-out}@keyframes menu-dialog-fade{0%{opacity:0}to{opacity:1}}.menu-dialog{position:relative;width:100%;max-width:540px;padding:40px 44px 36px;color:var(--ink-on-parchment);animation:menu-dialog-pop .26s cubic-bezier(.2,.8,.2,1);max-height:calc(100vh - 40px);overflow:auto}@keyframes menu-dialog-pop{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-dialog--sm{max-width:440px}.menu-dialog--md{max-width:560px}.menu-dialog--lg{max-width:820px}.menu-dialog-close{position:absolute;top:10px;right:10px;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid rgba(60,36,10,.35);background:#f3e4c4a6;color:var(--ink-on-parchment);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #fff6;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.menu-dialog-close svg{display:block;transition:transform .25s ease}.menu-dialog-close:hover,.menu-dialog-close:focus-visible{outline:none;background:var(--bronze-bright);border-color:var(--bronze-dark);color:#1a0e00;transform:none}.menu-dialog-close:hover svg,.menu-dialog-close:focus-visible svg{transform:rotate(90deg)}.menu-dialog-close:active{transform:scale(.92)}.menu-dialog-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:14px}.menu-dialog-eyebrow{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.3em;font-size:10.5px;color:var(--wood-mid)}.menu-dialog-title{font-size:26px;margin:0;line-height:1.15;color:var(--ink-on-parchment)}.menu-dialog-body{display:flex;flex-direction:column;gap:14px}.menu-dialog-lead{margin:0 0 6px;font-size:14px;line-height:1.5;color:var(--ink-muted)}.menu-dialog-form{display:flex;flex-direction:column;gap:14px}.menu-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;margin-top:4px;border-top:1px dashed rgba(60,36,10,.2)}.menu-dialog-cta{min-width:140px;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.menu-field{display:flex;flex-direction:column;gap:6px}.menu-field-label{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--wood-mid)}.menu-field-row{display:flex;gap:8px;align-items:stretch}.menu-field-input{flex:1 1 auto;padding:11px 14px;border-radius:3px;font:inherit;font-size:15px;color:var(--ink-on-parchment);background:#fff7dcbf;border:1px solid rgba(60,36,10,.28);box-shadow:inset 0 1px 2px #3c240a26,inset 0 0 0 1px #ffffff59;transition:border-color .14s ease,box-shadow .14s ease}.menu-field-input:focus{outline:none;border-color:var(--bronze);box-shadow:inset 0 1px 2px #3c240a26,0 0 0 3px #e6b45859}.menu-field-input--code{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:.4em;text-align:center;text-transform:uppercase}.menu-switch-field{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:12px 14px;background:#76582814;border:1px solid rgba(60,36,10,.18);border-radius:4px}.menu-switch-label{display:flex;flex-direction:column;gap:2px;cursor:pointer}.menu-switch-title{font-family:var(--font-display);font-weight:600;letter-spacing:.1em;color:var(--ink-on-parchment);font-size:14px}.menu-switch-desc{font-size:12.5px;color:var(--ink-muted);line-height:1.4}.player-crest{display:inline-grid;place-items:center;position:relative;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4));flex:0 0 auto}.player-crest--sm svg{width:32px}.player-crest--md svg{width:48px}.player-crest--lg svg{width:72px}.player-crest--pulse:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:60%;background:radial-gradient(circle,rgba(230,180,88,.45) 0%,transparent 70%);animation:crest-pulse 2.4s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes crest-pulse{0%,to{opacity:.3;transform:scale(.92)}50%{opacity:.8;transform:scale(1.08)}}.wax-seal-wrap{display:inline-flex;align-items:center;gap:10px}.wax-seal-chip{position:relative;display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;background:linear-gradient(180deg,#ede0bf,#d9c49a);border:1px solid rgba(60,36,10,.4);border-radius:36px;color:var(--ink-on-parchment);font-family:var(--font-ui);box-shadow:0 4px 12px #0000004d,inset 0 1px #fff6}.wax-seal-chip-seal{display:inline-grid;place-items:center;width:52px;height:52px;margin:-8px 0;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5))}.wax-seal-chip-seal svg{width:52px;height:52px}.wax-seal-chip-body{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;gap:2px}.wax-seal-chip-label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.22em;font-size:9.5px;color:var(--wood-mid)}.wax-seal-chip-code{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.3em;color:var(--ink-on-parchment);-webkit-user-select:text;user-select:text}.wax-seal-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:102px;min-width:102px;height:34px;padding:0 10px;border-radius:20px;border:1px solid rgba(60,36,10,.28);background:linear-gradient(180deg,#ede0bf,#d9c49a);color:var(--wood-dark);cursor:pointer;box-shadow:0 2px 5px #0000002e,inset 0 1px #ffffff61}.wax-seal-copy-btn:hover{border-color:#3c240a73}.wax-seal-copy-btn-label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;line-height:1}.lobby-room-page{display:flex;justify-content:center;width:100%;max-width:none;overflow-x:auto;padding:clamp(24px,4vh,48px) clamp(16px,4vw,32px)}.lobby-scroll{position:relative;width:100%;max-width:1080px;min-width:900px;padding:clamp(24px,4vh,36px) clamp(24px,4vw,40px);color:var(--ink-on-parchment);display:flex;flex-direction:column;gap:18px;animation:lobby-panel-in .28s ease-out}.lobby-scroll:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f3e4c461;pointer-events:none;z-index:0}.lobby-scroll>*{position:relative;z-index:1}.lobby-scroll-header{display:grid;grid-template-columns:minmax(230px,auto) minmax(0,1fr) auto;align-items:center;gap:18px}.lobby-scroll-title{font-size:clamp(22px,2.8vw,30px);margin:0;text-align:center;line-height:1.15}.lobby-scroll-lead{margin:0;text-align:center;font-size:14px;line-height:1.5;color:var(--ink-muted)}.lobby-leave-btn{justify-self:end;white-space:nowrap}.lobby-scroll-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:18px;align-items:start}.lobby-scroll-main--solo{grid-template-columns:minmax(0,1fr)}.lobby-scroll-main-left,.lobby-scroll-main-right{display:flex;flex-direction:column;gap:12px}.lobby-room-chat-panel{height:min(190px,24vh)}.lobby-settings-preview{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:4px;background:#76582814;border:1px solid rgba(60,36,10,.18)}.lobby-settings-preview-title{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--wood-mid);margin:0}.lobby-settings-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.lobby-settings-preview-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(60,36,10,.18);border-radius:4px;background:linear-gradient(180deg,#fff7dcb8,#d9c49a8f)}.lobby-settings-preview-label{font-size:12px;color:var(--ink-muted)}.lobby-settings-preview-value{font-size:13px;color:var(--ink);font-weight:600}.lobby-crest-roster{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:4px;background:#76582814;border:1px solid rgba(60,36,10,.18)}.lobby-crest-roster-title{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--wood-mid);margin:0}.lobby-crest-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.lobby-crest-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 14px;background:linear-gradient(180deg,#fff7dcb3,#d9c49a8c);border:1px solid rgba(60,36,10,.22);border-radius:4px;box-shadow:inset 0 1px #fff6,0 2px 6px #0000001f}.lobby-crest-item--you{border-color:var(--bronze);box-shadow:inset 0 1px #ffffff73,0 0 0 2px #e6b4584d,0 4px 10px #0000002e}.lobby-crest-item--empty{background:#7658280f;border-style:dashed;opacity:.82}.lobby-crest-slot-placeholder{width:48px;height:58px;display:grid;place-items:center;border:2px dashed rgba(60,36,10,.35);border-radius:50%/35% 35% 65% 65%;color:var(--wood-mid)}.lobby-crest-slot-glyph{font-family:var(--font-display);font-weight:700;font-size:22px;color:#3c240a66}.lobby-crest-item-body{display:flex;flex-direction:column;gap:3px;min-width:0}.lobby-crest-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink-on-parchment);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-crest-name--empty{font-style:italic;font-weight:500;color:var(--wood-mid)}.lobby-crest-meta{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-muted);letter-spacing:.04em}.lobby-crest-badge-you{font-family:var(--font-display);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:9.5px;padding:2px 7px;border-radius:20px;background:var(--bronze);color:#1a0e00}.lobby-crest-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.4);box-shadow:inset 0 1px #ffffff59}.lobby-crest-item-actions{display:inline-flex;gap:6px;align-items:center}.lobby-host-settings{display:flex;flex-direction:column;gap:16px}.lobby-host-section{display:flex;flex-direction:column;gap:10px;padding:16px;background:#7658280f;border:1px solid rgba(60,36,10,.16);border-radius:4px}.lobby-host-section-title{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--wood-mid);margin:0}.lobby-host-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 16px;align-items:end}.lobby-host-grid .field{display:flex;flex-direction:column;gap:6px;color:var(--ink-on-parchment)}.lobby-host-grid .field>span{font-family:var(--font-display);font-weight:600;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--wood-mid)}.lobby-switch-row{grid-column:span 1;display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f3e4c473;border-radius:4px;border:1px solid rgba(60,36,10,.15)}.lobby-switch-row .switch-field-label{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink-on-parchment);letter-spacing:.06em}.lobby-start-btn{align-self:center;position:relative;overflow:hidden;width:100%;max-width:360px;min-height:54px;padding:14px 28px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.24em;text-transform:uppercase;border-width:2px;border-color:#4a3210;background:linear-gradient(180deg,#ffdc8d,#efbd60 47%,#ba7b29);box-shadow:inset 0 2px #fff5d8bf,inset 0 -3px #3c240a57,0 0 0 1px #ffd2788c,0 8px 22px #e6b45866;transform:translateY(0);transition:transform .14s ease,box-shadow .18s ease,filter .18s ease}.lobby-start-btn:before{content:"";position:absolute;top:0;left:-38%;width:36%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.42) 50%,transparent 100%);transform:skew(-18deg);animation:lobby-start-btn-sheen 2.8s ease-in-out infinite;pointer-events:none}.lobby-start-btn:hover:not(:disabled){transform:translateY(-1px) scale(1.015);filter:brightness(1.05);box-shadow:inset 0 2px #fff5d8cc,inset 0 -3px #3c240a61,0 0 0 1px #ffe2a0b3,0 12px 28px #e6b45875}.lobby-start-btn:focus-visible{outline:2px solid rgba(255,228,168,.92);outline-offset:2px}@keyframes lobby-start-btn-sheen{0%{left:-42%;opacity:0}20%{opacity:.75}55%{left:108%;opacity:0}to{left:108%;opacity:0}}.public-rooms-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.public-rooms-dialog-lead{margin:0;max-width:42ch;padding:4px 8px;color:var(--ink-on-parchment);background:#f4e6c4c7;border-radius:4px;box-shadow:0 1px 2px #3c240a1f}.public-rooms-empty{padding:32px 16px;text-align:center;color:var(--ink-muted);background:#7658280f;border-radius:4px;border:1px dashed rgba(60,36,10,.22)}.public-rooms-empty-sub{margin-top:6px;font-size:12.5px;color:var(--wood-mid)}.public-rooms-grid{list-style:none;margin:0;padding:0 4px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:60vh;overflow-y:auto}.public-room-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(180deg,#fff7dccc,#d9c49aa6);border:1px solid rgba(60,36,10,.22);border-radius:4px;box-shadow:inset 0 1px #ffffff73,0 3px 8px #00000024}.public-room-card-main{display:flex;flex-direction:column;gap:3px;min-width:0}.public-room-card-code{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.3em;color:var(--ink-on-parchment)}.public-room-card-host{font-size:12.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-room-card-pips{display:inline-flex;align-items:center;gap:6px;margin-top:2px}.public-room-pip{width:10px;height:10px;border-radius:50%;background:#3c240a33;border:1px solid rgba(60,36,10,.35);box-shadow:inset 0 1px #ffffff40}.public-room-pip--filled{background:radial-gradient(circle at 32% 28%,#f6d78c,#b58c3f 60%,#6b4a1b);border-color:#6b4a1b}.public-room-card-count{margin-left:6px;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.12em;color:var(--wood-mid)}.public-room-join{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-weight:700}@media(max-width:720px){.lobby-scroll-header{grid-template-columns:1fr;text-align:center;justify-items:center}.lobby-leave-btn{justify-self:center}.lobby-scroll-main{grid-template-columns:1fr}.menu-hero-title-main{letter-spacing:.1em}}.ui-select{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:140px;padding:7px 12px 7px 14px;font-family:var(--font-ui);font-weight:600;font-size:14px;color:var(--ink-on-parchment);background:linear-gradient(180deg,#fdf2d2,#ede0bf 60%,#d9c49a);border:1px solid rgba(60,36,10,.35);border-radius:4px;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #3c240a1f,0 1px 2px #0000002e;cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.ui-select:hover:not(:disabled){border-color:var(--bronze);background:linear-gradient(180deg,#fff6d9,#f2e4bf 60%,#dec79d)}.ui-select:focus-visible,.ui-select.ui-select--open{outline:none;border-color:var(--bronze);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #3c240a1f,0 0 0 2px #e6b45859,0 2px 4px #00000038}.ui-select.ui-select--disabled,.ui-select:disabled{opacity:.55;cursor:not-allowed}.ui-select-value{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-select-chevron{flex:0 0 auto;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#f6d78c,#b58c3f 60%,#6b4a1b);color:#2b1d10;box-shadow:inset 0 1px #fff0c88c,inset 0 -1px #00000059,0 1px 2px #00000040;transition:transform .2s ease}.ui-select--open .ui-select-chevron{transform:rotate(180deg)}.ui-select-popup{max-height:280px;overflow-y:auto;padding:6px;background-color:var(--parchment);background-image:radial-gradient(ellipse 70% 45% at 30% 20%,rgba(255,240,210,.55),transparent 60%),radial-gradient(ellipse 60% 45% at 80% 80%,rgba(118,88,40,.18),transparent 60%),url(/textures/parchment-tile.png);background-size:auto,auto,512px 512px;border:1px solid var(--wood-mid);border-radius:4px;box-shadow:0 0 0 2px var(--wood-dark),0 0 0 3px var(--bronze),0 18px 44px #0000008c;animation:ui-select-popup-in .14s ease-out;scrollbar-width:thin;scrollbar-color:var(--bronze) rgba(60,36,10,.15)}@keyframes ui-select-popup-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ui-select-option{display:block;width:100%;text-align:left;padding:8px 12px;font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--ink-on-parchment);background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;transition:background .08s ease,color .08s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.ui-select-option:hover:not(:disabled),.ui-select-option.ui-select-option--highlight{background:linear-gradient(90deg,#e6b45847,#e6b4581a);border-color:#3c240a2e}.ui-select-option.ui-select-option--selected{font-weight:700;color:var(--ink-on-parchment);background:linear-gradient(90deg,#e6b4586b,#e6b4582e);border-color:#3c240a47}.ui-select-option.ui-select-option--selected:before{content:"◆";display:inline-block;margin-right:8px;color:var(--bronze);font-size:10px;transform:translateY(-1px)}.ui-select-option.ui-select-option--disabled{opacity:.45;cursor:not-allowed}
