@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#28352d;background:#f6f5ef;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--ink:#28352d;--muted:#788278;--green:#5f8f6c;--green-dark:#477756;--paper:#fffefa;--line:#e6e7df;--mint:#edf4e9;--gold:#eab968}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#f6f5ef}body{min-width:320px;min-height:100vh;margin:0;background:#f6f5ef;color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #8fb99a;outline-offset:2px}a{color:inherit;text-decoration:none}.page-shell{width:min(1160px,100%);min-height:100vh;margin:0 auto;padding:0 42px}.menu-shell{display:flex;flex-direction:column}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e8df}.brand{display:inline-flex;align-items:center;gap:10px;color:#35493b;font-family:Manrope,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.8px}.brand>b,.brand>span:last-child>b{color:#6d9a70;font-weight:800}.brand-mark{width:31px;height:31px;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;transform:rotate(-8deg)}.brand-mark span{border-radius:5px 5px 2px;background:#7ba77e}.brand-mark span:nth-child(2){background:#e5b66a;border-radius:5px 5px 5px 2px}.brand-mark span:nth-child(3){background:#d98570;border-radius:5px 2px 5px 5px}.brand-mark span:nth-child(4){background:#9ab98c;border-radius:2px 5px 5px}.menu-top-actions{display:flex;align-items:center;gap:15px}.connection-pill{display:flex;align-items:center;gap:8px;color:#848c82;font-size:10px;font-weight:600}.connection-dot,.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#dca968}.connection-pill.online .connection-dot,.status-dot.is-connected{background:#72ad7e;box-shadow:0 0 0 3px #72ad7e20}.hero-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:center;gap:8%;padding:50px 3% 48px}.hero-copy{position:relative;min-width:0;padding:6px 0 160px}.eyebrow{display:flex;align-items:center;gap:7px;color:#719076;font-size:10px;font-weight:800;letter-spacing:1.3px}.hero-copy h1{margin:18px 0 13px;color:#304238;font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,60px);font-weight:700;line-height:1.08;letter-spacing:-3.2px}.hero-copy h1 span{color:#79a47a}.hero-copy>p{max-width:430px;margin:0;color:#788278;font-size:15px;line-height:1.75}.hero-perks{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;color:#657268;font-size:11px;font-weight:700}.hero-perks span{display:flex;align-items:center;gap:7px}.hero-perks svg{color:#7b9d79}.hero-art{position:absolute;right:4%;bottom:0;width:min(440px,100%);height:150px;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#e4eddf,#f2ead6)}.hero-art:after{position:absolute;right:-20px;bottom:-57px;width:115%;height:99px;border:16px solid #b9c5ad;border-radius:50%;content:"";transform:rotate(-11deg)}.hero-art .sun{position:absolute;top:19px;right:45px;width:38px;height:38px;border-radius:50%;background:#e7bd70;box-shadow:0 0 0 9px #e7bd7020}.hero-art .building{position:absolute;z-index:1;bottom:51px;width:50px;border-radius:5px 5px 2px 2px;background:#d88c73;box-shadow:inset 0 10px #e8a28a}.hero-art .building:after{position:absolute;inset:12px 10px auto;height:33px;background:repeating-linear-gradient(90deg,#f4dba7 0 6px,transparent 6px 13px);content:""}.hero-art .b-one{left:14%;height:57px}.hero-art .b-two{left:30%;height:78px;background:#83a781;box-shadow:inset 0 10px #9bbc94}.hero-art .b-three{left:47%;height:48px;background:#d9ad68;box-shadow:inset 0 10px #e9c77f}.hero-art .road{position:absolute;z-index:2;right:-20px;bottom:1px;width:70%;height:27px;border-radius:50%;background:#899783;transform:rotate(-11deg)}.hero-art .road-dash{position:absolute;top:12px;left:18%;width:75%;border-top:2px dashed #f7f0dd}.art-token{position:absolute;z-index:3;right:22%;bottom:42px;width:29px;height:29px;display:grid;place-items:center;border:3px solid #fffefa;border-radius:50%;background:#df8b75;color:#fff;box-shadow:0 2px 7px #344b3330}.entry-card{width:100%;padding:31px 34px;border:1px solid #e7e7de;border-radius:17px;background:#fffefa;box-shadow:0 15px 50px #43513c0c}.card-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#edf4e9;color:#668b69}.entry-card h2{margin:18px 0 5px;font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.8px}.entry-card>p{margin:0 0 23px;color:#899087;font-size:11px;line-height:1.6}.field-label{display:block;margin:0 0 7px;color:#677268;font-size:10px;font-weight:700}.entry-card input{width:100%;height:42px;padding:0 12px;border:1px solid #e4e6dd;border-radius:8px;background:#fffefa;color:#354238;font-size:12px;transition:border-color .15s,box-shadow .15s}.entry-card input:focus,.setting-input:focus-within{border-color:#8db394;box-shadow:0 0 0 3px #8db39420;outline:0}.entry-card input::placeholder{color:#b0b5ad}.primary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border:0;border-radius:8px;background:#668f6c;color:#fff;font-size:12px;font-weight:800;box-shadow:0 3px 8px #466e4b20;transition:background .15s,transform .15s,box-shadow .15s}.primary-button:hover:not(:disabled){background:#527d5c;box-shadow:0 5px 13px #466e4b30;transform:translateY(-1px)}.full-button{width:100%;margin-top:12px}.divider{display:flex;align-items:center;gap:11px;margin:17px 0;color:#9ba198;font-size:9px}.divider:before,.divider:after{height:1px;flex:1;background:#eaebe4;content:""}.join-row{display:flex;gap:8px}.join-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:2px;font-weight:700}.join-button{width:43px;flex:none;display:grid;place-items:center;border:1px solid #dce6da;border-radius:8px;background:#f0f5ed;color:#5c8664}.join-button:hover:not(:disabled){background:#e4efe1}.error-message{margin-top:12px;padding:10px 12px;border:1px solid #f0d5cc;border-radius:8px;background:#fff5f1;color:#b65d4f;font-size:11px;line-height:1.5}.entry-foot{display:flex;align-items:center;gap:7px;margin-top:19px;color:#9aa096;font-size:9px}.entry-foot svg{color:#87a287}.menu-footer{padding:16px 0 19px;color:#929a90;text-align:center;font-size:9px;font-weight:700;letter-spacing:1px}.menu-footer span{padding:0 5px;color:#c7ad75}.theme-toggle,.icon-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted)}.theme-toggle{width:35px;height:35px}.theme-toggle:hover,.icon-button:hover{color:var(--green);background:var(--mint)}.icon-button{width:33px;height:33px}.invite-hint{display:flex;align-items:center;gap:8px;color:#828b80;font-size:10px}.invite-hint svg{color:#7e9c7e}.invite-hint b{color:#4f7257;letter-spacing:1px}.lobby-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.start-button{min-width:152px}.settings-panel{padding:19px;border:1px solid #e7e8df;border-radius:12px;background:#fffefa}.settings-title{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid #ecece5}.settings-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#edf3e9;color:#719276}.settings-title h2{margin:0;font-size:13px}.settings-title p{margin:3px 0 0;color:#92998f;font-size:9px}.lobby-selected-map{margin:14px 0;padding:12px;border-radius:9px;background:#f5f7f1}.lobby-selected-map h3{margin:5px 0;font-size:15px}.lobby-selected-map>p{margin:0;color:#899087;font-size:9px;line-height:1.5}.map-select-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.map-select-row label{color:#747e73;font-size:9px;font-weight:700}.map-select-row select{max-width:150px;padding:6px 8px;border:1px solid #e3e6dc;border-radius:6px;background:#fffefa;color:#536257;font-size:9px}.setting-field{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #eff0ea;color:#59655b;font-size:10px;font-weight:700}.setting-field small{display:block;margin-top:4px;color:#9aa096;font-size:8px;font-weight:400}.setting-input{display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #e5e7df;border-radius:7px;color:#9aaa94}.setting-input input{width:74px;height:32px;border:0;background:transparent;color:#425346;text-align:right;font-size:10px;outline:0}.settings-note{display:flex;gap:8px;margin-top:13px;color:#899187;font-size:9px;line-height:1.5}.settings-note svg{flex:none;color:#8ca48b}.lobby-rules{margin-top:15px;padding-top:13px;border-top:1px solid #ecece5;color:#788278;font-size:9px}.lobby-rules h3{margin:0 0 9px;color:#4a5c4e;font-size:10px}.lobby-rules>div{display:flex;align-items:center;gap:8px;margin:7px 0}.lobby-rules svg{color:#83a182}.winner-banner{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 14px;border:1px solid #e7d8a8;border-radius:9px;background:#fff8df;color:#735c2e;font-size:12px;font-weight:700}.winner-banner button{margin-left:auto;border:0;background:transparent;color:#66876a;font-size:10px;font-weight:800}.die{display:flex;align-items:center;justify-content:center;padding:5px;color:#507456;font-size:26px}.die-face{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);align-items:center;justify-items:center}.die-face i{width:6px;height:6px;border-radius:50%;background:transparent}.die-face i.pip{background:currentColor;box-shadow:0 1px 1px #1f342322}.dice-shaking .die:nth-child(2){animation-delay:-.11s}.moving-token{--token-color:#fff}.tile-active{outline:1px solid #eaba63;outline-offset:-2px}.tile-tokens .moving-token{animation:token-hop .24s cubic-bezier(.2,.8,.2,1) both}:root[data-theme=dark] .die{background:#202722;border-color:#455045;color:#a6d0a2}:root[data-theme=dark] .die-face i.pip{background:currentColor}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.room-shell{min-height:100vh}.room-topbar{height:74px;gap:20px}.room-topbar .brand{margin-right:auto}.room-code-box{display:flex;align-items:baseline;gap:10px}.room-code-box>span{font-size:9px;color:#9a9e96;letter-spacing:1.4px;font-weight:700}.room-code-box strong{font-size:14px;letter-spacing:2px}.share-button{height:35px;border:1px solid #e7e8df;background:#fffefa;color:#52645a;border-radius:7px;padding:0 10px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.share-button:hover,.icon-button:hover{background:#edf4e9}.room-topbar .connection-pill{margin-left:5px}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:34px;padding:40px 2% 30px}.lobby-heading h1{font-size:35px;letter-spacing:-1.7px;margin:12px 0 6px}.lobby-heading>p{margin:0;color:#858b83;font-size:13px}.players-panel{margin-top:31px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:15px;margin:0;letter-spacing:-.3px}.count-chip{display:inline-flex;vertical-align:2px;margin-left:5px;background:#edf2e9;color:#66836b;border-radius:10px;padding:3px 7px;font-size:10px}.waiting-status,.waiting-host{font-size:10px;color:#899087;display:flex;align-items:center;gap:8px}.pulse-dot{background:#e9b75f;animation:pulse 1.7s infinite}@keyframes pulse{50%{box-shadow:0 0 0 5px #e9b75f26}}.lobby-players{display:grid;grid-template-columns:1fr 1fr;gap:9px}.player-card,.empty-player{min-height:70px;border:1px solid #e9e8e1;background:#fffefa;border-radius:10px;display:flex;align-items:center;padding:10px 12px;gap:10px;animation:rise .28s both}.you-card{border-color:#b6d0b3;background:#fbfdf8}.player-avatar{width:39px;height:39px;flex:none;border-radius:50%;border:1px solid;display:grid;place-items:center;font-size:12px;font-weight:800}.player-card-text{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}.player-card-text>b,.balance-person>b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card-text>b small,.balance-person>b small{margin-left:6px;color:#648b69;font-size:8px;letter-spacing:.6px}.player-card-text>span,.balance-person>span{font-size:9px;color:#92978f;display:flex;align-items:center;gap:5px}.status-dot{width:6px;height:6px;border-radius:50%;background:#d5a65e}.status-dot.is-connected{background:#6eae7f}.host-badge{display:flex;align-items:center;gap:4px;color:#b2833b;background:#fbf2dd;border-radius:6px;padding:5px 7px;font-size:9px;white-space:nowrap}.empty-player{border-style:dashed;background:#f9f8f3;color:#b1b4ac;justify-content:flex-start}.empty-player>span{width:32px;height:32px;border:1px dashed #cfd1c7;border-radius:50%;display:grid;place-items:center;font-size:17px}.empty-player p{font-size:9px;line-height:1.45;margin:0}.lobby-actions{margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.invite-hint{display:flex;align-items:center;gap:8px;color:#828980;font-size:10px}.invite-hint svg{color:#78947b}.invite-hint b{color:#526254;letter-spacing:1px}.start-button{padding:0 20px;height:42px}.waiting-host{padding:0 5px}.settings-panel{align-self:start;margin-top:24px;background:#fffefa;border:1px solid #eae8e0;border-radius:12px;padding:19px}.settings-title{display:flex;gap:11px;align-items:center;padding-bottom:17px;border-bottom:1px solid #f0efe9}.settings-icon{width:37px;height:37px;border-radius:10px}.settings-title h2{font-size:13px;margin:0 0 4px}.settings-title p{font-size:9px;color:#989c94;margin:0}.setting-field{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:17px}.setting-field>span{font-size:10px;font-weight:700;white-space:nowrap}.setting-field small{display:block;margin-top:4px;font-weight:400;color:#999e95;font-size:9px}.setting-input{width:106px;height:34px;border:1px solid #e9e8e1;border-radius:7px;display:flex;align-items:center;padding:0 8px;gap:5px;color:#78927b}.setting-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#445247;font-weight:700;font-size:11px}.setting-input input::-webkit-inner-spin-button{opacity:.5}.setting-input input:disabled{color:#899087}.settings-note{display:flex;gap:8px;padding:11px 10px;margin-top:17px;border-radius:7px;background:#f1f5ed;color:#778273;font-size:9px;line-height:1.5}.settings-note svg{flex:none;color:#7b9c7d}.lobby-rules{border-top:1px solid #f0efe9;margin-top:15px;padding-top:13px}.lobby-rules h3{font-size:10px;margin:0 0 11px}.lobby-rules>div{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:9px;color:#818880}.lobby-rules svg{color:#759278}.host-note{display:flex;gap:7px;align-items:center;border-top:1px solid #f0efe9;padding-top:12px;margin-top:14px;font-size:9px;color:#969b92}.host-note svg{color:#b68b45}.room-footer{border-top:1px solid #e9e7df;display:flex;justify-content:center;align-items:center;gap:8px;padding:16px;color:#999e95;font-size:9px;letter-spacing:.5px}.room-footer b{color:#58645b;letter-spacing:1px}.room-footer button{border:0;background:transparent;color:#5e8869;font-weight:700;font-size:9px;display:flex;align-items:center;gap:5px}.game-shell{padding-bottom:30px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:25px;padding:26px 0}.game-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.game-heading h1{font-size:26px;letter-spacing:-1px;margin:7px 0 0}.game-heading .eyebrow{font-size:9px}.turn-indicator{display:flex;align-items:center;gap:9px;border:1px solid #e8e7df;background:#fffefa;border-radius:9px;padding:7px 11px;min-width:148px}.turn-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:10px}.turn-indicator>div{display:flex;flex-direction:column;gap:3px;flex:1}.turn-indicator small{font-size:8px;color:#989e94;letter-spacing:.7px;font-weight:700}.turn-indicator b{font-size:10px}.turn-dot{width:7px;height:7px;border-radius:50%;background:#70ad7b}.turn-dot.offline{background:#e2ab5a}.board-wrap{max-width:680px;margin:0 auto}.board-grid{aspect-ratio:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:4px;padding:7px;border-radius:16px;background:#e2e6d9;box-shadow:0 4px 18px #54634c12;border:1px solid #d9ded1}.board-tile{--property-color:#b1b4a4;position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #e4e6da;background:#fffefa;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:4px 3px 2px;transition:box-shadow .25s,transform .25s}.tile-active{box-shadow:inset 0 0 0 2px #eaba63;z-index:1}.tile-stripe{position:absolute;top:0;left:0;right:0;height:5px;background:var(--property-color)}.tile-icon{margin:3px 0 2px;color:#78987c;display:grid;place-items:center}.tile-property .tile-icon{color:var(--property-color);margin-top:7px}.tile-label{font-size:clamp(6px,.69vw,9px);line-height:1.12;font-weight:700;color:#526055;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-price{font-size:clamp(5px,.55vw,7px);margin-top:2px;color:#a0a398;white-space:nowrap;max-width:95%;overflow:hidden;text-overflow:ellipsis}.tile-start{background:#f2eedc;justify-content:center}.tile-start .tile-icon{color:#d1934f}.tile-start .tile-label{font-size:clamp(8px,.85vw,11px);color:#866640}.tile-event{background:#f3eff8}.tile-event .tile-icon{color:#9d83d3}.tile-reward{background:#f0f5e8}.tile-reward .tile-icon{color:#78a36f}.tile-tax{background:#fbefeb}.tile-tax .tile-icon{color:#ce7d6c}.tile-community{background:#eef3f5}.tile-community .tile-icon{color:#6e9dd2}.tile-tokens{position:absolute;bottom:2px;left:2px;right:2px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1px}.mini-token{width:14px;height:14px;border-radius:50%;border:1.5px solid #fffefa;color:#fff;display:grid;place-items:center;font-size:7px;font-weight:800;box-shadow:0 1px 3px #303c302e}.token-current{outline:1.5px solid #29352f;outline-offset:0}.building-pips{position:absolute;right:2px;top:6px;font-size:8px;color:#49815e;letter-spacing:-3px}.board-center{grid-column:2/7;grid-row:2/7;position:relative;overflow:hidden;background:#f3f4e9;border:1px solid #dfe4d7;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column}.board-center:before,.board-center:after{content:"";position:absolute;border:1px solid #e1e7da;border-radius:50%;width:67%;aspect-ratio:1;pointer-events:none}.board-center:after{width:49%;border-color:#e4e9de}.board-center-top{z-index:1;display:flex;align-items:center;gap:12px;color:#486d51}.board-center-top>div{display:flex;flex-direction:column;align-items:center;gap:4px}.board-center-top b{font-family:Manrope,sans-serif;letter-spacing:2px;line-height:1.12;font-size:clamp(13px,2.1vw,25px);text-align:center}.board-center-top>div>span{font-size:clamp(5px,.65vw,8px);color:#8d9a82;letter-spacing:1.2px}.center-sun{color:#e0ae54;font-size:clamp(20px,3vw,35px)}.center-star{color:#df8b72;font-size:clamp(15px,2.5vw,26px);align-self:flex-start}.center-road{height:21px;position:absolute;left:0;right:0;top:60%;background:#daddcf;transform:rotate(-6deg);display:flex;align-items:center;justify-content:space-evenly}.center-road i{width:20px;border-top:2px dashed #f6f4e8}.center-caption{position:absolute;bottom:25%;font-family:Georgia,serif;font-style:italic;font-size:clamp(7px,1vw,12px);color:#8d9a82}.center-landmarks{position:absolute;bottom:7%;display:flex;align-items:end;gap:12px;color:#8fb091;opacity:.64;font-size:19px}.center-landmarks span:nth-child(2){font-size:26px;color:#d9a780}.center-landmarks span:nth-child(4){color:#789d7b}.dice-strip{max-width:680px;margin:12px auto 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.dice-display{height:46px;display:flex;align-items:center;gap:7px}.die{height:37px;width:37px;border:1px solid #e5e5dc;border-radius:8px;background:#fffefa;display:grid;place-items:center;color:#55755b;font-size:26px;box-shadow:0 2px 4px #2e46300a;animation:dice-in .2s both}.dice-total{font-size:12px;font-weight:800;color:#617562;padding-left:3px}.dice-prompt{display:flex;align-items:center;gap:8px;color:#9b9f96;font-size:11px}.dice-prompt svg{color:#78967c}.roll-button{height:40px}.game-sidebar{align-self:start;display:flex;flex-direction:column;gap:12px}.sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:2px 1px 0}.sidebar-title>div{display:flex;align-items:baseline;gap:8px}.sidebar-title h2{font-size:15px;margin:0}.sidebar-title>div>span{font-size:9px;color:#969b92}.icon-button{width:30px;height:30px;border:1px solid #e8e7df;border-radius:7px;background:#fffefa;color:#748576;display:grid;place-items:center}.balance-list{display:flex;flex-direction:column;gap:6px}.balance-card{min-height:56px;background:#fffefa;border:1px solid #ebe9e2;border-radius:8px;padding:8px;display:flex;align-items:center;gap:8px}.balance-active{border-color:#a9c6a7;background:#fbfdf9}.balance-bankrupt{opacity:.5;filter:grayscale(.6)}.balance-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:9px;flex:none}.balance-person{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}.balance-person>b{font-size:10px}.balance-person>span{font-size:8px}.balance-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.balance-amount>b{font-size:11px;color:#456c4e;white-space:nowrap}.balance-amount>small{font-size:8px;color:#9da197}.action-panel{position:relative;overflow:hidden;border:1px solid #e7e9df;border-radius:10px;background:#f0f4eb;padding:14px}.action-kicker{display:flex;align-items:center;gap:6px;color:#69896c;font-size:8px;letter-spacing:1px;font-weight:800}.action-panel h3{font-size:13px;letter-spacing:-.25px;margin:9px 0 5px}.action-panel>p{font-size:9px;line-height:1.5;color:#899087;margin:0}.action-hint{border-top:1px solid #dfe7d9;padding-top:10px;margin-top:12px;display:flex;gap:7px;align-items:center;font-size:8px;color:#758375}.purchase-panel{background:#fbf4e6;border-color:#eddfbf}.purchase-panel .action-kicker{color:#a98041}.purchase-panel>p{color:#8d8677}.purchase-price{display:flex;align-items:center;justify-content:space-between;margin:12px 0;color:#85877d;font-size:10px}.purchase-price b{display:flex;align-items:center;gap:6px;color:#8b6a35;font-size:13px}.purchase-panel .primary-button{height:38px;background:#b08c4f;font-size:11px}.purchase-panel .primary-button:hover:not(:disabled){background:#9c793c}.skip-button{width:100%;margin-top:7px;height:29px;background:transparent;border:0;color:#8c8b7e;font-size:9px}.skip-button:hover{color:#5c665e}.card-panel{background:#f1ecf7;border-color:#e5dcef;animation:card-in .35s both}.card-panel .action-kicker{color:#8d76ad}.card-sparkle{position:absolute;right:12px;top:11px;color:#b09bc5}.card-panel h3{font-size:14px}.card-panel>p{color:#857d90}.build-panel{background:#edf4ee}.build-row{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding:8px 7px;border:1px solid #dfe8dc;border-radius:6px;background:#fffefa;color:#586a59;font-size:9px}.build-row>span{display:flex;align-items:center;gap:5px}.build-row>b{color:#739175;font-size:9px}.build-row:disabled{opacity:.55}.build-hint{display:block;margin-top:8px;color:#92998e;font-size:8px}.event-log{border:1px solid #e9e8e1;border-radius:9px;background:#fffefa;padding:11px}.log-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px solid #f0efe9}.log-title>span:first-child{display:flex;align-items:center;gap:6px;color:#596b5d;font-size:8px;font-weight:800;letter-spacing:.7px}.log-title svg{color:#7c967d}.live-tag{display:flex;align-items:center;gap:4px;color:#8ea28b;font-size:7px;font-weight:800;letter-spacing:.7px}.live-tag i{height:5px;width:5px;border-radius:50%;background:#70ac7d}.log-items{max-height:190px;overflow:auto;padding-top:3px}.log-entry{display:flex;gap:8px;position:relative;padding:7px 0;color:#858b82;font-size:8px;line-height:1.45}.log-entry:not(:last-child):before{content:"";position:absolute;top:18px;bottom:-8px;left:2px;width:1px;background:#e8e9e1}.log-marker{width:5px;height:5px;border-radius:50%;background:#d4d7ce;flex:none;margin-top:3px;z-index:1}.log-marker.latest{background:#6da078;box-shadow:0 0 0 3px #6da0781c}.log-empty{font-size:9px;color:#a1a69c}.winner-banner{margin-top:12px;border-radius:9px;background:#ecf4e9;padding:11px 14px;display:flex;align-items:center;gap:9px;color:#4f7855;font-size:13px;font-weight:700}.winner-banner button{margin-left:auto;border:0;background:transparent;color:#557c5a;font-size:10px;font-weight:700}.room-topbar .connection-pill svg{color:#829583}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes dice-in{0%{transform:rotate(-12deg) scale(.85);opacity:.5}to{transform:rotate(0) scale(1);opacity:1}}@keyframes card-in{0%{transform:translateY(8px) rotate(-1deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@media(min-width:1350px){.board-wrap,.dice-strip{max-width:700px}.game-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.game-sidebar{gap:14px}}@media(max-width:1050px){.page-shell{padding-left:28px;padding-right:28px}.hero-grid{gap:5%;padding-left:0;padding-right:0}.lobby-layout{gap:20px;padding-left:0;padding-right:0}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.tile-icon svg{width:12px;height:12px}.tile-start .tile-icon svg{width:15px;height:15px}.board-grid{gap:3px;padding:6px}}@media(max-width:780px){.page-shell{padding-left:18px;padding-right:18px}.hero-grid{grid-template-columns:1fr;gap:28px;padding:43px 0 35px}.hero-copy{padding-bottom:105px}.hero-copy h1{font-size:50px}.hero-art{right:0}.entry-card{justify-self:center;max-width:460px}.lobby-layout{grid-template-columns:1fr;padding-top:28px}.settings-panel{margin-top:0}.lobby-players{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:1fr;padding-top:18px}.board-wrap{max-width:min(100%,680px)}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.sidebar-title,.balance-list{grid-column:1}.game-sidebar>.action-panel,.game-sidebar>.event-log{grid-column:2}.game-sidebar>.action-panel{grid-row:1/3;margin-top:40px}.game-sidebar>.event-log{grid-row:3}.balance-list{grid-row:2}.game-heading h1{font-size:22px}.game-heading{gap:8px}.turn-indicator{min-width:130px}.room-topbar{height:66px}.lobby-heading h1{font-size:31px}}@media(max-width:530px){.page-shell{padding-left:13px;padding-right:13px}.topbar{height:70px}.brand{font-size:17px}.brand-mark{width:27px;height:27px}.hero-grid{padding-top:33px}.hero-copy h1{font-size:43px;letter-spacing:-2.2px}.hero-copy>p{font-size:14px}.hero-art{height:122px}.entry-card{padding:25px 22px}.room-topbar{gap:10px}.room-topbar .brand{gap:7px}.room-topbar .brand>span:last-child{font-size:15px}.room-code-box{gap:5px}.room-code-box>span{font-size:7px}.room-code-box strong{font-size:11px}.share-button{width:34px;padding:0;justify-content:center}.share-button span,.share-button svg:last-child{display:none}.room-topbar .connection-pill{font-size:0}.lobby-layout{padding-top:24px}.lobby-players{grid-template-columns:1fr}.empty-player{display:none}.lobby-actions{align-items:stretch;flex-direction:column}.start-button{width:100%}.invite-hint{justify-content:center}.waiting-host{justify-content:center;padding:9px}.section-heading{align-items:flex-start;gap:8px}.waiting-status{font-size:9px}.player-card{min-height:63px}.host-badge{font-size:8px}.setting-field>span{font-size:9px}.settings-panel{padding:16px}.game-heading h1{font-size:19px}.game-heading .eyebrow{font-size:7px;letter-spacing:1px}.turn-indicator{min-width:auto;padding:6px 7px;gap:6px}.turn-avatar{width:27px;height:27px}.turn-indicator small{font-size:7px}.turn-indicator b{font-size:9px}.board-grid{gap:2px;padding:4px;border-radius:10px}.board-tile{border-radius:3px;padding:2px 1px}.tile-stripe{height:3px}.tile-icon{margin:2px 0 1px}.tile-property .tile-icon{margin-top:4px}.tile-icon svg{width:10px;height:10px}.tile-label{font-size:clamp(5px,1.35vw,8px)}.tile-price{font-size:clamp(4px,1vw,6px)}.mini-token{width:11px;height:11px;font-size:6px}.dice-strip{margin-top:6px}.dice-prompt{font-size:9px}.dice-prompt svg{width:16px}.die{width:31px;height:31px;font-size:22px}.roll-button{height:37px;padding:0 11px;font-size:10px}.game-sidebar{grid-template-columns:1fr}.sidebar-title,.balance-list,.game-sidebar>.action-panel,.game-sidebar>.event-log{grid-column:1;grid-row:auto!important}.game-sidebar>.action-panel{margin-top:0}.balance-list{display:grid;grid-template-columns:1fr 1fr}.balance-card{padding:6px;gap:5px}.balance-avatar{width:28px;height:28px}.balance-person>b{font-size:9px}.balance-amount>b{font-size:9px}.event-log{max-height:none}.log-items{max-height:160px}.center-landmarks{gap:7px;font-size:15px}.board-center-top{gap:6px}.board-center-top b{letter-spacing:1px}.center-road{height:13px}.center-road i{width:10px}.room-footer{font-size:8px}.winner-banner{font-size:11px}}.board-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr))}.board-center{grid-column:2/8;grid-row:2/8}.leave-button{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--muted);font-size:10px;font-weight:700}.leave-button:hover{color:#b45d50;border-color:#d9aaa0}:root[data-theme=dark] .leave-button{background:#202722;border-color:#39433b;color:#c3cec1}.menu-top-actions{display:flex;align-items:center;gap:18px}.theme-toggle{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted)}.theme-toggle:hover{color:var(--green);background:var(--mint)}.map-picker{margin:17px 0 2px}.map-picker-heading{display:flex;align-items:center;justify-content:space-between}.map-picker-heading .field-label{margin:0 0 7px}.map-picker-heading>span{font-size:9px;color:#959b91}.map-options{display:grid;grid-template-columns:1fr;gap:6px}.map-option{width:100%;position:relative;display:flex;align-items:center;gap:9px;text-align:left;padding:7px;border:1px solid #e9e8e1;border-radius:8px;background:#fffefa;color:var(--ink);transition:border .15s,background .15s}.map-option:hover{border-color:#b9cbb5}.map-option.selected{border-color:#7ba184;background:#f5f8f1;box-shadow:inset 0 0 0 1px #7ba18435}.map-art{width:45px;height:35px;position:relative;overflow:hidden;flex:none;border-radius:6px;background:#e1ebdd}.map-art:before{content:"";position:absolute;left:-5px;right:-5px;top:18px;height:10px;background:#b9c7b1;transform:rotate(-20deg)}.map-art:after{content:"";position:absolute;left:-5px;right:-5px;top:21px;border-top:2px dashed #f5f1dd;transform:rotate(-20deg)}.map-art i{position:absolute;z-index:1;bottom:10px;width:9px;height:14px;background:#d99471;border-radius:3px 3px 0 0}.map-art i:nth-child(1){left:8px}.map-art i:nth-child(2){left:20px;height:18px;background:#80a784}.map-art i:nth-child(3){left:32px;height:11px;background:#e9c778}.map-art b{position:absolute;right:4px;top:2px;color:#e5b35d;font-size:9px}.map-art-1{background:#e5eee5}.map-art-1 i:nth-child(1){background:#779780}.map-art-1 i:nth-child(2){background:#bd916c}.map-art-1 i:nth-child(3){background:#7c9a7c}.map-art-2{background:#dbecef}.map-art-2:before{background:#a7c7c9}.map-art-2 i{background:#df967a}.map-art-2 i:nth-child(2){background:#e6c276}.map-option-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.map-option-copy b{font-size:10px}.map-option-copy small{font-size:8px;color:#8e978e;letter-spacing:.6px}.map-check{margin-left:auto;color:#528363}.create-map-button{display:flex;align-items:center;gap:6px;width:100%;height:31px;margin-top:7px;padding:0 8px;border:1px dashed #d5d9cf;border-radius:7px;background:transparent;color:#8b9388;font-size:9px;font-weight:700}.create-map-button span{margin-left:auto;color:#b49a64;font-size:7px;letter-spacing:.7px}.create-map-button:disabled{opacity:.85;cursor:not-allowed}.lobby-selected-map{margin-top:14px;padding:11px 10px;border-radius:8px;background:#f5f6ef}.lobby-selected-map .eyebrow{font-size:7px;letter-spacing:1px}.lobby-selected-map h3{font-size:12px;margin:5px 0 4px}.lobby-selected-map>p{font-size:9px;line-height:1.45;color:#879084;margin:0 0 9px}.map-select-row{display:flex;align-items:center;justify-content:space-between;gap:7px}.map-select-row label{font-size:9px;font-weight:700}.map-select-row select{max-width:145px;height:28px;border:1px solid #e1e5d9;background:#fffefa;border-radius:6px;color:#536253;padding:0 5px;font-size:9px}.move-progress{position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%);padding:6px 10px;border:1px solid #dce7d9;border-radius:20px;background:var(--paper);color:#57755d;font-size:9px;font-weight:700;white-space:nowrap;box-shadow:0 3px 9px #34452b12;animation:rise .2s both}.dice-strip{position:relative}.dice-shaking .die{animation:dice-tumble .22s ease-in-out infinite alternate}.dice-shaking .die:nth-child(2){animation-delay:.08s}.dice-total small{display:block;color:#969b92;font-size:7px;text-align:center;letter-spacing:.3px}.tile-tokens{z-index:2}.moving-token{position:relative;z-index:4;animation:token-hop .18s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 2px 7px #27352768,0 0 0 2px var(--token-color,#fff)}@keyframes token-hop{0%{transform:translateY(-4px) scale(.7);opacity:.4}65%{transform:translateY(-11px) scale(1.14)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes dice-tumble{0%{transform:rotate(-16deg) translateY(-3px) scale(.94)}to{transform:rotate(16deg) translateY(3px) scale(1.04)}}:root[data-theme=dark]{color-scheme:dark;--ink:#e5e9e1;--muted:#9ba69a;--green:#87bd93;--green-dark:#70a981;--paper:#202722;--line:#39433b;--mint:#29372c;--gold:#eab968;background:#171d19;color:var(--ink)}:root[data-theme=dark] body{background:#171d19;color:var(--ink)}:root[data-theme=dark] .topbar{border-color:#303a33}:root[data-theme=dark] .hero-copy h1,:root[data-theme=dark] .lobby-heading h1,:root[data-theme=dark] .game-heading h1{color:#e7ebe3}:root[data-theme=dark] .hero-copy h1 span{color:#8fbc91}:root[data-theme=dark] .hero-copy>p,:root[data-theme=dark] .lobby-heading>p{color:#a1aaa0}:root[data-theme=dark] .hero-perks{color:#b7c1b5}:root[data-theme=dark] .entry-card,:root[data-theme=dark] .player-card,:root[data-theme=dark] .settings-panel,:root[data-theme=dark] .turn-indicator,:root[data-theme=dark] .balance-card,:root[data-theme=dark] .event-log,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .share-button,:root[data-theme=dark] .room-code-box{background:#202722;border-color:#39433b;color:#e4e9e1}:root[data-theme=dark] .entry-card>p,:root[data-theme=dark] .settings-title p,:root[data-theme=dark] .setting-field small,:root[data-theme=dark] .empty-player,:root[data-theme=dark] .player-card-text>span,:root[data-theme=dark] .balance-person>span,:root[data-theme=dark] .balance-amount>small,:root[data-theme=dark] .log-entry{color:#9ba69a}:root[data-theme=dark] .entry-card input,:root[data-theme=dark] .setting-input,:root[data-theme=dark] .map-option,:root[data-theme=dark] .map-select-row select{background:#171d19;border-color:#3a453c;color:#e4e9e1}:root[data-theme=dark] .entry-card input::placeholder{color:#737e73}:root[data-theme=dark] .divider:before,:root[data-theme=dark] .divider:after,:root[data-theme=dark] .entry-foot,:root[data-theme=dark] .settings-title,:root[data-theme=dark] .lobby-rules,:root[data-theme=dark] .room-footer,:root[data-theme=dark] .log-title{border-color:#354038}:root[data-theme=dark] .divider,:root[data-theme=dark] .entry-foot,:root[data-theme=dark] .menu-footer,:root[data-theme=dark] .room-footer{color:#8f9a8f}:root[data-theme=dark] .join-button,:root[data-theme=dark] .settings-icon,:root[data-theme=dark] .card-icon{background:#2b3a2e;color:#93bd96}:root[data-theme=dark] .you-card,:root[data-theme=dark] .balance-active,:root[data-theme=dark] .map-option.selected{background:#25332a;border-color:#668a6a}:root[data-theme=dark] .empty-player{background:#1b221e;border-color:#465046}:root[data-theme=dark] .settings-note,:root[data-theme=dark] .lobby-selected-map,:root[data-theme=dark] .action-panel,:root[data-theme=dark] .build-panel{background:#29352c;border-color:#3b4a3d;color:#dce5d9}:root[data-theme=dark] .action-panel>p,:root[data-theme=dark] .lobby-selected-map>p,:root[data-theme=dark] .settings-note,:root[data-theme=dark] .build-hint{color:#a5b0a4}:root[data-theme=dark] .purchase-panel{background:#3b3325;border-color:#665332}:root[data-theme=dark] .purchase-panel .action-kicker{color:#dfbd78}:root[data-theme=dark] .card-panel{background:#332b3d;border-color:#514365}:root[data-theme=dark] .card-panel .action-kicker{color:#c5a9e7}:root[data-theme=dark] .build-row,:root[data-theme=dark] .die{background:#202722;border-color:#3a453c;color:#dce5d9}:root[data-theme=dark] .board-grid{background:#303a32;border-color:#465247}:root[data-theme=dark] .board-tile{background:#222b25;border-color:#3b473d}:root[data-theme=dark] .tile-label{color:#d4ddd2}:root[data-theme=dark] .tile-price{color:#a0ad9e}:root[data-theme=dark] .tile-start{background:#393629}:root[data-theme=dark] .tile-event{background:#302a39}:root[data-theme=dark] .tile-reward{background:#293629}:root[data-theme=dark] .tile-tax{background:#392c29}:root[data-theme=dark] .tile-community{background:#28333a}:root[data-theme=dark] .board-center{background:#222c25;border-color:#3c493d}:root[data-theme=dark] .board-center:before,:root[data-theme=dark] .board-center:after{border-color:#354337}:root[data-theme=dark] .center-road{background:#39443a}:root[data-theme=dark] .center-caption,:root[data-theme=dark] .board-center-top>div>span{color:#9fad9c}:root[data-theme=dark] .mini-token{border-color:#222b25}:root[data-theme=dark] .map-option.selected{background:#26342a}:root[data-theme=dark] .map-art{filter:brightness(.8)}:root[data-theme=dark] .map-art:before{filter:brightness(.8)}:root[data-theme=dark] .winner-banner{background:#293a2d;color:#9fc6a0}:root[data-theme=dark] .error-message{background:#402b27;color:#efa99c}:root[data-theme=dark] .theme-toggle{background:#202722;border-color:#39433b;color:#e1c985}:root[data-theme=dark] .turn-indicator small,:root[data-theme=dark] .tile-icon{color:#a3b79f}:root[data-theme=dark] .room-code-box>span{color:#a0a99f}:root[data-theme=dark] .board-grid{box-shadow:0 4px 18px #00000024}@media(max-width:530px){.map-option{padding:6px}.map-art{width:40px;height:31px}.create-map-button{font-size:8px}.menu-top-actions{gap:10px}.move-progress{font-size:8px}.lobby-selected-map{padding:9px}}
