:root{font-family:Arial,Helvetica,sans-serif;color:#233d32;background:#f6f3ea;font-synthesis:none;font-size:14px;--forest: #173e32;--deep: #102e25;--cream: #f6f3ea;--paper: #fffcf5;--gold: #ac8549;--muted: #7b8175;--line: #dfdfd1;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;min-width:320px}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.43;cursor:not-allowed}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9859;outline-offset:4px}input,select{width:100%;border:1px solid #d9dace;border-radius:6px;padding:13px 14px;background:#fffdf8;color:var(--forest);min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest);flex:none}input::placeholder{color:#a1a295}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1 em{font-weight:400;color:#9b793e}h2{font-size:29px;letter-spacing:-.7px}h3{font-size:21px}p{line-height:1.65}small{font-size:11px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#828271;text-transform:uppercase;display:block}.muted{font-size:12px;color:var(--muted);line-height:1.65}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:13px 19px;border-radius:5px;font-weight:600;font-size:12px;transition:background .2s,transform .2s}.primary{background:var(--forest);color:#faf7ec;border:1px solid var(--forest)}.primary:not(:disabled):hover{background:#285440;transform:translateY(-1px)}.secondary{border:1px solid #d5d9c9;background:transparent;color:var(--forest)}.secondary:not(:disabled):hover{background:#eaeadd}.danger{background:#974e3d;color:#fff}.text-button{min-height:44px;padding:9px 0;text-decoration:underline;text-underline-offset:4px;color:#7c806e;font-size:11px}.danger-text{min-height:44px;color:#a45643;text-decoration:underline;text-underline-offset:4px;font-size:11px;padding:10px}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none}.icon-button:hover{background:#e5e8dc}.full{width:100%}.button-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:0 5.3%;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--cream)}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);font-size:26px;letter-spacing:-.8px}.brand-mark{position:relative;font-family:var(--serif);font-size:22px;font-weight:400;width:43px;height:49px;border:1px solid #a68a54;display:flex;align-items:center;justify-content:center;letter-spacing:-3px;color:#93753f;border-radius:22px 22px 4px 4px}.top-actions{display:flex;align-items:center;gap:14px}.connection{font-size:10px;display:flex;align-items:center;gap:7px;color:#6e7f6d;border-right:1px solid var(--line);padding-right:22px}.connection.offline{color:#a67843}.help-button{min-width:44px;min-height:44px;display:flex;align-items:center;gap:8px;font-size:11px;padding:8px 0 8px 8px}.error-banner,.offline-banner{padding:12px 5.3%;background:#f3e2d6;color:#7f4234;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;position:relative;z-index:6}.offline-banner{justify-content:center;background:#eae6d6;color:#70613c}.landing{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto}.landing-copy{padding:48px 8% 40px 10.6%;min-width:0}.landing h1{font-size:clamp(40px,4.2vw,60px);letter-spacing:-2px;line-height:1.12;margin:0 0 18px}.landing-description{font-size:14px;color:#7b8072;line-height:1.65;margin-bottom:24px}.landing-facts{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:24px;font-size:12px;color:#687361}.landing-facts span{display:flex;align-items:center;gap:7px}.landing-facts svg{color:#9c875d}.entry-card{max-width:450px;padding:24px;background:#fffdf8;border:1px solid #dedfd2;border-radius:7px}.entry-card h2{font-size:24px;margin-bottom:20px;letter-spacing:-.6px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:600;margin-bottom:19px}.field input,.field select{font-weight:400;font-size:12px}.avatar-picker{border:0;padding:0;margin:0 0 19px;display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:5px}.avatar-picker legend{font-size:10px;margin-bottom:10px;padding:0}.avatar-picker button{min-width:44px;min-height:44px;position:relative;border:1px solid transparent;padding:3px;border-radius:50%}.avatar-picker .avatar{width:100%;max-width:35px;height:auto;aspect-ratio:1;font-size:clamp(17px,2vw,21px)}.landing-board:has(.flat-board){width:calc(100% - 48px);height:auto;aspect-ratio:1;min-height:320px;margin:24px}.avatar-picker button.selected{border-color:#b3955e;background:#f3eddd}.avatar{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex:none;border-radius:50%;font-size:21px;background:color-mix(in srgb,var(--avatar-color) 15%,#faf7ec);color:var(--avatar-color);border:1px solid color-mix(in srgb,var(--avatar-color) 24%,transparent);font-family:Georgia,serif}.avatar.large{width:49px;height:49px;font-size:27px}.avatar-check{position:absolute;right:0;bottom:0;border-radius:50%;background:var(--forest);color:#fff;width:14px;height:14px;display:grid;place-items:center}.entry-submit{width:100%;justify-content:flex-start}.entry-submit>svg:last-child{margin-left:auto}.entry-note{font-size:9px;color:#939787;text-align:center;margin:11px 0 0;display:flex;align-items:center;justify-content:center;gap:5px}.entry-card>.text-button{display:block;margin:5px auto 0}.landing-stage{background:var(--forest);position:relative;overflow:hidden;min-height:620px;display:flex;align-items:center;justify-content:center}.live-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;background:#bea36b}.landing-board{height:560px;width:100%;position:relative}.landing-board>div{height:100%!important}.board-loading{height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;color:#bcba93;font-size:13px;background:var(--forest)}.lobby{max-width:1100px;display:grid;grid-template-columns:1fr 1.05fr;gap:8%;padding:64px 40px;margin:auto;align-items:start}.lobby-intro h1{font-size:clamp(40px,4.5vw,58px);line-height:1.1;letter-spacing:-2px;margin:0 0 20px}.lobby-intro>p{font-size:13px;color:#7b8274;max-width:370px;margin-bottom:30px}.lobby-table{background:#fffdf7;border:1px solid var(--line);border-radius:8px;padding:24px}.lobby-table>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:15px}.lobby-table h2{margin:0;font-size:26px}.count-pill{padding:7px 10px;background:#ebeedd;border-radius:4px;font-size:11px;display:inline-block;white-space:nowrap;color:#657257}.lobby-player{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #e7e7da}.lobby-player>div{min-width:0}.lobby-player h3{font-family:Arial,sans-serif;font-size:13px;margin:0 0 5px;overflow-wrap:anywhere}.lobby-player h3 small{font-size:9px;font-weight:400;color:#9a9c88;margin-left:4px}.lobby-player p{font-size:10px;color:#8a8f7b;margin:0}.host-tag{margin-left:auto;color:#94773d;background:#f4ecda;font-size:9px;padding:6px 8px;border-radius:4px;display:flex;align-items:center;gap:5px;white-space:nowrap}.status-dot{width:6px;height:6px;background:#aaa;margin-left:auto;border-radius:50%}.status-dot.online{background:#6d8a58}.lobby-bottom{margin-top:25px;text-align:center}.lobby-bottom>.primary{width:100%}.lobby-bottom>small{display:block;color:#a08b62;margin-top:10px}.lobby-bottom>.text-button{margin-top:13px}.waiting{padding:15px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:12px;background:#edf0e2;color:#788568;border-radius:4px}.in-game{height:100dvh;display:flex;flex-direction:column}.in-game .topbar{height:56px;flex:none;padding:0 20px}.in-game .brand{font-size:23px}.in-game .brand-mark{height:34px;width:30px;font-size:18px}.game-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0}.players-panel{padding:7px 16px;min-width:0;border-bottom:1px solid var(--line)}.player-list{display:flex;justify-content:center;gap:6px;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd1ba transparent}.player-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;flex:0 1 220px;min-width:150px;min-height:48px;text-align:left;padding:6px 10px;border:1px solid #dedfd2;border-radius:6px;background:#fbf9f1;transition:border .2s}.player-card:hover{border-color:#a5b095}.player-card.active{background:#e8ecdd;border:1px solid #acb795;box-shadow:inset 3px 0 #607b4c}.player-card.eliminated{opacity:.5}.player-card-top{display:flex;min-width:0;gap:7px;align-items:center}.player-card-top .avatar{width:26px;height:26px;font-size:16px}.player-card-top>div{min-width:0}.player-card-top strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-top strong small{font-weight:400;font-size:8px;color:#828b73}.player-card-top>div>span{display:block;font-size:10px;color:#8b927e;margin-top:2px}.turn-dot{width:5px;height:5px;background:#8a9c66;flex:none;border-radius:50%;margin-left:auto}.player-money{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}.player-money strong{font-family:var(--serif);font-size:18px;font-weight:400}.player-money>span{font-size:10px;color:#8a917d}.bank-summary{display:flex;gap:11px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:#93997e}.bank-summary b{display:block;font-size:12px;font-weight:400;color:#737d63;margin-bottom:4px}.bank-summary span{font-size:11px}.game-table{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) fit-content(50%);grid-template-rows:auto minmax(300px,1fr) auto}.table-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px;min-height:44px;flex-wrap:wrap}.table-heading h1{font-size:20px;letter-spacing:-.4px;margin:0}.board-tools{display:flex;gap:3px;align-items:center}.view-toggle{min-width:44px;min-height:44px;font-size:12px;border:1px solid #d8ddcc;border-radius:4px;padding:8px;white-space:nowrap}.game-canvas{grid-column:1 / -1;min-height:300px;min-width:0;position:relative;overflow:hidden;background:var(--forest)}.game-canvas>div:first-child{height:100%!important}.board-hint{position:absolute;bottom:15px;left:18px;color:#bdc1a4;font-size:8px;pointer-events:none;letter-spacing:.3px}.dice-readout{position:absolute;bottom:12px;right:15px;display:flex;align-items:center;gap:8px;background:#102e25c9;color:#eee8d2;padding:8px 10px;font-size:10px;border-radius:4px;border:1px solid #b4b1912e;pointer-events:none}.dice-readout span{color:#bca56b;border-left:1px solid #c9c8a52a;padding-left:8px}.action-bar{min-width:0;background:#fffdf6;border-top:1px solid var(--line);padding:10px 20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-height:70px}.action-copy{flex:1;min-width:170px}.action-copy h2{font-size:20px;letter-spacing:-.4px;margin:0 0 4px}.action-copy p{font-size:12px;color:#8a8d77;margin:0;line-height:1.5;max-width:500px}.context-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-left:auto}.context-actions .primary,.context-actions .secondary{font-size:12px;min-height:44px;padding:10px 12px}.debt-bar{border-color:#d4b691;background:#faf4e7}.game-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:10px 16px 10px 0;background:#fffdf6;border-top:1px solid var(--line)}.game-toolbar>button{min-height:44px;padding:10px;gap:6px;font-size:12px}.game-toolbar>.secondary{border-color:transparent}.pending-trade{min-height:44px;display:flex;gap:10px;align-items:center;padding:10px 13px;background:#f0e5ca;border:1px solid #c9ab73;color:#745724;border-radius:4px;text-align:left}.pending-trade b{font-size:12px;font-weight:500;display:block}.pending-trade small{font-size:11px;display:block;margin-top:3px;color:#806a43}.journal-modal .journal{max-height:50dvh}.journal{list-style:none;padding:0;margin:0;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#d4d9c5 transparent;min-height:100px}.journal li{display:flex;gap:13px;position:relative;padding:12px 0;border-bottom:1px solid var(--line)}.log-dot{width:7px;height:7px;flex:none;background:#c2c7b2;border-radius:50%;margin-top:5px;position:relative;z-index:1}.log-dot.latest{background:#9e8957}.journal p{font-size:12px;color:#747f68;margin:0 0 4px;line-height:1.7;overflow-wrap:anywhere}.journal li:first-child p{color:#485c40}.journal time{font-size:10px;color:#a1a68e}.flat-board{width:100%;height:100%;min-height:320px;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(11,minmax(0,1fr));background:#d9dac2;padding:10px;gap:2px;overflow:hidden}.flat-center{grid-column:2/11;grid-row:2/11;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #a9af8b;background:#dbdec7;gap:14px}.flat-center>span{font-size:clamp(6px,.7vw,10px);letter-spacing:2px;color:#7c8560}.flat-center>strong{font-family:var(--serif);font-size:clamp(30px,5vw,80px);font-weight:400;line-height:1;color:var(--forest);text-align:center;letter-spacing:-2px}.flat-center>p{font-size:9px;color:#81906c}.flat-tile{position:relative;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;background:#f3f0df;padding:3px 1px;border-bottom:3px solid transparent;min-width:0;overflow:hidden;line-height:1.1}.flat-tile>i{height:5px;background:var(--tile-color);width:100%;position:absolute;top:0;left:0}.flat-tile>span{font-size:clamp(5px,.48vw,9px);line-height:1.1;overflow-wrap:anywhere;padding-top:4px}.flat-tile small{font-size:clamp(5px,.45vw,8px);color:#8a8c74}.flat-tile>b{font-size:7px;color:#568051}.flat-tile.mortgaged{background:#c8c5b4}.flat-pawns{position:absolute;bottom:1px;right:1px;display:flex;flex-wrap:wrap;gap:1px;max-width:100%}.flat-pawns em{width:12px;height:12px;display:grid;place-items:center;border:1px solid #fff8;font-style:normal;color:#fff;font-size:7px;border-radius:50%}.modal{overscroll-behavior:contain;border:1px solid #d8d9c9;border-radius:10px;background:var(--paper);color:var(--forest);padding:29px;width:min(500px,calc(100% - 28px));max-height:85dvh;overflow:auto;box-shadow:0 30px 120px #06180e60;scrollbar-width:thin;scrollbar-color:#c5ccb2 transparent}.modal.wide{width:min(760px,calc(100% - 28px))}.modal::backdrop{background:#0a231caa;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.modal>header h2{overflow-wrap:anywhere;margin:0;font-size:28px}.modal>header .eyebrow{font-size:8px;letter-spacing:1.8px}.modal>p{font-size:12px}.modal header .icon-button{align-self:flex-start;border:1px solid #e1e2d4}.modal .field input,.modal .field select{background:#f7f6ed}.rules .intro{font-family:var(--serif);font-size:22px;line-height:1.5;margin-bottom:28px;color:#76815f}.rules section{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.rules section h3{margin-bottom:11px;font-size:24px}.rules section p{font-size:12px;color:#748068;line-height:1.85}.rules .adaptations{background:#eeeede;padding:20px;border:1px solid #dedfcb;border-radius:5px}.rules .adaptations h3{font-size:22px}.settings-list label{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:18px 0}.settings-list label b{font-size:12px;font-weight:500}.settings-list label small{display:block;color:#8c927d;font-size:10px;line-height:1.6;margin-top:7px}.settings-list{margin-bottom:23px}.settings-list input[role=switch]{width:35px;height:20px;cursor:pointer}.deed-band{height:9px;border-radius:3px;margin-bottom:23px}.deed-summary{display:flex;justify-content:space-between;gap:20px;margin-bottom:23px}.deed-summary span{display:block;font-size:9px;color:#8a9179;margin-bottom:8px}.deed-summary strong{font-family:var(--serif);font-weight:400;font-size:23px;overflow-wrap:anywhere}.rent-table{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:15px}.rent-table>div{display:flex;justify-content:space-between;padding:9px 10px;color:#7f886e}.rent-table>div b{font-weight:500}.rent-table>div.current-rent{background:#e9eddd;color:#4d6741;border-radius:3px}.rent-table p{color:#7c856a;font-size:12px}.group-info{margin:23px 0}.group-info h3{font-size:20px;margin-bottom:8px}.group-info>p{font-size:10px;color:#959982}.group-info>button{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:10px;width:100%;padding:10px 0;border-bottom:1px solid #e5e6d8;text-align:left}.group-info>button>small{margin-left:auto;color:#8f957d;font-size:9px}.deed-costs{background:#f0f0e3;border-radius:4px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.deed-costs>span{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8b917b}.deed-costs b{font-weight:500;color:#5d704f;text-align:right}.property-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.property-actions>.primary,.property-actions>.secondary{flex:1;font-size:10px;white-space:nowrap;padding:12px 10px}.property-actions>.full{flex-basis:100%}.property-actions>small{font-size:9px;color:#969c84;line-height:1.65}.notice{padding:13px;background:#eee9d6;border-radius:4px;color:#9b8150;font-size:11px;margin-bottom:17px;line-height:1.7}.dialog-error{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:20px;background:#f5ded0;color:#874735;border-radius:5px;font-size:12px;line-height:1.6;z-index:2}.special-tile-info{text-align:center;padding:15px 10px;color:#8a9279}.special-tile-info svg{color:#ad945e}.special-tile-info p{font-family:var(--serif);font-size:21px;margin-top:22px;line-height:1.7}.wealth-header{display:flex;align-items:center;gap:18px;background:#eef0e1;border-radius:5px;padding:18px;margin-bottom:15px}.wealth-header>div{flex:1}.wealth-header span:not(.avatar){font-size:9px;color:#939b7e;display:block;margin-bottom:7px}.wealth-header strong{font-family:var(--serif);font-size:23px;font-weight:400;white-space:nowrap}.portfolio-list{margin:25px 0}.portfolio-list>button{width:100%;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);text-align:left}.portfolio-list>button>i{height:29px;width:4px;border-radius:2px;flex:none}.portfolio-list b{font-size:11px;font-weight:500}.portfolio-list small{display:block;font-size:9px;color:#939a80;margin-top:5px}.portfolio-list>button>span{font-size:11px;color:#869073;margin-left:auto}.empty-message{padding:20px;text-align:center;font-size:12px;color:#9aa187;border:1px dashed #d9ddc9;border-radius:5px}.free-card{display:flex;gap:12px;align-items:flex-start;background:#f1ead8;border:1px solid #e2d5b4;border-radius:5px;padding:15px;margin:15px 0}.free-card b{font-size:10px;font-weight:500}.free-card p{font-size:10px;color:#97885e;margin:7px 0 0}.auction-price{text-align:center;padding:20px;background:#eef0e1;border-radius:6px;margin-bottom:20px}.auction-price>span{font-size:10px;color:#8e987a}.auction-price>strong{font-family:var(--serif);font-size:54px;font-weight:400;display:block;margin:10px 0}.auction-price p{font-size:12px;color:#8b9575}.auction-price .count-pill{background:#e0e6ce}.auction-participants{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.auction-participants>span{font-size:9px;background:#eeeee1;color:#899473;padding:7px 9px;border-radius:4px}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.trade-column{border:1px solid #dfe2ce;border-radius:6px;padding:20px;background:#f6f6eb;min-width:0}.trade-column h3{font-size:24px;margin:0 0 9px;overflow-wrap:anywhere}.trade-column h4{font-size:10px;font-weight:500;letter-spacing:.7px;text-transform:uppercase;color:#8d967b;margin:22px 0 12px}.trade-check{min-height:44px;display:flex;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #e0e4d1;font-size:11px;cursor:pointer;line-height:1.4}.trade-check>i{height:25px;width:4px;border-radius:2px;flex:none}.trade-check small{display:block;font-size:9px;color:#939b82;margin-top:5px}.trade-check.disabled{opacity:.45;cursor:not-allowed}.trade-costs{display:flex;align-items:flex-start;gap:12px;padding:17px;background:#eee7d4;border-radius:5px;color:#928052;margin:20px 0}.trade-costs svg{flex:none}.trade-costs b{font-size:11px;font-weight:500}.trade-costs p{font-size:12px;margin:8px 0}.trade-costs small{font-size:10px;line-height:1.65;display:block}.bundle-money{font-family:var(--serif);font-size:34px;font-weight:400;display:block;margin:22px 0}.bundle-tile{display:flex;align-items:center;gap:10px;border-top:1px solid #dfe3d1;padding:12px 0;font-size:11px}.bundle-tile i{width:4px;height:25px;border-radius:2px;flex:none}.bundle-tile small{display:block;font-size:9px;color:#9a977b;margin-top:4px}.trade-column>p:not(.muted){font-size:11px}.toast,.busy-indicator{position:fixed;bottom:25px;left:50%;transform:translate(-50%);padding:14px 20px;display:flex;align-items:center;gap:10px;background:var(--forest);color:#f5f1df;border:1px solid #627755;border-radius:6px;box-shadow:0 6px 25px #0c2a2220;font-size:11px;z-index:100;max-width:calc(100% - 28px)}.busy-indicator{bottom:auto;top:12px;padding:8px 13px;font-size:10px;background:#e9eddc;color:#546d42;border-color:#c2cbb1;pointer-events:none}.modal-error{position:fixed;bottom:15px;left:50%;transform:translate(-50%);background:#f5ded0;color:#874735;max-width:calc(100% - 30px);padding:13px 15px;display:flex;gap:15px;align-items:center;border-radius:5px;z-index:200;font-size:12px;box-shadow:0 3px 20px #0002}.modal-error button{min-width:44px;min-height:44px;color:inherit;padding:0;display:flex}.fatal{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center}.fatal h1{font-size:40px;margin:30px 0 15px}.fatal p{font-size:13px;color:#899275;max-width:400px}.fatal button{background:var(--forest);color:var(--cream);padding:15px 25px;border-radius:5px}.spin{animation:spin 1.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reduced-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(max-width:980px){.landing h1{font-size:44px}.entry-card{padding:20px}.landing-board{height:460px}.lobby{gap:6%;padding:48px 28px}}@media(max-width:760px){.topbar{height:auto;min-height:68px;padding:8px 16px;gap:8px 16px}.brand{font-size:23px}.brand-mark{width:36px;height:43px;font-size:20px}.top-actions{gap:7px}.connection{border:0;padding:0}.help-button{padding-left:0}.help-button span{display:none}.landing{display:flex;flex-direction:column}.landing-copy{padding:32px 24px}.landing h1{font-size:clamp(40px,8vw,56px);letter-spacing:-2px;line-height:1.1;margin:0 0 18px}.landing-facts{gap:16px;margin:20px 0}.entry-card{max-width:none;padding:24px;border-radius:7px}.entry-card h2{font-size:25px}.avatar-picker{gap:4px}.entry-submit{min-height:48px}.landing-stage{min-height:0}.landing-board{height:380px}.lobby{display:flex;flex-direction:column;padding:32px 24px;gap:28px}.lobby-intro{width:100%}.lobby-intro h1{font-size:44px}.lobby-intro>p{max-width:430px}.lobby-intro>.primary{width:100%}.lobby-table{width:100%;padding:24px}.lobby-table h2{font-size:28px}.in-game{height:auto;min-height:100dvh}.game-layout{flex:none;grid-template-rows:auto auto}.in-game .topbar{padding:8px 12px;height:auto;min-height:56px}.in-game .brand{font-size:21px}.players-panel{padding:6px 12px}.player-list{justify-content:flex-start}.player-card{flex:0 0 185px}.game-table{grid-template-columns:minmax(0,1fr);grid-template-rows:auto clamp(320px,58dvh,640px) auto auto}.table-heading{padding:0 12px}.board-tools{gap:0}.game-canvas{min-height:320px}.board-hint{font-size:6px;left:11px;bottom:13px;max-width:55%}.dice-readout{font-size:9px;padding:6px 7px;right:9px;bottom:9px}.dice-readout svg{width:13px}.action-bar{gap:10px;padding:12px}.action-copy{flex-basis:100%;min-width:0}.action-copy p{font-size:12px;line-height:1.6}.context-actions{width:100%;justify-content:stretch}.context-actions .primary{flex:1}.context-actions .secondary{flex:1;white-space:nowrap}.context-actions .danger-text{width:100%;text-align:center}.game-toolbar{justify-content:flex-start;padding:6px 12px}.flat-board{padding:5px;gap:1px}.flat-tile>span{font-size:6px}.flat-tile small{font-size:5px}.flat-center>strong{font-size:52px}.flat-center>span{font-size:7px;letter-spacing:1px}.flat-center p{font-size:8px}.modal{padding:22px;max-height:88dvh}.modal>header{gap:10px;margin-bottom:23px}.modal>header h2{font-size:27px}.modal>header .eyebrow{font-size:7px;letter-spacing:1.4px}.trade-columns{gap:10px;grid-template-columns:1fr}.modal input:not([type=checkbox]),.modal select,.entry-card input{font-size:16px}.trade-column{padding:15px}.trade-column h3{font-size:22px}.trade-check{font-size:10px;gap:6px}.trade-check input[type=checkbox]{width:15px;height:15px}.trade-check small{font-size:8px}.wealth-header{gap:13px;padding:15px}.wealth-header>.avatar{width:38px;height:38px;font-size:23px}.wealth-header strong{font-size:21px}.wealth-header span:not(.avatar){font-size:8px}.modal .button-row>.primary,.modal .button-row>.secondary{flex:1}.deed-summary strong{font-size:21px}.toast{bottom:15px;font-size:10px;width:max-content}.busy-indicator{top:3px;font-size:8px;padding:5px 9px}.error-banner,.offline-banner{padding:12px 18px;font-size:11px}}@media(max-width:400px){.landing-copy{padding:35px 22px 28px}.landing h1{font-size:41px}.landing-facts{gap:15px}.entry-card{padding:20px}.entry-card h2{font-size:23px}.avatar-picker{gap:6px}.avatar-picker .avatar{height:auto;width:100%}.flat-center>strong{font-size:42px}.wealth-header{flex-wrap:wrap}.wealth-header>.avatar{display:none}.modal{padding:19px}.brand{gap:10px}.top-actions{gap:4px}}@media(min-width:761px)and (max-height:600px){.in-game{height:auto;min-height:100dvh}.game-layout{flex:none;grid-template-rows:auto auto}.game-table{grid-template-rows:auto minmax(320px,60dvh) auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
