html,body,#root{margin:0;height:100%;overflow:hidden}body{font-family:Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.RED{background:#fe0400}.BLUE{background:#2278ff}.ORANGE{background:orange}.WHITE{background:#fff}.RED.foreground{color:#c22a26;background:#0000}.BLUE.foreground{color:#1256c4;background:#0000}.ORANGE.foreground{color:#a85f00;background:#0000}.WHITE.foreground{color:#5f5f5f;background:#0000}.number-token,.port{width:20px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;position:relative}@media screen and (min-width: 600px){.number-token,.port{font-size:1.3rem}}.MuiPaper-elevation3.number-token{background:#f5e6c8;color:#333;border-radius:50%;box-shadow:0 1px 3px #00000059}.MuiPaper-elevation3.number-token.number-token-red{color:#c00}.robber{position:absolute;transition:left .45s ease-in-out,top .45s ease-in-out;width:25px;height:31px;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC02IDc2IDk0IiByb2xlPSJpbWciPgogIDwhLS0gT3JpZ2luYWwgYXJ0d29yayBmb3IgQ2F0YW5hdHJvbi4gVGhlIHJvYmJlcjogdGhlIHBhd24gc2hhcGVkIHBpZWNlIGZyb20KICAgICAgIHRoZSBwaHlzaWNhbCBib2FyZC4gRWFjaCBzaGFwZSBpcyBkcmF3biB0d2ljZSwgc3Ryb2tlZCBpbiBwYXJjaG1lbnQgYW5kCiAgICAgICB0aGVuIGZpbGxlZCBpbiBjaGFyY29hbCwgc28gYSBwYWxlIHJpbSBzdXJ2aXZlcyBvbiB0aGUgb3V0c2lkZSBvbmx5LiBUaGUKICAgICAgIHBsYXllciBidWlsZGluZ3MgY2FycnkgdGhlIGludmVyc2UgKGRhcmsgcmltLCBjb2xvdXIgZmlsbCksIHdoaWNoIGtlZXBzCiAgICAgICB0aGUgcm9iYmVyIGxlZ2libGUgYXMgc29tZXRoaW5nIG90aGVyIHRoYW4gYSBwbGF5ZXIncyBwaWVjZS4gLS0+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjBlMmM0IiBzdHJva2Utd2lkdGg9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPCEtLSBiYXNlIC0tPgogICAgPHJlY3QgeD0iOSIgeT0iNjYiIHdpZHRoPSI0NiIgaGVpZ2h0PSIxMSIgcng9IjUuNSIvPgogICAgPCEtLSBib2R5OiBiZWxsLCBmbGFyaW5nIGZyb20gdGhlIG5lY2sgZG93biB0byB0aGUgYmFzZSAtLT4KICAgIDxwYXRoIGQ9Ik0zMiAzM2MtNi41IDAtMTAuNCA2LjYtMTMgMTcuNUMxNy40IDU3IDE1IDYyLjQgMTMgNjZoMzhjLTItMy42LTQuNC05LTYtMTUuNUM0Mi40IDM5LjYgMzguNSAzMyAzMiAzM3oiLz4KICAgIDwhLS0gY29sbGFyIC0tPgogICAgPHJlY3QgeD0iMjIiIHk9IjI5IiB3aWR0aD0iMjAiIGhlaWdodD0iNyIgcng9IjMuNSIvPgogICAgPCEtLSBoZWFkIC0tPgogICAgPGNpcmNsZSBjeD0iMzIiIGN5PSIxNyIgcj0iMTIiLz4KICA8L2c+CiAgPGcgZmlsbD0iIzMzMmYyYiI+CiAgICA8IS0tIGJhc2UgLS0+CiAgICA8cmVjdCB4PSI5IiB5PSI2NiIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjExIiByeD0iNS41Ii8+CiAgICA8IS0tIGJvZHk6IGJlbGwsIGZsYXJpbmcgZnJvbSB0aGUgbmVjayBkb3duIHRvIHRoZSBiYXNlIC0tPgogICAgPHBhdGggZD0iTTMyIDMzYy02LjUgMC0xMC40IDYuNi0xMyAxNy41QzE3LjQgNTcgMTUgNjIuNCAxMyA2NmgzOGMtMi0zLjYtNC40LTktNi0xNS41QzQyLjQgMzkuNiAzOC41IDMzIDMyIDMzeiIvPgogICAgPCEtLSBjb2xsYXIgLS0+CiAgICA8cmVjdCB4PSIyMiIgeT0iMjkiIHdpZHRoPSIyMCIgaGVpZ2h0PSI3IiByeD0iMy41Ii8+CiAgICA8IS0tIGhlYWQgLS0+CiAgICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjE3IiByPSIxMiIvPgogIDwvZz4KPC9zdmc+Cg==) center/contain no-repeat;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}@media screen and (min-width: 600px){.robber{width:34px;height:42px}}.tile{position:absolute;display:flex;justify-content:center;align-items:center;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.tile.tile-port{clip-path:none}.tile.flashing{cursor:pointer}.tile.flashing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#2278ff;animation:tile-flash .5s ease-in-out infinite alternate;pointer-events:none}.tile.flashing .number-token{z-index:1}.tile.robbed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000061;pointer-events:none}.tile.robbed .number-token{z-index:1}.tile.producing:before,.tile.producing-blocked:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.tile.producing:before{background:#fac60c;animation:tile-produce .6s ease-in-out 2 alternate}.tile.producing-blocked:before{background:#030000;opacity:.55}.tile.producing .number-token,.tile.producing-blocked .number-token{z-index:2}.tile.producing-blocked .number-token{opacity:.6}@keyframes tile-flash{0%{opacity:.3}to{opacity:.5}}@keyframes tile-produce{0%{opacity:0}to{opacity:.65}}.port-boat{position:relative}.port-boat .port-boat-image{width:100%;height:100%;object-fit:contain}.port-boat .port-sail{position:absolute;top:.14em;left:50%;transform:translate(-50%);width:.47em;height:.47em;display:flex;align-items:center;justify-content:center}.port-boat .port-resource{width:.42em;height:.42em;object-fit:contain;filter:drop-shadow(0 0 1px rgba(0,0,0,.85)) drop-shadow(0 1px 1px rgba(0,0,0,.45))}.port-boat .port-ratio{font-size:.18em;font-weight:700;color:#333;text-shadow:0 1px 1px rgba(255,255,255,.8)}.edge{position:absolute;display:flex;justify-content:center;height:7.2px}.edge.buildable:after{content:"";position:absolute;left:0;right:0;top:50%;height:18px;transform:translateY(-50%)}.road{position:absolute;border:1px solid #151313;width:100%;height:100%;border-radius:2px}@media screen and (min-width: 600px){.edge{height:12px}}.node{position:absolute;height:10px;width:10px;display:flex;justify-content:center;align-items:center}.settlement,.city{flex:none}.settlement{width:162.5%;height:162.5%}.city{width:237%;height:237%}@media (min-width: 960px){.settlement{width:107.5%;height:107.5%}.city{width:157.5%;height:157.5%}}.RED.settlement{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eSettlement:%20a%20gabled%20house%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23fe3b38%20for%20anything%20facing%20up,%20%23fe0400%20for%20the%20left%20wall,%20%23b70300%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='%23fe0400'/%3e%3cpath%20d='M50%2068%20L86%2048%20L68%2022%20L32%2042%20Z'%20fill='%23fe3b38'/%3e%3cpath%20d='M14%2068%20L50%2088%20L50%2068%20L32%2042%20L14%2048%20Z'%20fill='%23fe0400'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L50%2068%20Z'%20fill='%23b70300'/%3e%3c/svg%3e") center/contain no-repeat}.BLUE.settlement{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eSettlement:%20a%20gabled%20house%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%235396ff%20for%20anything%20facing%20up,%20%232278ff%20for%20the%20left%20wall,%20%231856b8%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='%232278ff'/%3e%3cpath%20d='M50%2068%20L86%2048%20L68%2022%20L32%2042%20Z'%20fill='%235396ff'/%3e%3cpath%20d='M14%2068%20L50%2088%20L50%2068%20L32%2042%20L14%2048%20Z'%20fill='%232278ff'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L50%2068%20Z'%20fill='%231856b8'/%3e%3c/svg%3e") center/contain no-repeat}.ORANGE.settlement{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eSettlement:%20a%20gabled%20house%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23ffb938%20for%20anything%20facing%20up,%20%23ffa500%20for%20the%20left%20wall,%20%23b87700%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='%23ffa500'/%3e%3cpath%20d='M50%2068%20L86%2048%20L68%2022%20L32%2042%20Z'%20fill='%23ffb938'/%3e%3cpath%20d='M14%2068%20L50%2088%20L50%2068%20L32%2042%20L14%2048%20Z'%20fill='%23ffa500'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L50%2068%20Z'%20fill='%23b87700'/%3e%3c/svg%3e") center/contain no-repeat}.WHITE.settlement{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eSettlement:%20a%20gabled%20house%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23f1f1f1%20for%20anything%20facing%20up,%20%23ededed%20for%20the%20left%20wall,%20%23ababab%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L68%2022%20L32%2042%20L14%2048%20L14%2068%20Z'%20fill='%23ededed'/%3e%3cpath%20d='M50%2068%20L86%2048%20L68%2022%20L32%2042%20Z'%20fill='%23f1f1f1'/%3e%3cpath%20d='M14%2068%20L50%2088%20L50%2068%20L32%2042%20L14%2048%20Z'%20fill='%23ededed'/%3e%3cpath%20d='M50%2088%20L86%2068%20L86%2048%20L50%2068%20Z'%20fill='%23ababab'/%3e%3c/svg%3e") center/contain no-repeat}.RED.city{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eCity:%20a%20house%20on%20a%20storey%20of%20its%20own%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23fe3b38%20for%20anything%20facing%20up,%20%23fe0400%20for%20the%20left%20wall,%20%23b70300%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='%23fe0400'/%3e%3cpath%20d='M50%2068%20L90%2046%20L70%2035%20L70%2046%20L50%2057%20L30%2046%20L30%2035%20L10%2046%20Z'%20fill='%23fe3b38'/%3e%3cpath%20d='M50%2043%20L70%2032%20L60%2016.5%20L40%2027.5%20Z'%20fill='%23fe3b38'/%3e%3cpath%20d='M10%2070%20L50%2092%20L50%2068%20L10%2046%20Z'%20fill='%23fe0400'/%3e%3cpath%20d='M30%2046%20L50%2057%20L50%2043%20L40%2027.5%20L30%2032%20Z'%20fill='%23fe0400'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L50%2068%20Z'%20fill='%23b70300'/%3e%3cpath%20d='M50%2057%20L70%2046%20L70%2032%20L50%2043%20Z'%20fill='%23b70300'/%3e%3c/svg%3e") center/contain no-repeat}.BLUE.city{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eCity:%20a%20house%20on%20a%20storey%20of%20its%20own%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%235396ff%20for%20anything%20facing%20up,%20%232278ff%20for%20the%20left%20wall,%20%231856b8%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='%232278ff'/%3e%3cpath%20d='M50%2068%20L90%2046%20L70%2035%20L70%2046%20L50%2057%20L30%2046%20L30%2035%20L10%2046%20Z'%20fill='%235396ff'/%3e%3cpath%20d='M50%2043%20L70%2032%20L60%2016.5%20L40%2027.5%20Z'%20fill='%235396ff'/%3e%3cpath%20d='M10%2070%20L50%2092%20L50%2068%20L10%2046%20Z'%20fill='%232278ff'/%3e%3cpath%20d='M30%2046%20L50%2057%20L50%2043%20L40%2027.5%20L30%2032%20Z'%20fill='%232278ff'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L50%2068%20Z'%20fill='%231856b8'/%3e%3cpath%20d='M50%2057%20L70%2046%20L70%2032%20L50%2043%20Z'%20fill='%231856b8'/%3e%3c/svg%3e") center/contain no-repeat}.ORANGE.city{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eCity:%20a%20house%20on%20a%20storey%20of%20its%20own%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23ffb938%20for%20anything%20facing%20up,%20%23ffa500%20for%20the%20left%20wall,%20%23b87700%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='%23ffa500'/%3e%3cpath%20d='M50%2068%20L90%2046%20L70%2035%20L70%2046%20L50%2057%20L30%2046%20L30%2035%20L10%2046%20Z'%20fill='%23ffb938'/%3e%3cpath%20d='M50%2043%20L70%2032%20L60%2016.5%20L40%2027.5%20Z'%20fill='%23ffb938'/%3e%3cpath%20d='M10%2070%20L50%2092%20L50%2068%20L10%2046%20Z'%20fill='%23ffa500'/%3e%3cpath%20d='M30%2046%20L50%2057%20L50%2043%20L40%2027.5%20L30%2032%20Z'%20fill='%23ffa500'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L50%2068%20Z'%20fill='%23b87700'/%3e%3cpath%20d='M50%2057%20L70%2046%20L70%2032%20L50%2043%20Z'%20fill='%23b87700'/%3e%3c/svg%3e") center/contain no-repeat}.WHITE.city{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%20role='img'%3e%3ctitle%3eCity:%20a%20house%20on%20a%20storey%20of%20its%20own%3c/title%3e%3cdesc%3eGenerated%20by%20scripts/build-piece-sprites.py;%20see%20ui/src/assets/README.md.%20Isometric,%20with%20each%20face%20shaded%20by%20the%20direction%20it%20points:%20%23f1f1f1%20for%20anything%20facing%20up,%20%23ededed%20for%20the%20left%20wall,%20%23ababab%20for%20the%20right.%20The%20dark%20rim%20is%20the%20silhouette%20stroked%20once%20and%20then%20painted%20over,%20so%20it%20survives%20on%20the%20outer%20edge%20only.%3c/desc%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='none'%20stroke='%23151313'%20stroke-width='4'%20stroke-linejoin='round'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L70%2035%20L70%2032%20L60%2016.5%20L40%2027.5%20L30%2032%20L30%2035%20L10%2046%20L10%2070%20Z'%20fill='%23ededed'/%3e%3cpath%20d='M50%2068%20L90%2046%20L70%2035%20L70%2046%20L50%2057%20L30%2046%20L30%2035%20L10%2046%20Z'%20fill='%23f1f1f1'/%3e%3cpath%20d='M50%2043%20L70%2032%20L60%2016.5%20L40%2027.5%20Z'%20fill='%23f1f1f1'/%3e%3cpath%20d='M10%2070%20L50%2092%20L50%2068%20L10%2046%20Z'%20fill='%23ededed'/%3e%3cpath%20d='M30%2046%20L50%2057%20L50%2043%20L40%2027.5%20L30%2032%20Z'%20fill='%23ededed'/%3e%3cpath%20d='M50%2092%20L90%2070%20L90%2046%20L50%2068%20Z'%20fill='%23ababab'/%3e%3cpath%20d='M50%2057%20L70%2046%20L70%2032%20L50%2043%20Z'%20fill='%23ababab'/%3e%3c/svg%3e") center/contain no-repeat}.pulse{cursor:pointer;position:absolute;left:50%;top:50%;transform:translate(-50%) translateY(-50%)}.pulse:after{content:"";position:absolute;left:0;top:0;display:block;width:100%;height:100%;background-color:#fff;border-radius:4px;box-shadow:0 0 8px #0000004d;animation:pulse-dot 1.25s cubic-bezier(.455,.03,.515,.955) -.4s infinite}@keyframes pulse-dot{0%{transform:scale(.8)}50%{transform:scale(1)}to{transform:scale(.8)}}.edge .pulse{width:90%;height:90%}.node .pulse{width:75%;height:75%}@media (prefers-reduced-motion: reduce){.tile.producing:before{animation:none;opacity:.5}}.settlement.just-built,.city.just-built{animation:piece-pop var(--piece-pop-ms, .4s) ease-out var(--piece-flight-ms, 0ms) backwards}@keyframes piece-pop{0%{transform:scale(.3);opacity:0;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}40%{transform:scale(1.5);opacity:1;filter:drop-shadow(0 0 8px rgba(255,255,255,.95))}to{transform:scale(1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}}.road.just-built{animation:road-pop var(--piece-pop-ms, .4s) ease-out var(--piece-flight-ms, 0ms) backwards}@keyframes road-pop{0%{transform:scaleX(.1);opacity:0}40%{transform:scaleX(1.15);opacity:1;box-shadow:0 0 10px 3px #ffffffe6}to{transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.settlement.just-built,.city.just-built,.road.just-built{animation:none}.robber{transition:none}}.number-token{--scale-factor: .65;--base-font-size: 100%;height:4ch;width:4ch;text-align:center;padding:5px;line-height:.8rem;position:relative;display:flex;flex-direction:column}.number-token .pips{font-size:calc(var(--base-font-size) * 60%)}.number-token.flashing{animation:pulse .5s ease-in-out infinite alternate;cursor:pointer}.number-token.producing{animation:number-token-produce .6s ease-in-out 2 alternate}@keyframes number-token-produce{0%{transform:scale(1);box-shadow:0 1px 3px #00000059}to{transform:scale(1.35);box-shadow:0 0 0 5px #ffffffb3}}@media (prefers-reduced-motion: reduce){.number-token.producing{animation:none}}@keyframes pulse{0%{box-shadow:0 0 #ffffff4d}to{box-shadow:0 0 0 4px #c8c8c899}}@media (max-width: 600px){.number-token{--base-font-size: 75%}}.board-flash{position:absolute;top:50%;left:50%;z-index:3;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px;animation-timing-function:ease-out;animation-fill-mode:forwards}.board-flash--seven{animation-name:board-flash-swell}.board-flash__coin{width:min(46vmin,320px);height:min(46vmin,320px);filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}.board-flash__coin-body{fill:#e2cfa6;stroke:#333;stroke-width:5}.board-flash__coin-face{fill:#f5e6c8;stroke:#333;stroke-width:3}.board-flash__coin-crack{fill:none;stroke:#333;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.board-flash__coin-number{fill:#c22a26;font-size:52px;font-weight:700;text-anchor:middle;dominant-baseline:central}.board-flash--robber{animation-name:board-flash-rob}.board-flash__robber{width:min(38vmin,260px);height:min(38vmin,260px);background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii02IC02IDc2IDk0IiByb2xlPSJpbWciPgogIDwhLS0gT3JpZ2luYWwgYXJ0d29yayBmb3IgQ2F0YW5hdHJvbi4gVGhlIHJvYmJlcjogdGhlIHBhd24gc2hhcGVkIHBpZWNlIGZyb20KICAgICAgIHRoZSBwaHlzaWNhbCBib2FyZC4gRWFjaCBzaGFwZSBpcyBkcmF3biB0d2ljZSwgc3Ryb2tlZCBpbiBwYXJjaG1lbnQgYW5kCiAgICAgICB0aGVuIGZpbGxlZCBpbiBjaGFyY29hbCwgc28gYSBwYWxlIHJpbSBzdXJ2aXZlcyBvbiB0aGUgb3V0c2lkZSBvbmx5LiBUaGUKICAgICAgIHBsYXllciBidWlsZGluZ3MgY2FycnkgdGhlIGludmVyc2UgKGRhcmsgcmltLCBjb2xvdXIgZmlsbCksIHdoaWNoIGtlZXBzCiAgICAgICB0aGUgcm9iYmVyIGxlZ2libGUgYXMgc29tZXRoaW5nIG90aGVyIHRoYW4gYSBwbGF5ZXIncyBwaWVjZS4gLS0+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjBlMmM0IiBzdHJva2Utd2lkdGg9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPCEtLSBiYXNlIC0tPgogICAgPHJlY3QgeD0iOSIgeT0iNjYiIHdpZHRoPSI0NiIgaGVpZ2h0PSIxMSIgcng9IjUuNSIvPgogICAgPCEtLSBib2R5OiBiZWxsLCBmbGFyaW5nIGZyb20gdGhlIG5lY2sgZG93biB0byB0aGUgYmFzZSAtLT4KICAgIDxwYXRoIGQ9Ik0zMiAzM2MtNi41IDAtMTAuNCA2LjYtMTMgMTcuNUMxNy40IDU3IDE1IDYyLjQgMTMgNjZoMzhjLTItMy42LTQuNC05LTYtMTUuNUM0Mi40IDM5LjYgMzguNSAzMyAzMiAzM3oiLz4KICAgIDwhLS0gY29sbGFyIC0tPgogICAgPHJlY3QgeD0iMjIiIHk9IjI5IiB3aWR0aD0iMjAiIGhlaWdodD0iNyIgcng9IjMuNSIvPgogICAgPCEtLSBoZWFkIC0tPgogICAgPGNpcmNsZSBjeD0iMzIiIGN5PSIxNyIgcj0iMTIiLz4KICA8L2c+CiAgPGcgZmlsbD0iIzMzMmYyYiI+CiAgICA8IS0tIGJhc2UgLS0+CiAgICA8cmVjdCB4PSI5IiB5PSI2NiIgd2lkdGg9IjQ2IiBoZWlnaHQ9IjExIiByeD0iNS41Ii8+CiAgICA8IS0tIGJvZHk6IGJlbGwsIGZsYXJpbmcgZnJvbSB0aGUgbmVjayBkb3duIHRvIHRoZSBiYXNlIC0tPgogICAgPHBhdGggZD0iTTMyIDMzYy02LjUgMC0xMC40IDYuNi0xMyAxNy41QzE3LjQgNTcgMTUgNjIuNCAxMyA2NmgzOGMtMi0zLjYtNC40LTktNi0xNS41QzQyLjQgMzkuNiAzOC41IDMzIDMyIDMzeiIvPgogICAgPCEtLSBjb2xsYXIgLS0+CiAgICA8cmVjdCB4PSIyMiIgeT0iMjkiIHdpZHRoPSIyMCIgaGVpZ2h0PSI3IiByeD0iMy41Ii8+CiAgICA8IS0tIGhlYWQgLS0+CiAgICA8Y2lyY2xlIGN4PSIzMiIgY3k9IjE3IiByPSIxMiIvPgogIDwvZz4KPC9zdmc+Cg==) center/contain no-repeat;filter:drop-shadow(0 4px 14px rgba(0,0,0,.55))}.board-flash--devCard{padding:14px 20px;border-radius:10px;background:#2f2a5c;color:#f5e6c8;box-shadow:0 4px 14px #00000073;animation-name:board-flash-swell}.board-flash--devCard img{width:min(24vmin,132px);height:min(24vmin,132px);object-fit:contain}.board-flash__announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.board-flash__label{font-weight:700;font-size:clamp(.95rem,3.2vmin,1.35rem);text-transform:uppercase;letter-spacing:.04em}@keyframes board-flash-swell{0%{transform:translate(-50%,-50%) scale(.35);opacity:0}22%{transform:translate(-50%,-50%) scale(1.12);opacity:1}36%{transform:translate(-50%,-50%) scale(1);opacity:1}78%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-58%) scale(.92);opacity:0}}@keyframes board-flash-rob{0%{transform:translate(calc(-50% + var(--flash-dx)),calc(-50% + var(--flash-dy))) scale(.12);opacity:0}14%{transform:translate(calc(-50% + var(--flash-dx)),calc(-50% + var(--flash-dy))) scale(.28);opacity:1}62%{transform:translate(-50%,-50%) scale(1.06);opacity:1}78%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@media (prefers-reduced-motion: reduce){.board-flash{animation:none;transform:translate(-50%,-50%)}.board-flash--robber{transform:translate(-50%,-50%)}}.robber-victim .MuiPaper-root{background-color:#f5e6c8;color:#333;padding:6px;min-width:160px}.robber-victim__title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#333333a6;padding:2px 6px 6px}.robber-victim__choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;border:0;border-left:4px solid var(--ink);border-radius:4px;background:#f5e6c8;cursor:pointer;font:inherit;text-align:left}.robber-victim__choice+.robber-victim__choice{margin-top:4px}.robber-victim__choice:hover,.robber-victim__choice:focus-visible{background:var(--tint)}.robber-victim__choice--RED{--ink: #c22a26;--tint: rgb(246.585, 208.3219230769, 207.315)}.robber-victim__choice--BLUE{--ink: #1256c4;--tint: rgb(207.315, 222.3170224719, 246.585)}.robber-victim__choice--ORANGE{--ink: #a85f00;--tint: rgb(248.115, 214.2091071429, 170.085)}.robber-victim__choice--WHITE{--ink: #5f5f5f;--tint: rgb(221.85, 221.85, 221.85)}.robber-victim__who{display:flex;flex-direction:column;gap:1px;min-width:0}.robber-victim__name{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.robber-victim__color{color:#333333a6;font-size:.65rem;letter-spacing:.08em}.robber-victim__cards{color:#333333a6;font-size:.8rem;white-space:nowrap}.prompt{padding:10px;height:60px;width:100%;font-size:1rem;text-align:left;display:flex;flex-direction:column;align-items:center;overflow-x:auto;white-space:nowrap}.resource-cards{height:40px;display:flex;gap:5px;margin-bottom:10px}.resource-cards .card{flex:0 0 auto}.resource-cards .card .MuiPaper-root{width:28px;height:40px;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:.72rem;font-weight:700;border:1px solid rgba(0,0,0,.18);box-shadow:0 1px 3px #00000040}.resource-cards .card .card-icon{width:24px;height:22px;margin-top:3px;object-fit:contain}.resource-cards .card .card-count{line-height:1;padding-bottom:3px}.resource-cards .resource-card .MuiPaper-root{background:#f5e6c8;color:#333}.resource-cards .dev-card .MuiPaper-root{background:#2f2a5c;color:#f5e6c8}.resource-cards .separator{flex:0 0 1px;align-self:stretch;margin:4px 3px;background:#00000026}.center-text{display:flex;justify-content:center;align-items:center;width:25px;height:40px}.player-state-box{padding:10px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box;border-left:4px solid transparent;position:relative}.player-state-box .player-name{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-bottom:4px;min-height:20px;font-size:.8rem;font-weight:700;letter-spacing:.06em}.player-state-box .change-badges{flex:0 1 auto;min-width:0;margin-left:auto;display:flex;justify-content:flex-end;gap:4px;overflow:hidden;animation:change-badge-in .18s ease-out}.player-state-box .player-name>span,.player-state-box .player-name>.bot-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-state-box .change-pill{flex:0 0 auto}.player-state-box .win-probability{flex:0 0 auto;padding:1px 6px;border-radius:999px;background:#0000000f;font-size:.7rem;font-weight:700;letter-spacing:0}.player-state-box .you-chip{flex:0 0 auto;margin-left:auto;padding:1px 6px;border-radius:999px;border:1px solid currentColor;font-size:.65rem;letter-spacing:.08em;opacity:.85}.player-state-box .host-chip.after-you{margin-left:0}.player-state-box.current-turn.foreground,.player-state-box.trade-offering.foreground,.player-state-box.trade-deciding.foreground{background:var(--tint);box-shadow:0 1px 4px #0000002e}.player-state-box .scores{display:flex;justify-content:space-between}.player-state-box .num-knights,.player-state-box .num-roads,.player-state-box .victory-points{flex-direction:column;width:50px;height:40px}.player-state-box .bold{font-weight:700}.player-state-box.RED{--ink: #c22a26;--tint: rgb(246.585, 208.3219230769, 207.315)}.player-state-box.BLUE{--ink: #1256c4;--tint: rgb(207.315, 222.3170224719, 246.585)}.player-state-box.ORANGE{--ink: #a85f00;--tint: rgb(248.115, 214.2091071429, 170.085)}.player-state-box.WHITE{--ink: #5f5f5f;--tint: rgb(221.85, 221.85, 221.85)}.player-state-box.current-turn,.player-state-box.trade-offering{border-left-color:var(--ink)}.player-state-box.current-turn{animation:box-bar-blink 1.1s ease-in-out infinite}@keyframes box-bar-blink{50%{border-left-color:transparent;background-color:#f5e6c8}}.player-state-box .player-name>.bot-name{font-style:italic;font-weight:400}.player-state-box .player-name>span:first-child,.player-state-box .player-name>.bot-name{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.player-state-box.floating{width:240px;max-width:none;margin:0;border-radius:6px;background:#eddcb9;box-shadow:0 2px 8px #00000040}.player-state-box.floating.foreground{background:#eddcb9}.player-state-box.floating.current-turn.foreground,.player-state-box.floating.trade-offering.foreground,.player-state-box.floating.trade-deciding.foreground{background:var(--tint)}.player-state-box.floating.current-turn,.player-state-box.floating.trade-offering{box-shadow:0 0 0 3px var(--ink),0 2px 10px #0000004d}.player-state-box.floating.current-turn{animation:box-ring-blink 1.1s ease-in-out infinite}@keyframes box-ring-blink{50%{border-left-color:transparent;box-shadow:0 0 0 3px transparent,0 2px 10px #0000004d;background-color:#f5e6c8}}@keyframes change-badge-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.player-state-box .change-badges{animation:none}}.change-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:0;color:#f5e6c8;box-shadow:0 1px 3px #0000004d}.change-pill img{width:14px;height:14px;object-fit:contain}.change-pill small{font-size:.6rem;letter-spacing:.06em}.change-pill.gain{background:#2e7d32}.change-pill.loss{background:#c62828}.player-state-box .winner-laurel{flex:0 0 auto;width:22px;height:22px;margin-right:3px;color:var(--ink);vertical-align:middle}.player-state-box.won{border-left-color:var(--ink);box-shadow:0 0 0 3px var(--ink),0 2px 10px #0000004d;animation:none}.resource-selector .MuiPaper-root{background-color:#f5e6c8;color:#333;border-radius:8px;border:1px solid rgba(0,0,0,.15);box-shadow:0 8px 28px #0000004d}.resource-selector .MuiDialogTitle-root{text-align:center;background-color:#eddcb9;padding:12px 20px;font-size:1.1rem;font-weight:700;border-bottom:1px solid rgba(0,0,0,.15)}.resource-selector .MuiDialogContent-root{padding:20px}.resource-selector .resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 600px){.resource-selector .resource-grid{grid-template-columns:1fr}}.resource-selector .resource-button{min-height:44px;font-size:.9rem;text-transform:none;background-color:#eddcb9;color:#333;border-radius:4px;transition:background-color .2s ease;border:1px solid rgba(0,0,0,.15);overflow:hidden;position:relative}.resource-selector .resource-button:hover,.resource-selector .resource-button:focus{background-color:#e7d0a1}.resource-selector .resource-button .wood{color:#0f7a1c}.resource-selector .resource-button .brick{color:#b53a12}.resource-selector .resource-button .wheat{color:#9a7500}.resource-selector .resource-button .sheep{color:#4a8f3a}.resource-selector .resource-button .ore{color:#55565c}.resource-selector .resource-button .resource-name{display:inline-flex;align-items:center;gap:5px;font-weight:700;vertical-align:middle}.resource-selector .resource-button .resource-icon{width:26px;height:20px;object-fit:contain}.resource-selector .resource-button .plus{color:#333333a6;margin:0 4px}.resource-selector .MuiDialogActions-root{background-color:#eddcb9;padding:12px 20px;border-top:1px solid rgba(0,0,0,.15)}.resource-selector .cancel-button{color:#0d47a1;font-weight:700}.resource-selector .cancel-button:hover{background-color:#0d47a114}.discard-planner .MuiPaper-root{background-color:#f5e6c8;color:#333;border-radius:8px;border:1px solid rgba(0,0,0,.15);box-shadow:0 8px 28px #0000004d}.discard-planner .MuiDialogTitle-root{text-align:center;background-color:#eddcb9;padding:12px 20px;font-size:1.1rem;font-weight:700;border-bottom:1px solid rgba(0,0,0,.15)}.discard-planner .MuiDialogContent-root{padding:20px}.discard-planner .discard-note{margin-top:4px;color:#333333a6}.discard-planner .discard-summary{padding-top:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.discard-planner .selected-discard-list{display:flex;flex-wrap:wrap;gap:8px}.discard-planner .selected-discard-chip{text-transform:none;gap:5px;color:#333;border-color:#00000026}.discard-planner .resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 600px){.discard-planner .resource-grid{grid-template-columns:1fr}}.discard-planner .resource-button{min-height:54px;font-size:.9rem;text-transform:none;background-color:#eddcb9;color:#333;border-radius:4px;transition:background-color .2s ease;border:1px solid rgba(0,0,0,.15);overflow:hidden;position:relative}.discard-planner .resource-button:hover,.discard-planner .resource-button:focus{background-color:#e7d0a1}.discard-planner .resource-button .wood{color:#0f7a1c}.discard-planner .resource-button .brick{color:#b53a12}.discard-planner .resource-button .wheat{color:#9a7500}.discard-planner .resource-button .sheep{color:#4a8f3a}.discard-planner .resource-button .ore{color:#55565c}.discard-planner .resource-button .resource-name{display:inline-flex;align-items:center;gap:5px;font-weight:700}.discard-planner .resource-button .resource-meta{color:#333333a6;font-size:.75rem}.discard-planner .resource-icon{width:26px;height:20px;object-fit:contain}.discard-planner .MuiDialogActions-root{background-color:#eddcb9;padding:12px 20px;border-top:1px solid rgba(0,0,0,.15)}.discard-planner .cancel-button{color:#0d47a1;font-weight:700}.discard-planner .cancel-button:hover{background-color:#0d47a114}.discard-planner .clear-button{color:#333333a6}.trade-offer-dialog .MuiPaper-root{background-color:#f5e6c8;color:#333;border-radius:8px;border:1px solid rgba(0,0,0,.15);box-shadow:0 8px 28px #0000004d}.trade-offer-dialog .MuiDialogTitle-root{text-align:center;background-color:#eddcb9;padding:12px 20px;font-size:1.1rem;font-weight:700;border-bottom:1px solid rgba(0,0,0,.15)}.trade-offer-dialog .MuiDialogContent-root{padding:20px}.trade-offer-dialog .trade-note{margin-top:4px;color:#333333a6}.trade-offer-dialog .trade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-top:8px}@media (max-width: 600px){.trade-offer-dialog .trade-grid{grid-template-columns:1fr}}.trade-offer-dialog .trade-side-title{text-align:center;font-weight:700;margin-bottom:8px;color:#333333a6}.trade-offer-dialog .trade-row{display:grid;grid-template-columns:1fr auto 24px auto;align-items:center;gap:4px;padding:2px 0}.trade-offer-dialog .trade-count{text-align:center;font-variant-numeric:tabular-nums}.trade-offer-dialog .trade-have{min-width:16px;margin-left:2px;padding:0 5px;border-radius:9px;background:#00000012;color:#333333a6;font-size:.7rem;font-weight:400;font-variant-numeric:tabular-nums;text-align:center}.trade-offer-dialog .resource-icon{width:26px;height:20px;object-fit:contain}.trade-offer-dialog .resource-name{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:.85rem}.trade-offer-dialog .resource-name.wood{color:#0f7a1c}.trade-offer-dialog .resource-name.brick{color:#b53a12}.trade-offer-dialog .resource-name.wheat{color:#9a7500}.trade-offer-dialog .resource-name.sheep{color:#4a8f3a}.trade-offer-dialog .resource-name.ore{color:#55565c}.trade-offer-dialog .MuiIconButton-root{color:#333}.trade-offer-dialog .MuiIconButton-root.Mui-disabled{color:#3333334d}.trade-offer-dialog .MuiDialogActions-root{background-color:#eddcb9;padding:12px 20px;border-top:1px solid rgba(0,0,0,.15)}.trade-offer-dialog .cancel-button{color:#0d47a1;font-weight:700}.trade-offer-dialog .cancel-button:hover{background-color:#0d47a114}.trade-offer-dialog .trade-why-disabled{margin-top:8px;text-align:center;font-size:.8rem;color:#333333a6}.trade-response-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%}.trade-response-panel .trade-response-summary{font-size:.9rem;font-weight:700;text-align:center;color:#333}.trade-response-panel .trade-response-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.trade-response-panel .trade-bid{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.trade-response-panel .trade-bid .trade-bid-terms{font-size:.85rem;color:#333}.trade-response-panel .MuiButton-root{width:auto;min-width:90px;height:40px;padding:0 12px}.trade-response-summary .trade-term-icon,.trade-bid-terms .trade-term-icon{width:16px;height:22px;object-fit:contain;vertical-align:middle;border-radius:2px}.state-summary{height:60px;width:100%;max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px}.state-summary .MuiButton-root{flex-shrink:0}.state-summary .resource-cards{flex:1;min-width:0}.state-summary .open-drawer-btn{color:#333;min-width:0}.actions-toolbar{min-height:80px;flex-shrink:0;width:100%;max-width:600px;margin-left:auto;margin-right:auto;padding:10px 18px;display:flex;justify-content:space-between;gap:10px}.actions-toolbar>.MuiButton-root{min-width:60px;width:100px;height:60px}.actions-toolbar .confirm-btn{width:100%}.actions-toolbar .action-popover{z-index:1;overflow:auto;max-height:calc(100% - 60px);margin-bottom:10px}.actions-toolbar>.MuiButton-root{flex-direction:column;gap:2px;line-height:1.15}.actions-toolbar>.MuiButton-root .MuiButton-startIcon{margin:0}@media screen and (min-width: 600px){.state-summary,.actions-toolbar{padding:10px}}.board-hint{margin:0 auto;align-self:center;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 16px;border-radius:999px;color:#333;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#fac60c;box-shadow:0 1px 5px #00000059;animation:board-hint-blink 1.4s ease-in-out infinite}.board-hint .MuiSvgIcon-root{flex:0 0 auto;font-size:1.05rem}.board-hint .board-hint__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-toolbar>.MuiButton-root.board-hint-cancel{flex:0 0 auto;width:auto;min-width:0;height:34px;align-self:center;padding:0 14px;border-color:#00000026;color:#333333a6;background:#f5e6c8;font-size:.7rem;font-weight:700;letter-spacing:.06em}@keyframes board-hint-blink{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion: reduce){.board-hint{animation:none}}.player-mat{position:relative;flex:1 1 0;min-width:0;padding:4px 6px 5px;border-radius:6px;border-left:3px solid transparent;background:#eddcb9;box-shadow:0 1px 3px #0000002e;box-sizing:border-box}.player-mat.foreground{background:#eddcb9}.player-mat.current-turn.foreground{background:var(--tint)}.player-mat .mat-name{display:flex;align-items:center;gap:4px;min-height:16px;font-size:.68rem;font-weight:700;letter-spacing:.04em}.player-mat .mat-label{flex:0 1 auto;min-width:4ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.player-mat.bot-name .mat-label{font-style:italic}.player-mat .you-chip{flex:0 0 auto;margin-left:auto;padding:0 4px;border-radius:999px;border:1px solid currentColor;font-size:.55rem;letter-spacing:.06em;opacity:.85}.player-mat .mat-counts{display:flex;align-items:baseline;gap:6px;margin-top:2px;font-size:.8rem;font-weight:700;line-height:1}.player-mat .mat-count{display:inline-flex;align-items:center;gap:2px}.player-mat .mat-count img{width:11px;height:15px;object-fit:contain}.player-mat .mat-count--knights img{width:13px;height:13px}.player-mat .mat-count--knights.bold{font-weight:900;text-decoration:underline}.player-mat .mat-count--dev img{padding:1px;border-radius:2px;background:#2f2a5c;box-sizing:border-box}.player-mat .mat-counts .player-clock{align-self:center;margin-left:2px;font-size:.62rem;padding:0 4px}.player-mat .mat-vps{margin-left:auto}.player-mat .mat-vps small{margin-left:1px;font-size:.55rem;font-weight:400;letter-spacing:.04em}.player-mat .mat-vps.bold{font-weight:900}.player-mat .win-probability{font-size:.6rem;padding:0 4px;border-radius:999px;background:#0000000f}.player-mat .change-badges{flex:0 1 auto;min-width:0;margin-left:auto;display:flex;justify-content:flex-end;gap:3px;overflow:hidden;animation:change-badge-in .18s ease-out}.player-mat.RED{--ink: #c22a26;--tint: rgb(246.585, 208.3219230769, 207.315)}.player-mat.BLUE{--ink: #1256c4;--tint: rgb(207.315, 222.3170224719, 246.585)}.player-mat.ORANGE{--ink: #a85f00;--tint: rgb(248.115, 214.2091071429, 170.085)}.player-mat.WHITE{--ink: #5f5f5f;--tint: rgb(221.85, 221.85, 221.85)}.player-mat.current-turn,.player-mat.trade-offering{border-left-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.player-mat.current-turn{animation:mat-ring-blink 1.1s ease-in-out infinite}@keyframes mat-ring-blink{50%{border-left-color:transparent;box-shadow:0 0 0 2px transparent;background-color:#f5e6c8}}.player-mat.trade-offering.foreground,.player-mat.trade-deciding.foreground{background:var(--tint)}@media (prefers-reduced-motion: reduce){.player-mat .change-badges,.player-mat.current-turn{animation:none}}.player-mat .winner-laurel{flex:0 0 auto;width:20px;height:20px;margin-right:2px;color:var(--ink)}.player-mat.won{border-left-color:var(--ink);box-shadow:0 0 0 2px var(--ink);background:var(--tint);animation:none}.player-clock{flex:0 0 auto;padding:1px 5px;border-radius:4px;border:1px solid currentColor;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1.2;opacity:.6}.player-clock.running{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent)}.player-clock.out{color:#c22a26;border-color:#c22a26;background:color-mix(in srgb,#c22a26 15%,transparent);opacity:1}.trade-card{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:#eddcb9;border:2px solid rgba(0,0,0,.15);box-shadow:0 2px 6px #0000004d;color:#333;animation:trade-card-in .22s ease-out}.trade-card.RED{background:#eddcb9;border-color:#fe0400}.trade-card.BLUE{background:#eddcb9;border-color:#2278ff}.trade-card.ORANGE{background:#eddcb9;border-color:orange}.trade-card.WHITE{background:#eddcb9;border-color:#fff}.trade-card .trade-side{display:inline-flex;align-items:center;gap:3px}.trade-card .trade-term{display:inline-flex;align-items:center;gap:1px;font-size:1rem;font-weight:700;line-height:1}.trade-card .trade-term img{width:22px;height:30px;object-fit:contain;border-radius:3px}.trade-card .trade-arrow,.trade-card .trade-counter-mark{font-size:1.1rem;opacity:.7}.trade-card .trade-mark{font-size:1.8rem}.trade-card.accept .trade-mark{color:#2e7d32}.trade-card.reject .trade-mark{color:#c22a26}@keyframes trade-card-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media screen and (min-width: 600px){.trade-card .trade-term img{width:28px;height:38px}.trade-card .trade-term{font-size:1.2rem}.trade-card .trade-mark{font-size:2.2rem}}@media (prefers-reduced-motion: reduce){.trade-card{animation:none}}.trade-card.trade-answer{align-self:center;margin-top:6px;justify-content:center}.player-strip .trade-card.trade-answer{position:absolute;top:100%;left:0;right:0;width:max-content;margin:4px auto 0;z-index:2}.player-strip--bottom .trade-card.trade-answer{top:auto;bottom:100%;margin:0 auto 4px}.player-table__seat .trade-card.trade-answer{position:absolute;top:100%;left:0;right:0;width:max-content;margin:6px auto 0;white-space:nowrap}.player-strip{display:grid;grid-template-columns:repeat(var(--mat-columns, 1),1fr);gap:6px;margin:10px 8px 2px}.player-strip--bottom{margin:2px 8px 6px}.player-strip__seat{position:relative;min-width:0;display:flex;flex-direction:column}.player-strip__seat>.player-mat{flex:1 1 auto}.fireworks{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;pointer-events:none;overflow:hidden}.firework{position:absolute;width:0;height:0}.firework i{--travel: 90px;position:absolute;left:0;top:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:hsl(var(--hue),95%,62%);box-shadow:0 0 6px 1px hsl(var(--hue),95%,62%,70%);opacity:0;transform:rotate(var(--angle)) translateY(0);animation:firework-spark 1.5s ease-out infinite}@keyframes firework-spark{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.4)}8%{opacity:1}70%{opacity:1;transform:rotate(var(--angle)) translateY(calc(var(--travel) * -1)) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--travel) * -1.15)) scale(.5)}}@media (prefers-reduced-motion: reduce){.fireworks{display:none}}.player-table{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.player-table__seat{position:absolute;pointer-events:auto}.player-table__seat--bottom-left{left:10px;bottom:10px}.player-table__seat--top-left{left:10px;top:10px}.player-table__seat--top-right{right:10px;top:10px}.player-table__seat--bottom-right{right:10px;bottom:10px}.MuiToolbar-root{background:#030000}h6.MuiTypography-h6{font-family:Bungee Inline,sans-serif}@media (min-width: 600px){#root .snackbar-container{display:none}}#root .snackbar-container{z-index:1200;left:50%!important;top:105px;bottom:auto;transform:translate(-50%);max-width:600px;width:100%}#root .snackbar-container .notistack-CollapseWrapper{padding:3px 0}#root .snackbar-container .notistack-MuiContent{min-height:0;padding:0 10px 0 12px;font-size:.78rem;line-height:1.35;border-radius:999px;box-shadow:0 2px 6px #00000059}#root .snackbar-container .notistack-MuiContent #notistack-snackbar{padding:5px 0}#root .snackbar-container .notistack-MuiContent>:last-child{margin-right:0}#root .snackbar-container .notistack-MuiContent .MuiIconButton-root{padding:2px}#root .snackbar-container .notistack-MuiContent .MuiSvgIcon-root{font-size:1rem}#root .snackbar-container .notistack-MuiContent-default{background-color:#313131d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media (max-width: 599px){main .logo{font-size:1.5rem}}main .board-container,main .loader{height:100%;width:100%;display:flex;justify-content:center;align-items:center}.board-container{position:relative}.board-container .react-transform-wrapper,.board-container .react-transform-component,.board-container .react-transform-component .react-transform-element{height:100%;width:100%}.board-container .board{position:relative;opacity:0;height:100%;width:100%}.board-container .board.show{opacity:1}@media (min-width: 960px){main{padding-left:280px}main .board-container{margin-right:0}main.drawer-collapsed{padding-left:0}}.game-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:5px 20px 0}.game-header .logo{margin:0;text-align:left}.game-topbar{display:flex;align-items:center;gap:8px;margin-left:auto}.game-topbar .game-name{color:#333333a6;font-size:.75rem;font-weight:700}@media (max-width: 599px){.game-topbar{gap:6px}}.topbar-button{padding:4px 12px;border:1px solid rgba(0,0,0,.15);border-radius:999px;color:#333333a6;font-size:.7rem;font-weight:700;font-family:inherit;letter-spacing:.06em;text-decoration:none;background:#f5e6c8;cursor:pointer}.topbar-button:hover{color:#333;border-color:#00000059}.topbar-button:disabled{opacity:.55;cursor:default}.topbar-button[aria-pressed=true]{color:#333;border-color:#00000059}.watchers-box{flex:0 0 auto;padding:6px 10px;border-bottom:1px solid rgba(0,0,0,.15);color:#333333a6;font-size:.75rem}.watchers-box__title{display:flex;align-items:center;gap:6px;margin-bottom:2px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.watchers-box__count{padding:0 6px;border-radius:999px;background:#0000000f;letter-spacing:0}.watchers-box__list{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0;padding:0;list-style:none}.left-drawer .MuiDrawer-paper{width:280px;background:#eddcb9;color:#333}.left-drawer .MuiDivider-root{background:#00000026}.left-drawer .MuiDrawer-paperAnchorDockedLeft{border-color:#00000026}.left-drawer .log{flex:1 1 auto;min-height:0;overflow-y:auto;font-size:.8rem;display:flex;flex-direction:column-reverse;scrollbar-width:thin;scrollbar-color:#c5b18e #eddcb9}.left-drawer .log .action{padding:10px}.left-drawer .drawer-footer{flex:0 0 auto;padding:10px;display:flex;flex-direction:column;gap:10px}.game-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.seat-picker{position:absolute;z-index:1260;display:flex;align-items:center;justify-content:center;top:0;right:0;bottom:0;left:0;padding:16px;background:#0000009e}.seat-picker__card{width:100%;max-width:420px;padding:20px;border-radius:12px;color:#fff;background:#1b2431;box-shadow:0 18px 40px #00000073}.seat-picker__title{margin:0 0 6px;font-size:1.1rem;letter-spacing:.04em}.seat-picker__hint{margin:0 0 12px;color:#ffffff8c;font-size:.8rem;line-height:1.5}.seat-picker__room{margin:0 0 16px;color:#fff9;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.seat-picker__room .game-name{margin-left:6px;color:#fff;font-size:.95rem;letter-spacing:.04em;text-transform:none;-webkit-user-select:all;user-select:all}.seat-picker__seats{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none}.seat-picker__seat{display:flex;align-items:center;gap:10px}.seat-picker__holder{overflow:hidden;flex:1;color:#ffffffc7;font-size:.85rem;white-space:nowrap;text-overflow:ellipsis}.seat-picker__release{flex-shrink:0;color:#fff9;font-size:.7rem}.seat-picker__error{margin:14px 0 0;color:#ff8a86;font-size:.8rem}.seat-picker__watch{width:100%;margin-top:14px;color:#ffffffb3}.seat-picker .player-color-chip{display:inline-flex;width:68px;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.05em}.seat-picker .player-color-chip.red{color:#ff8a86;background:#fe040038}.seat-picker .player-color-chip.blue{color:#8cb7ff;background:#2278ff38}.seat-picker .player-color-chip.orange{color:#ffd18a;background:#ffa5003d}.seat-picker .player-color-chip.white{color:#ffffffe0;background:#ffffff29}.seat-picker__bot{color:#fff9}.seat-picker__bot-select{flex-shrink:0;max-width:72px;padding:4px 6px;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff9;font-size:.7rem;font-family:inherit;background:transparent}.seat-picker__bot-select option{color:#000}.seat-picker__host{color:#ffffff73;font-size:.7rem;font-style:normal}.seat-picker__name{margin-bottom:4px}.paused-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1250;display:flex;align-items:center;justify-content:center;background:#00000040;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.paused-overlay__card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 26px;border-radius:10px;background:#f5e6c8;color:#333;box-shadow:0 4px 18px #00000059;text-align:center}.paused-overlay__card strong{font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase}main.game-load-error{align-items:center;justify-content:center;text-align:center;padding:0 20px}main.game-load-error h2{margin:0 0 8px}main.game-load-error .message{margin:0 0 24px;max-width:420px;opacity:.8}main.game-load-error .actions{display:flex;flex-direction:column;align-items:center;gap:16px}main.game-load-error .actions a{color:#333}.card-flights{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;pointer-events:none;overflow:hidden}.card-flight{position:absolute;width:60px;height:78px;margin:-39px 0 0 -30px;border-radius:4px;border:2px solid rgba(0,0,0,.15);box-shadow:0 2px 5px #00000059;animation-fill-mode:forwards}.card-flight img{width:100%;height:100%;object-fit:contain}.card-flight.RED{background:#f5e6c8;border-color:#fe0400}.card-flight.BLUE{background:#f5e6c8;border-color:#2278ff}.card-flight.ORANGE{background:#f5e6c8;border-color:orange}.card-flight.WHITE{background:#f5e6c8;border-color:#fff}.card-flight.flying{animation-name:card-fly;animation-timing-function:cubic-bezier(.4,0,.3,1)}.card-flight.adrift{animation-name:card-adrift;animation-timing-function:ease-out}.card-flight.sinking{animation-name:card-sink;animation-timing-function:ease-in}@keyframes card-sink{0%{transform:translate(0) scale(1);opacity:1}20%{transform:translateY(6px) scale(1);opacity:1}to{transform:translateY(70px) scale(.7);opacity:0}}@keyframes card-fly{0%{transform:translate(0) scale(.6);opacity:0}12%{transform:translateY(-10px) scale(1.15);opacity:1}80%{opacity:1}to{transform:translate(var(--fly-x),var(--fly-y)) scale(1);opacity:0}}@keyframes card-adrift{0%{transform:translate(0) scale(.6);opacity:0}25%{transform:translateY(-14px) scale(1.1);opacity:1}to{transform:translateY(-46px) scale(1);opacity:0}}.piece-flights{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;pointer-events:none;overflow:hidden}.piece-flight,.piece-flight.settlement,.piece-flight.city{position:absolute;width:64px;height:64px;animation-name:piece-fly;animation-timing-function:cubic-bezier(.3,0,.2,1);animation-fill-mode:forwards;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.piece-flight.road{width:52px;height:13px;border-radius:3px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}@keyframes piece-fly{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}12%{transform:translate(calc(-50% + var(--piece-dx) * .12),calc(-50% + var(--piece-dy) * .12)) scale(.8);opacity:1}72%{transform:translate(calc(-50% + var(--piece-dx)),calc(-50% + var(--piece-dy))) scale(1.15);opacity:1}88%{transform:translate(calc(-50% + var(--piece-dx)),calc(-50% + var(--piece-dy))) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--piece-dx)),calc(-50% + var(--piece-dy))) scale(1);opacity:0}}@media (prefers-reduced-motion: reduce){.piece-flights{display:none}}.board-menu-button{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:999px;color:#333333a6;background:#f5e6c8;box-shadow:0 1px 4px #00000040;cursor:pointer}.board-menu-button:hover{color:#333;border-color:#00000059}.board-menu__name{padding:6px 16px 2px;list-style:none}.board-menu-button--inline{position:static;top:auto;right:auto}.board-topbar{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 8px 0}.board-topbar__tray{display:flex;flex:0 0 auto;min-width:38px;align-items:center}.board-topbar .board-topbar__title{position:absolute;left:0;right:0;margin:0;padding:0 88px;overflow:hidden;pointer-events:none;color:#333;font-size:1.25rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.board-topbar.board-topbar--crowded .board-topbar__title{visibility:hidden}.board-topbar__menu{display:flex;flex:0 0 auto;align-items:center;margin-left:auto}.rules-dialog__title{display:flex;align-items:center;justify-content:space-between;gap:8px}.rules-dialog section+section{margin-top:18px}.rules-dialog h3{margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.rules-dialog__list{margin:0;padding:0;list-style:none}.rules-dialog__row{display:flex;align-items:center;gap:12px;padding:7px 0}.rules-dialog__row+.rules-dialog__row{border-top:1px solid rgba(0,0,0,.15)}.rules-dialog__cost{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:2px;width:124px}.rules-dialog__resource{width:22px;height:22px;object-fit:contain}.rules-dialog__card{flex:0 0 auto;width:34px;height:34px;object-fit:contain}.rules-dialog__text{display:flex;flex-direction:column}.rules-dialog__text strong{font-size:.9rem}.rules-dialog__text span{font-size:.8rem;opacity:.75}.rules-dialog__list--plain{display:flex;flex-direction:column;gap:7px;font-size:.85rem}.dice-indicator{position:absolute;top:10px;left:10px;z-index:2;display:flex;align-items:stretch;gap:6px}.dice-indicator.RED,.dice-indicator.BLUE,.dice-indicator.ORANGE,.dice-indicator.WHITE{background:transparent}.dice-indicator .dice-card{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:#eddcb9;border:2px solid rgba(0,0,0,.15);box-shadow:0 2px 6px #0000004d}.dice-indicator.RED .dice-card{border-color:#fe0400}.dice-indicator.BLUE .dice-card{border-color:#2278ff}.dice-indicator.ORANGE .dice-card{border-color:orange}.dice-indicator.WHITE .dice-card{border-color:#fff}.dice-indicator.anchored{transform:translateY(-50%)}.dice-indicator.anchored.below{transform:translate(-50%)}.dice-indicator.anchored.above{transform:translate(-50%,-100%)}.dice-indicator .dice-total{min-width:1.4ch;font-size:1.1rem;font-weight:700;color:#333;text-align:center}.MuiPaper-root.die{width:24px;height:24px;padding:3px;border-radius:5px;background:#f5e6c8;display:grid;grid-template-areas:"a b c" "d e f" "g h i";grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.MuiPaper-root.die .pip{align-self:center;justify-self:center;width:5px;height:5px;border-radius:50%;background:#333}.dice-indicator.rolling .die{animation:die-tumble .3s linear infinite}@keyframes die-tumble{0%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-3px)}to{transform:rotate(-8deg) translateY(0)}}.dice-indicator:not(.rolling) .die{animation:die-land .6s ease-out}@keyframes die-land{0%{transform:scale(1.25)}60%{transform:scale(.92)}to{transform:scale(1)}}@media screen and (min-width: 600px){.MuiPaper-root.die{width:32px;height:32px;padding:4px}.MuiPaper-root.die .pip{width:6px;height:6px}.dice-indicator .dice-total{font-size:1.4rem}}@media (prefers-reduced-motion: reduce){.dice-indicator .die{animation:none}}.dice-indicator.inline{position:static;transform:none}.home-page{height:100%;min-height:100%;min-height:100dvh;overflow-y:auto;overflow-x:hidden;padding:24px 16px 0;background:radial-gradient(circle at top,rgba(34,120,255,.18),transparent 35%),linear-gradient(180deg,#070a0c,#111614)}.home-page__inner{width:min(100%,680px);margin:0 auto}.home-page__back{color:#fff9}.home-page .logo{margin:12px 0 24px;color:#fff;font-size:clamp(1.9rem,5vw,2.4rem);text-align:center}.home-page .setup-card{width:100%;padding:18px 20px 28px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#151313eb;box-shadow:0 20px 60px #00000047}.home-page .control-group{margin-bottom:16px}.home-page .control-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-page .compact-control{margin-bottom:0}.home-page .control-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#fff}.home-page .control-header strong{font-size:.9rem;letter-spacing:.04em;line-height:1}.home-page .map-template-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-page .players-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.home-page .player-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center}.home-page .player-meta{display:flex;flex-direction:column;gap:3px}.home-page .player-label{color:#fff;font-size:.9rem}.home-page .player-color-chip{display:inline-flex;width:fit-content;padding:2px 7px;border-radius:999px;color:#ffffffeb;font-size:.65rem;font-weight:700;letter-spacing:.05em;background:#ffffff1a}.home-page .player-color-chip.red{background:#fe040038;color:#ff8a86}.home-page .player-color-chip.blue{background:#2278ff38;color:#8cb7ff}.home-page .player-color-chip.orange{background:#ffa5003d;color:#ffd18a}.home-page .player-color-chip.white{background:#ffffff29;color:#ffffffe0}.home-page .switch-control{display:flex;flex-direction:column}.home-page .inline-title{display:inline-flex;align-items:center;gap:4px}.home-page .MuiButton-root.choice-button,.home-page .MuiButton-root.add-player-btn{color:#fff;background-color:#151313}.home-page .MuiButton-root.choice-button:hover,.home-page .MuiButton-root.add-player-btn:hover{background-color:#000}.home-page .MuiButton-root.choice-button.selected{background-color:#0d47a1}.home-page .MuiButton-root.choice-button.selected:hover{background-color:#0c4398}.home-page .MuiButton-root.remove-player-btn{min-width:80px;color:#ffffffbf}.home-page .MuiButton-root.remove-player-btn.Mui-disabled{color:#ffffff4d}.home-page .add-player-btn,.home-page .start-btn{width:100%}.home-page .start-btn{height:40px;color:#fff;font-weight:700;letter-spacing:.08em;background:linear-gradient(135deg,#2f87ff,#0d47a1);box-shadow:0 12px 28px #0d47a152}.home-page .start-btn:hover{background:linear-gradient(135deg,#4b98ff,#1565c0);box-shadow:0 14px 30px #1565c05c}.home-page .MuiInputBase-root{width:100%;min-width:0;color:#fff;background:#ffffff0a}.home-page .MuiInputBase-root.MuiOutlinedInput-root,.home-page .MuiInputBase-root.MuiOutlinedInput-root .MuiSelect-select,.home-page .MuiInputBase-root.MuiOutlinedInput-root .MuiSelect-select span,.home-page .MuiInputBase-root.MuiOutlinedInput-root input{color:#fff}.home-page .MuiInputBase-root.MuiOutlinedInput-root .MuiSvgIcon-root,.home-page .MuiSelect-icon{color:#ffffffb8}.home-page .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#ffffff24}.home-page .MuiSvgIcon-root,.home-page .MuiSlider-root{color:#2278ff}.home-page .MuiIconButton-root.help-button{margin:0;padding:0;color:#ffffff85;font-size:.95rem}.home-page .MuiIconButton-root.help-button:hover{color:#ffffffd1;background:transparent}.home-page .MuiCheckbox-root.inline-switch{margin-left:-9px;padding:0}.home-page .MuiSlider-mark{background-color:#fff3}.home-page .loader{display:block;margin:40px auto 0}.home-page .page-end-spacer{height:max(32px,env(safe-area-inset-bottom) + 24px)}@media (max-width: 600px){.home-page{padding:24px 16px 0}.home-page .logo{margin:16px 0 20px;font-size:clamp(1.75rem,8vw,2.2rem)}.home-page .setup-card{padding:16px 16px 24px;border-radius:18px}.home-page .map-template-buttons,.home-page .control-row{grid-template-columns:1fr}.home-page .control-row{gap:0}.home-page .map-template-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .compact-control{margin-bottom:16px}}@media (max-width: 420px){.home-page{padding:20px 14px 0}.home-page .setup-card{padding:14px 14px 22px}.home-page .control-header{align-items:flex-start;flex-wrap:wrap;gap:8px}.home-page .player-row{grid-template-columns:88px minmax(0,1fr) auto;gap:8px;padding:0;border-top:0;align-items:center}.home-page .MuiButton-root.remove-player-btn{width:auto;min-width:80px}.home-page .inline-title{align-items:flex-start;line-height:1.2}}.lobby-page{height:100%;min-height:100%;min-height:100dvh;overflow-y:auto;overflow-x:hidden;padding:24px 16px 32px;background:radial-gradient(circle at top,rgba(34,120,255,.18),transparent 35%),linear-gradient(180deg,#070a0c,#111614)}.lobby-page__inner{width:min(100%,680px);margin:0 auto}.lobby-page .logo{margin:12px 0 24px;color:#fff;font-size:clamp(1.9rem,5vw,2.4rem);text-align:center}.lobby-page__new{width:100%;padding:12px 0;font-size:1rem}.lobby-page__heading{margin:28px 0 12px;color:#ffffffb3;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}.lobby-page__note{margin:0;padding:20px;border:1px dashed rgba(255,255,255,.12);border-radius:16px;color:#ffffff8c;text-align:center}.lobby-page__games{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.lobby-game{display:grid;grid-template-areas:"name enter" "players enter" "meta enter";grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#151313eb}.lobby-game__name{grid-area:name;color:#ffffffd9;font-size:.95rem;font-weight:700}.lobby-game__name:empty{display:none}.lobby-game__players{display:flex;flex-wrap:wrap;grid-area:players;gap:6px 14px}.lobby-game__player{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:.95rem}.lobby-game__player--open{color:#ffffff73;font-style:italic}.lobby-game__dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d}.lobby-game__player--RED .lobby-game__dot{background:#fe0400;box-shadow:inset 0 0 0 1px #fe0400}.lobby-game__player--BLUE .lobby-game__dot{background:#2278ff;box-shadow:inset 0 0 0 1px #2278ff}.lobby-game__player--ORANGE .lobby-game__dot{background:orange;box-shadow:inset 0 0 0 1px orange}.lobby-game__player--WHITE .lobby-game__dot{background:#fff;box-shadow:inset 0 0 0 1px #fff}.lobby-game__player--open .lobby-game__dot{background:transparent}.lobby-game__meta{display:flex;flex-wrap:wrap;grid-area:meta;gap:4px 10px;color:#ffffff80;font-size:.8rem}.lobby-game__enter{grid-area:enter}.password-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.password-gate__card{width:min(360px,100%);display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:8px;background:#fff;box-shadow:0 2px 12px #00000026}.password-gate__card h1{margin:0;font-size:1.4rem}.password-gate__card p{margin:0;color:#0009}*{box-sizing:border-box}.logo{font-family:Bungee Inline,sans-serif}main{background:#e2cfa6;color:#333;height:100%;display:flex;flex-direction:column}main .logo{margin:5px 20px 0;text-align:center}main .loader{display:flex;justify-content:center;align-items:center}.replay-box{display:flex;flex-direction:column;gap:10px}.replay-box .button-container{display:flex;gap:10px}.numeric-textfield .MuiOutlinedInput-root fieldset{border-color:#1976d2}.numeric-textfield .MuiInputLabel-root,.numeric-textfield .MuiInputBase-input{color:#1976d2;font-weight:600}
