*{box-sizing:border-box}#root,body,html{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{background:#141414;font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}canvas{cursor:grab}canvas:active{cursor:grabbing}.scene-error-fallback{inset:0;background:radial-gradient(circle at center,#3a3021 0,#17130e 70%)}.scene-error-fallback,.tile-counter{position:absolute;pointer-events:none}.tile-counter{bottom:16px;right:16px;padding:8px 16px;color:#fff;font-size:14px;font-weight:600;background:rgba(0,0,0,.5);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tile-type-selector{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;grid-gap:8px;gap:8px;padding:8px 12px;background:rgba(0,0,0,.6);border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.tile-type-btn{padding:8px 18px;border:2px solid hsla(0,0%,100%,.15);border-radius:8px;background:hsla(0,0%,100%,.08);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.tile-type-btn:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.tile-type-btn.active{background:var(--btn-color);border-color:#fff;box-shadow:0 0 12px hsla(0,0%,100%,.3)}.current-tile-panel{position:absolute;top:70px;right:16px;width:220px;padding:15px 18px;background:rgba(28,24,18,.84);color:#f0e8d8;border-radius:12px;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;z-index:10;transform:scale(.9);transform-origin:top right}.ctp-title{font-size:14px;opacity:.82;margin-bottom:10px;letter-spacing:.04em}.ctp-canvas{width:180px;height:180px;border-radius:8px;image-rendering:pixelated;background:#6ca34a}.ctp-label{margin:9px 0}.ctp-label,.ctp-rotate{font-size:15px;font-weight:700}.ctp-rotate{width:100%;background:#c9a14a;color:#2a2218;border:none;padding:10px 12px;border-radius:9px;cursor:pointer;transition:background .15s ease}.ctp-rotate:hover{background:#dab45a}.ctp-deck{font-size:12px;opacity:.88;margin-top:10px}.ctp-index{width:100%;margin-top:10px;padding:8px 7px;border:1px solid rgba(233,196,95,.45);border-radius:8px;background:hsla(0,0%,100%,.06);color:#f0e8d8;font-size:11px;font-weight:700;cursor:pointer}.ctp-index:hover{background:rgba(233,196,95,.17);border-color:#e9c45f}.ctp-gameover{font-size:15px;font-weight:700;padding:8px 0}.dbg-panel{position:absolute;top:250px;right:16px;width:198px;max-height:calc(100vh - 270px);overflow-y:auto;padding:10px 12px;background:rgba(28,24,18,.84);color:#f0e8d8;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;z-index:10}.dbg-title{font-size:12px;opacity:.8;margin-bottom:8px;letter-spacing:.03em}.dbg-free{display:flex;align-items:center;grid-gap:6px;gap:6px;font-size:11px;margin-bottom:10px;cursor:pointer}.dbg-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.dbg-tile{position:relative;background:hsla(0,0%,100%,.06);border:2px solid transparent;border-radius:7px;padding:3px;cursor:pointer;line-height:0;transition:border-color .12s ease,background .12s ease}.dbg-tile:hover{background:hsla(0,0%,100%,.14)}.dbg-tile.active{border-color:#e9c45f;background:rgba(233,196,95,.18)}.dbg-tile-canvas{width:46px;height:46px;border-radius:4px;image-rendering:pixelated;background:#6ca34a}.dbg-tile-id{position:absolute;bottom:2px;right:4px;font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000;line-height:1}.menu-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,12,8,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40}.menu-card{width:340px;max-height:calc(100vh - 32px);overflow-y:auto;padding:28px 30px;background:rgba(32,27,20,.96);color:#f0e8d8;border-radius:16px;box-shadow:0 16px 50px rgba(0,0,0,.6);text-align:center}.menu-card.wide{width:420px;text-align:left}.menu-title{margin:0 0 4px;font-size:30px;letter-spacing:.02em}.menu-title.small{font-size:22px}.menu-sub{font-size:13px;opacity:.7;margin-bottom:22px}.menu-label{display:block;font-size:12px;opacity:.75;margin:12px 0 6px;text-align:left}.menu-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:9px;border:1px solid #5a5142;background:#241f17;color:#f0e8d8;font-size:15px;outline:none}.menu-input.code{text-transform:uppercase;letter-spacing:.4em;text-align:center;font-weight:700}.menu-input:focus{border-color:#c9a14a}.menu-buttons{display:flex;flex-direction:column;grid-gap:9px;gap:9px;margin-top:18px}.menu-buttons.row{flex-direction:row}.menu-buttons.bottom{margin-top:22px}.lobby-actions{flex-wrap:wrap}.lobby-actions .menu-btn{flex:1 1 145px}.menu-btn{padding:11px 14px;border:none;border-radius:10px;background:#4a4334;color:#f0e8d8;font-size:14px;font-weight:700;cursor:pointer;transition:background .12s ease,transform .06s ease}.menu-btn:hover:not(:disabled){background:#5e5642;transform:translateY(-1px)}.menu-btn:disabled{opacity:.4;cursor:default}.menu-btn.primary{background:#c9a14a;color:#241f17}.menu-btn.primary:hover:not(:disabled){background:#dab45a}.menu-btn.ghost{background:transparent;border:1px solid #5a5142}.menu-btn.small{padding:8px 10px;font-size:12px;flex:1 1}.menu-error{margin-top:14px;color:#e88;font-size:13px}.discord-profile{display:flex;align-items:center;grid-gap:9px;gap:9px;margin:0 0 15px;padding:8px 10px;border-radius:10px;background:rgba(88,101,242,.16);text-align:left;font-size:12px}.discord-profile img{width:34px;height:34px;border-radius:50%;object-fit:cover}.game-history{margin-top:20px;padding-top:4px;border-top:1px solid hsla(0,0%,100%,.1)}.history-row{display:flex;align-items:center;grid-gap:10px;gap:10px;margin-top:7px;padding:8px 9px;border-radius:9px;background:hsla(0,0%,100%,.05);text-align:left}.history-row>div{display:grid;grid-template-columns:auto auto;grid-gap:1px 8px;gap:1px 8px;min-width:0;flex:1 1}.history-row span{color:#cbbb9f;font-size:11px}.history-row small{grid-column:1/-1;color:#948a7a;font-size:10px}.history-row .menu-btn{flex:0 0 auto}.legal-links{display:flex;justify-content:center;grid-gap:7px;gap:7px;margin-top:20px;font-size:10px;color:#8f8575}.legal-links a{color:#bdb19d}.turn-limit-setting select{width:100%;padding:8px 10px;border:1px solid #5a5142;border-radius:8px;background:#241f17;color:#f0e8d8}.turn-limit-setting .settings-help{margin-top:7px}.lobby-setting-value{padding:8px 10px;border-radius:8px;background:hsla(0,0%,100%,.05);font-size:13px}.expansion-card{display:flex;align-items:center;grid-gap:10px;gap:10px;padding:10px 12px;border:1px solid #5a5142;border-radius:10px;background:rgba(36,31,23,.78);cursor:pointer}.expansion-card.active{border-color:#c9a552;box-shadow:inset 0 0 0 1px rgba(201,165,82,.22),0 0 12px rgba(201,165,82,.12)}.expansion-card:has(input:disabled){cursor:default}.expansion-card input{width:17px;height:17px;accent-color:#c9a552}.expansion-card .expansion-icon{font-size:25px;line-height:1}.expansion-card small,.expansion-card strong{display:block}.expansion-card small{margin-top:3px;color:#c9c0b0;font-size:11px;line-height:1.35}.turn-timer{margin-left:10px;padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.28);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.menu-card.wide{max-height:calc(100vh - 32px);overflow-y:auto}.lobby-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.lobby-code{font-size:14px;background:#241f17;padding:6px 12px;border-radius:8px;letter-spacing:.15em}.lobby-players{display:flex;flex-direction:column;grid-gap:6px;gap:6px;margin:8px 0}.lobby-row{display:flex;align-items:center;grid-gap:9px;gap:9px;background:hsla(0,0%,100%,.05);padding:7px 10px;border-radius:9px}.lobby-swatch{width:16px;height:16px;border-radius:5px;flex:0 0 auto}.lobby-name{font-size:14px;font-weight:600}.lobby-ready{margin-left:auto;font-size:11px;opacity:.6}.lobby-ready.on{color:#7fdd8a;opacity:1}.lobby-x{border:none;background:transparent;color:#e88;cursor:pointer;font-size:13px}.lobby-section{margin-top:14px}.lobby-colors{display:flex;grid-gap:8px;gap:8px}.lobby-color{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer}.lobby-color.active{border-color:#fff;box-shadow:0 0 0 2px hsla(0,0%,100%,.35)}.lobby-color:disabled{cursor:default}.lobby-figures{display:flex;flex-wrap:wrap;grid-gap:6px;gap:6px}.lobby-fig{background:hsla(0,0%,100%,.07);color:#f0e8d8;border:2px solid transparent;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer}.lobby-fig:hover{background:hsla(0,0%,100%,.15)}.lobby-fig.active{border-color:#e9c45f;background:rgba(233,196,95,.2)}.lobby-fig{text-align:center;width:74px}.lobby-fig-img{display:block;width:58px;height:58px;object-fit:contain;margin:0 auto 3px;border-radius:6px;background:rgba(0,0,0,.18)}.lobby-fig-img.classic{display:flex;align-items:center;justify-content:center;font-size:30px}.lobby-fig{position:relative}.fig-peek{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;grid-gap:4px;gap:4px;width:190px;padding:8px;background:rgba(24,20,16,.96);border:2px solid #e9c45f;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.55);pointer-events:none;z-index:40;animation:fig-peek-in .12s ease-out}.fig-peek img{width:172px;height:172px;object-fit:contain;display:block}.fig-peek-classic{font-size:96px;line-height:172px}.fig-peek-name{font-size:13px;font-weight:700;color:#e9c45f;letter-spacing:.3px}@keyframes fig-peek-in{0%{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.settings-btn{position:absolute;top:16px;right:16px;width:142px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;grid-gap:7px;gap:7px;background:rgba(28,24,18,.86);color:#f0e8d8;border:1px solid hsla(0,0%,100%,.14);font-size:13px;font-weight:750;cursor:pointer;z-index:60;box-shadow:0 4px 14px rgba(0,0,0,.4);line-height:1}.settings-btn:hover{background:rgba(58,50,38,.95)}.settings-panel{position:absolute;top:66px;right:16px;width:286px;max-width:calc(100vw - 32px);max-height:calc(100vh - 82px);overflow-x:hidden;overflow-y:auto;background:rgba(28,24,18,.94);color:#f0e8d8;border-radius:12px;padding:14px 16px;z-index:60;box-shadow:0 8px 26px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-title{font-size:13px;font-weight:700;margin-bottom:12px}.settings-row{display:flex;align-items:center;grid-gap:8px;gap:8px;font-size:12px;margin-bottom:10px}.settings-row span{width:66px;flex:0 0 auto}.settings-row input{flex:1 1 auto;accent-color:#c9a14a}.settings-row input[type=range]{min-width:0;width:100%}.settings-row b{width:36px;text-align:right;flex:0 0 auto}.adaptive-resolution-row{margin-top:14px;margin-bottom:4px}.adaptive-resolution-row span{width:auto;flex:1 1 auto}.adaptive-resolution-row input{flex:0 0 auto;width:17px;height:17px}.settings-help{color:#bdb3a2;font-size:10px;line-height:1.35;padding-right:2px}.settings-help-button{width:100%;padding:8px 10px;border:1px solid rgba(233,196,95,.35);border-radius:7px;background:hsla(0,0%,100%,.06);color:#f0e8d8;font-size:11px;font-weight:700;cursor:pointer}.settings-help-button:hover{border-color:#e9c45f;background:rgba(233,196,95,.14)}.dpr-slider-row{margin-top:13px;margin-bottom:4px}.dpr-slider-row span{width:82px}.dpr-slider-row b{width:34px}.settings-section-title{margin:16px 0 8px;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.12);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#d9c9a7}.graphics-preset-row span{width:54px}.graphics-preset-row select{min-width:0;flex:1 1 auto;border:1px solid hsla(0,0%,100%,.18);border-radius:5px;background:#282219;color:#f0e8d8;padding:4px 6px}.graphics-preset-row b{width:52px;font-size:10px}.graphics-details{margin-top:10px;font-size:11px}.graphics-details summary{cursor:pointer;color:#d8cdbb;-webkit-user-select:none;user-select:none}.graphics-toggle-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 12px;gap:7px 12px;margin-top:10px}.graphics-toggle-row{display:flex;min-width:0;align-items:center;justify-content:space-between;grid-gap:5px;gap:5px;color:#c9bfaf}.graphics-toggle-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graphics-toggle-row input{flex:0 0 auto;accent-color:#c9a14a}.vegetation-density-row{margin:13px 0 2px}.vegetation-density-row span{width:108px}.dpr-slider-row input:disabled{opacity:.42;cursor:not-allowed}.meeple-hover-card{min-width:112px;padding:7px 10px;border-radius:8px;background:rgba(27,23,17,.94);color:#f5eddd;border:1px solid rgba(233,196,95,.72);box-shadow:0 4px 14px rgba(0,0,0,.45);text-align:center;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font:12px/1.2 system-ui,sans-serif}.help-backdrop{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(12,10,7,.78);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#f0e8d8}.rulebook-card,.tile-index-card{width:min(940px,100%);max-height:calc(100vh - 44px);overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(233,196,95,.28);border-radius:18px;background:linear-gradient(145deg,#2c261d,#1d1913);box-shadow:0 24px 70px rgba(0,0,0,.7)}.help-header{display:flex;align-items:flex-start;justify-content:space-between;grid-gap:18px;gap:18px;padding:22px 26px 17px;border-bottom:1px solid hsla(0,0%,100%,.09)}.help-header h2{margin:2px 0 3px;color:#f3d477;font-size:clamp(22px,3vw,31px)}.help-header p{margin:0;color:#bdb3a2;font-size:12px}.help-kicker{color:#d2c3a5;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.help-close{flex:0 0 auto;width:36px;height:36px;border:1px solid hsla(0,0%,100%,.18);border-radius:50%;background:hsla(0,0%,100%,.06);color:#f0e8d8;font-size:25px;line-height:1;cursor:pointer}.help-close:hover{background:hsla(0,0%,100%,.14)}.rulebook-content{min-height:0;flex:1 1 auto;overflow-y:auto;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(310px,1.1fr);grid-gap:30px;gap:30px;align-items:center;padding:28px 34px}.rules-illustration{width:min(410px,100%);margin:0 auto;padding:18px;border-radius:18px;background:radial-gradient(circle at 50% 45%,rgba(122,160,81,.35),transparent 56%),#17140f;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08)}.rules-example-title{display:block;margin:0 0 12px;color:#e9c45f;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.rules-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.rules-tile{min-width:0;margin:0;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}.rules-tile canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:8px}.rules-tile figcaption{display:flex;flex-direction:column;grid-gap:2px;gap:2px;margin-top:7px;color:#bdb29f;font-size:9px;line-height:1.25}.rules-tile figcaption b{color:#f0cf73;font-size:11px}.rules-meeple-note{display:flex;align-items:center;grid-gap:12px;gap:12px;margin-top:15px;color:#cfc3af;font-size:10px}.rules-meeples{position:relative;flex:0 0 79px;height:34px;pointer-events:none}.rules-meeples i{position:absolute;width:20px;height:28px;border-radius:50% 50% 35% 35%;background:#d23b3b;border:2px solid #321;box-shadow:0 4px 6px rgba(0,0,0,.45)}.rules-meeples i:first-child{left:0;top:3px}.rules-meeples i:nth-child(2){left:27px;top:3px;background:#3b6fd2}.rules-meeples i:nth-child(3){left:54px;top:3px;background:#e0b400}.rulebook-copy{color:#e5dccd;font-size:14px;line-height:1.58}.rulebook-copy p{margin:0 0 13px}.rulebook-copy ul{margin:18px 0 0;padding:14px 18px 14px 34px;border-radius:11px;background:hsla(0,0%,100%,.055)}.rulebook-copy li{margin:5px 0;color:#cfc3af}.help-footer{display:flex;align-items:center;justify-content:space-between;grid-gap:18px;gap:18px;padding:15px 24px;border-top:1px solid hsla(0,0%,100%,.09)}.help-footer .menu-btn{min-width:112px}.help-dots{display:flex;align-items:center;justify-content:center;grid-gap:7px;gap:7px}.help-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#62594a;cursor:pointer}.help-dots button.active{width:22px;border-radius:8px;background:#e9c45f}.tile-index-card{width:min(1050px,100%)}.tile-index-legend{display:flex;flex-wrap:wrap;grid-gap:16px;gap:16px;padding:12px 26px;color:#c8bdab;font-size:11px}.tile-index-legend span{display:inline-flex;align-items:center;grid-gap:6px;gap:6px}.tile-index-legend i{width:13px;height:13px;border-radius:3px}.legend-field{background:#6ca34a}.legend-road{background:#cdbb86}.legend-city{background:#9c8c7c}.legend-lake{background:#477f9e}.tile-index-grid{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px;padding:6px 24px 26px}.tile-index-item{display:flex;align-items:center;grid-gap:11px;gap:11px;min-width:0;padding:9px;border:1px solid hsla(0,0%,100%,.09);border-radius:11px;background:hsla(0,0%,100%,.045)}.tile-index-item.expansion{border-color:rgba(91,164,198,.34);background:rgba(71,127,158,.09)}.tile-index-preview{flex:0 0 auto;width:92px;height:92px;border-radius:7px;image-rendering:pixelated}.tile-index-copy{min-width:0}.tile-index-copy em,.tile-index-copy small,.tile-index-copy strong{display:block}.tile-index-copy strong{color:#eee4d3;font-size:12px;line-height:1.3}.tile-index-copy strong span{color:#f0cb66}.tile-index-copy small{margin-top:5px;color:#aaa08e;font-size:10px;line-height:1.35}.tile-index-copy em{margin-top:6px;color:#80bdd8;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.game-tutorial-layer{position:fixed;inset:0;pointer-events:none}.tutorial-vignette{position:absolute;inset:0;z-index:120;background:rgba(8,7,5,.28);pointer-events:none}.tutorial-target-frame{position:fixed;z-index:130;border:4px solid #ffe27a;border-radius:12px;box-shadow:0 0 0 7px rgba(255,226,122,.2),0 0 36px rgba(255,210,70,.9);animation:tutorial-target-pulse 1.35s ease-in-out infinite;pointer-events:none}.tutorial-connector{position:fixed;inset:0;z-index:135;overflow:visible;pointer-events:none}.tutorial-connector path{fill:none;stroke:#ffe27a;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,202,55,.95))}.tutorial-connector marker path{fill:#ffe27a;stroke:none;filter:none}@keyframes tutorial-target-pulse{0%,to{opacity:.78;box-shadow:0 0 0 6px rgba(255,226,122,.14),0 0 27px rgba(255,210,70,.65)}50%{opacity:1;box-shadow:0 0 0 10px rgba(255,226,122,.25),0 0 42px #ffd246}}.tutorial-card{position:absolute;z-index:140;left:50%;bottom:24px;transform:translateX(-50%);width:min(680px,calc(100vw - 32px));padding:18px 20px;border:2px solid #e9c45f;border-radius:16px;background:rgba(31,26,19,.97);color:#f0e8d8;box-shadow:0 18px 50px rgba(0,0,0,.7),0 0 0 5px rgba(233,196,95,.1);pointer-events:auto}.tutorial-progress{color:#d1bd8e;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.tutorial-main{display:flex;grid-gap:15px;gap:15px;align-items:flex-start;margin-top:8px}.tutorial-icon{flex:0 0 auto;display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:rgba(233,196,95,.13);font-size:29px}.tutorial-main h2{margin:0 0 5px;color:#f2cf72;font-size:20px}.tutorial-main p{margin:0;color:#ddd3c2;font-size:13px;line-height:1.48}.tutorial-actions{display:flex;align-items:center;justify-content:space-between;grid-gap:15px;gap:15px;margin-top:16px}.tutorial-skip{border:0;background:transparent;color:#a99f90;font-size:11px;text-decoration:underline;cursor:pointer}.tutorial-nav{display:flex;grid-gap:8px;gap:8px}.tutorial-nav .menu-btn{padding:8px 13px;font-size:12px}@media (max-width:720px){.help-backdrop{padding:0}.rulebook-card,.tile-index-card{width:100%;max-height:100%;height:100%;border-radius:0}.rulebook-content{grid-template-columns:1fr;grid-gap:20px;gap:20px;padding:20px}.rules-illustration{width:min(430px,100%);padding:14px}.help-footer{padding:12px}.help-dots{display:none}.tile-index-grid{grid-template-columns:1fr;padding:4px 14px 20px}.tutorial-card{bottom:10px;padding:14px}.tutorial-icon{width:42px;height:42px;font-size:23px}.tutorial-actions{align-items:flex-end}.tutorial-skip{max-width:95px;text-align:left}}.legal-page{position:fixed;inset:0;z-index:100;min-width:0;min-height:0;padding:36px 18px 64px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at top,#3a3021 0,#17130e 55%,#100d09 100%);color:#eee5d5}.legal-card{width:min(820px,100%);margin:0 auto;padding:36px 42px;background:rgba(35,29,21,.97);border:1px solid rgba(233,196,95,.22);border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.45);line-height:1.62}.legal-card h1{margin:18px 0 0;font-size:clamp(28px,5vw,42px)}.legal-card h2{margin:28px 0 6px;color:#e9c45f;font-size:18px}.legal-card p{margin:7px 0}.legal-card li{margin:4px 0}.legal-card a{color:#f0cf73}.legal-back{font-weight:700;text-decoration:none}.legal-updated{color:#b8ad9b;font-size:13px}.legal-note{margin-top:32px!important;padding:14px 16px;border-radius:10px;background:hsla(0,0%,100%,.05);color:#c8beae;font-size:13px}@media (max-width:600px){.legal-page{padding:0}.legal-card{min-height:100%;padding:24px 20px 44px;border-radius:0}}.meeple-hover-card strong{display:block;color:#f2cf72;font-size:13px}.meeple-hover-card span{display:block;margin-top:3px;color:#d8d0c2}.remote-cursor-label{padding:3px 7px;border-radius:999px;color:#fff;background:rgba(24,20,14,.9);border:2px solid var(--cursor-color);box-shadow:0 2px 8px rgba(0,0,0,.45);font:700 11px/1.1 system-ui,sans-serif;white-space:nowrap}.fps-counter,.remote-cursor-label{-webkit-user-select:none;user-select:none}.fps-counter{position:absolute;left:16px;bottom:16px;z-index:55;min-width:114px;padding:6px 9px;border-radius:8px;background:rgba(28,24,18,.86);color:#f0e8d8;box-shadow:0 3px 12px rgba(0,0,0,.35);font:700 12px/1.1 system-ui,sans-serif;text-align:center;pointer-events:none}.fps-counter.good{border-left:4px solid #55c96a}.fps-counter.ok{border-left:4px solid #e0b64e}.fps-counter.low{border-left:4px solid #e45b55}.fps-counter.pending{border-left:4px solid #888}.connection-banner{position:fixed;z-index:2600;top:18px;padding:10px 18px;border:1px solid rgba(255,218,117,.75);border-radius:12px;background:rgba(42,27,18,.94);color:#ffe6a0;font-weight:800;box-shadow:0 8px 28px rgba(0,0,0,.38);pointer-events:none}.connection-banner,.turn-banner{left:50%;transform:translateX(-50%)}.turn-banner{position:absolute;top:14px;display:flex;align-items:center;grid-gap:10px;gap:10px;background:rgba(28,24,18,.88);color:#f0e8d8;border:2px solid #888;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;z-index:15;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,0,0,.4)}.turn-dot{width:12px;height:12px;border-radius:50%}.turn-skip{margin-left:8px;border:none;border-radius:999px;background:#c9a14a;color:#241f17;font-weight:700;padding:5px 12px;cursor:pointer;font-size:12px}.turn-skip:hover{background:#dab45a}.turn-king{border:2px solid #8c7849;border-radius:12px;background:#40392c;color:#f0e8d8;font-weight:700;padding:11px 13px;cursor:pointer;font-size:15px}.turn-king:hover{background:#4f4736}.turn-king.on{background:#d9a92a;color:#2a2218;border-color:#ffe47a;box-shadow:0 0 20px rgba(255,210,50,.55)}.turn-king:disabled{background:#332f28;color:#817a6e;border-color:#504a40;box-shadow:none;cursor:not-allowed}.king-placement-panel{z-index:22;padding:7px;border-radius:14px;background:rgba(28,24,18,.9);box-shadow:0 7px 22px rgba(0,0,0,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.king-placement-panel,.king-tutorial-anchor{position:absolute;top:422px;right:16px;width:220px;transform:scale(.9);transform-origin:top right}.king-tutorial-anchor{height:58px;pointer-events:none}.king-placement-panel .turn-king{width:100%;display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px}.king-placement-panel .turn-king strong{font-size:17px;letter-spacing:.08em}.your-turn-flash{position:absolute;top:78px;left:50%;z-index:35;transform:translateX(-50%);padding:15px 30px;border:3px solid #ffe27a;border-radius:15px;background:rgba(43,34,20,.96);color:#fff3bd;box-shadow:0 0 0 5px rgba(255,210,74,.14),0 10px 34px rgba(0,0,0,.55);font-size:24px;font-weight:900;letter-spacing:.02em;pointer-events:none;animation:your-turn-in 1.9s ease both}@keyframes your-turn-in{0%{opacity:0;transform:translateX(-50%) translateY(-12px) scale(.86)}14%,72%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}to{opacity:0;transform:translateX(-50%) translateY(-6px) scale(.96)}}.toast-stack{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;grid-gap:8px;gap:8px;z-index:20;align-items:center}.toast{background:rgba(28,24,18,.92);color:#f0e8d8;border-left:5px solid #c9a14a;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.4);animation:toast-in .25s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1}}.sb-row.current{outline:2px solid hsla(0,0%,100%,.35);border-radius:7px}.sb-tabs{display:flex;grid-gap:6px;gap:6px;margin-top:9px}.sb-tabs .sb-btn{flex:1 1;font-size:11px;padding:6px 4px}.sb-btn.on{background:#c9a14a;color:#241f17}.score-chart{display:block;margin-top:8px;background:rgba(0,0,0,.18);border-radius:8px}.score-chart-backdrop{z-index:52}.score-chart-dialog{width:min(94vw,1040px);max-height:calc(100vh - 42px);overflow:auto;padding:22px 26px 26px;box-sizing:border-box;background:rgba(25,21,16,.985);color:#f0e8d8;border:1px solid rgba(233,196,95,.35);border-radius:16px;box-shadow:0 20px 65px rgba(0,0,0,.72)}.score-chart-dialog-head{display:flex;align-items:center;justify-content:space-between;grid-gap:18px;gap:18px}.score-chart-dialog-head h2{margin:0;color:#e9c45f;font-size:24px}.score-chart-dialog-head .menu-btn{flex:0 0 auto}.score-chart-dialog .score-chart{width:100%;height:auto;max-height:70vh;margin-top:16px}.chart-empty{font-size:11px;opacity:.65;margin-top:8px;font-style:italic}.map-view-bar{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;grid-gap:10px;gap:10px;z-index:30;background:rgba(28,24,18,.9);color:#f0e8d8;padding:9px 14px;border-radius:12px;font-size:12px;box-shadow:0 6px 20px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-view-bar .menu-btn{padding:6px 12px}.sb-log{max-height:200px;overflow-y:auto;margin-top:8px;display:flex;flex-direction:column;grid-gap:4px;gap:4px}.sb-log-row{font-size:11px;padding:4px 7px;background:hsla(0,0%,100%,.05);border-left:3px solid #888;border-radius:5px}.sb-log-empty{font-size:11px;opacity:.6}.sb-score.up{color:#ffe27a;transform:scale(1.12);transition:transform .1s ease}.gameover-banner{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);background:rgba(24,20,14,.92);color:#f0e8d8;padding:22px 46px;border-radius:16px;z-index:30;font-size:34px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 40px rgba(0,0,0,.55);animation:pop-in .4s ease}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}}.score-popup{position:absolute;top:78px;left:50%;transform:translateX(-50%);background:rgba(24,20,14,.92);color:#f0e8d8;border-left:6px solid #c9a14a;border-radius:12px;padding:10px 22px;z-index:25;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:pop-in-top .3s ease}@keyframes pop-in-top{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}}.score-popup-pts{font-size:30px;font-weight:800;line-height:1.05}.score-popup-label{font-size:12px;opacity:.9;margin-top:2px}.final-list{display:flex;flex-direction:column;grid-gap:7px;gap:7px;margin:16px 0}.final-row{display:flex;align-items:center;grid-gap:10px;gap:10px;background:hsla(0,0%,100%,.06);padding:9px 12px;border-radius:9px}.final-rank{font-weight:800;width:22px}.final-score{margin-left:auto;font-size:17px;font-weight:800}.scoreboard{position:absolute;top:16px;left:16px;width:286px;padding:16px 18px;background:rgba(28,24,18,.84);color:#f0e8d8;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;z-index:10;transform:scale(.9);transform-origin:top left}.sb-title{font-size:16px;font-weight:800;margin-bottom:12px;letter-spacing:.03em}.sb-row{display:flex;align-items:center;grid-gap:8px;gap:8px;width:100%;margin-bottom:8px;padding:4px 2px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.sb-row:hover{background:hsla(0,0%,100%,.09)}.sb-row.scoring{background:hsla(0,0%,100%,.12)}.sb-row:focus-visible{outline:2px solid #fff;outline-offset:2px}.sb-row.area-highlight{background:hsla(0,0%,100%,.13);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.38)}.sb-rank{font-size:22px;font-weight:800;width:24px;flex:0 0 auto;text-align:center;color:#e9c45f;line-height:1}.sb-swatch{width:21px;height:21px;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0;flex:0 0 auto}.sb-swatch.active{border-color:#fff;box-shadow:0 0 0 2px hsla(0,0%,100%,.35)}.sb-name{font-size:14px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-figs{display:flex;align-items:center;grid-gap:4px;gap:4px;flex:0 0 auto;margin-left:8px}.sb-meeples{opacity:.95;white-space:nowrap}.sb-king,.sb-meeples{font-size:17px}.sb-king.up,.sb-meeples.up{color:#ffe27a;transform:scale(1.16);transition:transform .1s ease}.sb-score{font-size:20px;font-weight:850;min-width:31px;text-align:right;flex:0 0 auto}.sb-pm{width:20px;height:20px;border:none;border-radius:5px;background:#4a4334;color:#f0e8d8;font-size:13px;font-weight:700;cursor:pointer;line-height:1}.sb-pm:hover{background:#5e5642}.sb-tools{display:flex;flex-direction:column;grid-gap:6px;gap:6px;margin-top:10px}.sb-btn{background:#4a4334;color:#f0e8d8;border:none;padding:7px 9px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;text-align:left}.sb-btn:hover{background:#5e5642}.sb-btn.on{background:#3ba84e;color:#fff}.sb-btn.king.on{background:#d9a92a;color:#2a2218}.sb-hint{font-size:10px;opacity:.7;margin-top:7px;font-style:italic}