:root{--ink:#173e32;--green:#187448;--gold:#ecc45e;--muted:#728679;--line:#d9e2d8;--paper:#fffffff0}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink)}body{background:#aecfc8}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:750;transition:transform .15s,background .15s,box-shadow .15s}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#399969;box-shadow:0 0 0 3px #18744812}label{display:block;font-size:11px;font-weight:750;margin:13px 0}label input,label select{margin-top:6px}h1,h2,h3,p{margin:0}p{line-height:1.7}a{color:inherit}#world{position:fixed;inset:0;z-index:0;transition:right .3s}#cityCanvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:grab}#cityCanvas:active{cursor:grabbing}.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#edf6edcc 0%,transparent 46%),linear-gradient(0deg,#f2f7ea55,transparent 60%)}#sceneLoading{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);color:#174d3c;background:#ffffffc9;border-radius:30px;padding:15px 25px;font-size:13px}.topbar{position:relative;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:22px 30px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{text-decoration:none;display:flex;align-items:center;gap:14px}.monopoly-logo{font-weight:950;letter-spacing:1.5px;color:#fff;background:#df302e;border:3px solid white;border-radius:3px;padding:8px 16px;font-size:26px;box-shadow:0 4px 15px #072c2c25;transform:rotate(-3deg)}.brand-note{font-size:10px;letter-spacing:2px;font-weight:800;color:#305c4a}.top-actions{display:flex;align-items:center;gap:16px}.connection{font-size:10px;font-weight:750;color:#42705b;letter-spacing:1px}.glass{background:#ffffffc9;border:1px solid #ffffffcf;backdrop-filter:blur(18px);box-shadow:0 3px 15px #183e3510;color:var(--ink)}.small{font-size:11px;padding:10px 13px}.primary{background:linear-gradient(#289b5a,#167343);box-shadow:0 4px 0 #0d5834;color:white}.outline{background:#eff7ee;border:1px solid #9fb99d;color:var(--ink)}.text-btn{padding:9px;background:transparent;color:var(--muted);font-size:11px}.danger{color:#aa4941}.gold-btn{background:linear-gradient(#ffe098,#ebbd49);color:#3d361a;box-shadow:0 4px 0 #bca13f}.eyebrow,.section-kicker{font-size:9px;letter-spacing:2px;font-weight:850;color:#538769}.home{position:relative;z-index:2;min-height:calc(100vh - 95px);padding:50px 40px 22px;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}.home>*{pointer-events:auto}.welcome{max-width:430px;padding:0 12px}.welcome h1{font-size:clamp(42px,4.9vw,70px);line-height:1.13;letter-spacing:-3px;font-weight:950;color:#113c2b;text-shadow:0 3px 10px #ffffffa0;margin:18px 0}.welcome p{color:#416350;font-size:14px;font-weight:500}.welcome-tags{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.welcome-tags span{font-size:9px;padding:7px 11px;border-radius:30px;border:1px solid #8cb89780;background:#f8fff990;backdrop-filter:blur(10px)}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;max-width:830px;margin-top:35px}.entry-card{background:#ffffffdf;border:1px solid #fffffffa;box-shadow:0 12px 40px #1b5d3820;backdrop-filter:blur(25px);border-radius:16px;padding:23px}.entry-card h2{font-size:22px;margin-top:8px}.entry-card form>button{width:100%;margin-top:5px;display:flex;justify-content:space-between}.field-row{display:flex;gap:10px}.field-row>label{flex:1;min-width:0}.checkbox{display:flex;gap:8px;align-items:center;font-size:10px}.checkbox input{width:auto;margin:0}.home-foot{font-size:9px;color:#4e7055;letter-spacing:1px;margin:25px 10px 0}.camera-tools{position:fixed;right:25px;bottom:25px;z-index:9;display:flex;gap:7px}.camera-tools button{width:40px;height:40px;padding:0;display:grid;place-items:center;font-size:19px;background:#ffffffdf;border:1px solid #ffffffee;color:#265f45;box-shadow:0 4px 12px #173e3222;border-radius:12px}.camera-tools button:last-child{font-size:11px}.in-room #world{right:325px}.in-room .world-vignette{background:linear-gradient(180deg,#f9fff520,transparent 45%,#123d2315)}.in-room .camera-tools{right:345px;bottom:20px}#room{position:relative;z-index:3;pointer-events:none}#room>*{pointer-events:auto}.room-heading{display:flex;justify-content:space-between;align-items:center;margin:3px 25px 0;padding:12px 20px;background:#ffffffc9;backdrop-filter:blur(16px);border:1px solid #ffffffe0;border-radius:13px;pointer-events:auto}.room-heading h1{font-size:19px;margin-top:5px}.room-heading .eyebrow{font-size:8px}.round-tag{margin-left:10px;font-size:10px;font-weight:650;color:#6a8673}.room-tools{display:flex;gap:7px}.game-layout{display:grid;grid-template-columns:1fr 295px;gap:20px;padding:15px 20px;pointer-events:none!important}.game-layout aside{position:absolute;top:98px;right:20px;width:290px;max-height:calc(100vh - 210px);overflow:auto;padding-bottom:20px;pointer-events:auto;scrollbar-width:thin}.board-wrap{position:relative;min-height:calc(100vh - 220px);pointer-events:none}.fallback-board{position:absolute;left:0;bottom:45px;width:420px;pointer-events:none}.board-center{background:#fffffff0;border:1px solid #ffffffe0;border-radius:18px;box-shadow:0 10px 35px #163d3925;backdrop-filter:blur(18px);padding:21px;text-align:left;pointer-events:auto;color:#244d38}.tile{display:none}.center-kicker{font-size:8px;letter-spacing:1.5px;color:#69816c}.center-title{font-size:24px;line-height:1.25;font-weight:900;margin:9px 0}.center-title.gold{color:#195c39}.center-sub{font-size:11px;color:#6c8270;line-height:1.6}.turn-badge{display:inline-block;font-size:10px;margin:12px 0 0;border-left:3px solid;padding-left:8px}.dice-row{display:flex;gap:10px;position:absolute;right:23px;top:22px}.die{width:38px;height:38px;background:#faf7e7;border:1px solid #e5daba;border-radius:8px;display:grid;place-items:center;box-shadow:0 3px 0 #cfbf90;color:#2f5644;font-size:24px}.die svg{width:28px;height:28px}.center-title{padding-right:55px}.center-card{font-size:11px;border-top:1px solid #e0e8db;padding:9px 0 0;margin:10px 0 0;line-height:1.65}.center-card strong{color:#187448}.actions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 0}.actions button{font-size:11px;padding:10px 13px}.timer{font-size:9px;color:#819079;margin-top:14px}.timer strong{color:#a5802a;font-variant-numeric:tabular-nums}.bank-stock{font-size:8px;color:#92a087;margin-top:9px}.auction-input{width:95px;padding:8px;font-size:12px}.scene-hint{position:absolute;bottom:8px;left:5px;font-size:9px;letter-spacing:.5px;color:#2f6048;text-shadow:0 1px 3px white}.panel{background:#fffffff0;border:1px solid #ffffffd9;border-radius:13px;box-shadow:0 5px 20px #0f352b13;padding:13px;margin-bottom:12px;backdrop-filter:blur(20px);pointer-events:auto}.section-title{display:flex;justify-content:space-between;font-size:12px;font-weight:850;margin-bottom:10px}.section-title span{font-size:8px;color:#7e9684;letter-spacing:1px;font-weight:650}.player-card{position:relative;padding:10px 12px;border-radius:9px;border:1px solid #dde5d7;background:#f8fbf3;margin-bottom:6px;transition:box-shadow .2s}.player-card.active{border-color:var(--player);box-shadow:inset 4px 0 0 var(--player)}.player-card.bankrupt{opacity:.5}.pc-heading{font-size:11px;font-weight:800;display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;background:var(--player);border-radius:50%}.tag{margin-left:auto;font-size:8px;font-weight:500;color:#7c8d7c}.pc-money{font-size:20px;font-weight:900;margin:4px 0;font-variant-numeric:tabular-nums}.pc-details{font-size:8px;color:#87947d}.asset-buttons{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px}.asset-buttons button{font-size:8px;padding:4px 5px;border-radius:4px;background:#e8efdf;color:#526d44}.log-panel{max-height:200px;overflow:auto}#eventLog p{font-size:10px;line-height:1.6;border-bottom:1px solid #e6eddc;padding:8px 0}#eventLog time{font-size:8px;color:#83937f;margin-right:7px}.lobby{width:min(660px,calc(100vw - 370px));margin:20px 25px;padding:26px;background:#fffffff0;backdrop-filter:blur(18px);border-radius:17px;box-shadow:0 12px 30px #13412c20}.lobby-header{text-align:center}.lobby-header h2{font-size:26px;margin:10px 0}.lobby-header p{font-size:11px;color:#7b8d75}.lobby-players{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:23px 0}.seat{padding:16px 8px;background:#f7faf1;border:1px solid #e0e7d7;border-radius:10px;text-align:center}.seat.empty{opacity:.55;border-style:dashed}.seat-avatar{width:40px;height:40px;border-radius:12px;margin:0 auto 9px;background:var(--player);color:white;display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 3px 0 #0002}.seat strong{font-size:12px}.seat p{font-size:9px;color:#7a8e76;margin-top:5px}.lobby-controls{display:flex;justify-content:center;gap:8px}.lobby-note{text-align:center;font-size:10px;color:#7e8f77;margin-top:15px}.piece-picker{display:flex;gap:12px;align-items:center;justify-content:center;margin:15px auto 20px}.piece-picker select{width:180px;font-size:12px}.piece-picker label{margin:0}.lobby-chat{position:absolute;right:20px;top:98px;width:290px}.chat-messages{height:170px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.chat-message{margin:10px 0;animation:appear .2s ease}.chat-meta{display:flex;align-items:center;gap:5px;font-size:9px;margin-bottom:5px}.chat-avatar{width:17px;height:17px;color:white;border-radius:5px;display:grid;place-items:center;font-weight:750}.chat-meta strong{overflow:hidden;text-overflow:ellipsis;max-width:140px;white-space:nowrap}.chat-meta time{margin-left:auto;font-size:8px;color:#91a08a}.chat-bubble{margin-left:22px;border:1px solid #e0e8d7;border-radius:0 9px 9px 9px;background:#f0f4e8;padding:8px;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.mine .chat-bubble{background:#e4f2df;border-color:#ccdfbf}.chat-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;gap:7px;color:#98ab91;text-align:center}.chat-empty .art-icon{font-size:30px}.chat-empty strong{font-size:11px}.chat-empty p{font-size:9px}.chat-compose-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.chat-compose-foot span{font-size:9px;color:#87997e}.chat-panel textarea{font-size:11px;resize:vertical;margin-top:10px;min-height:54px;max-height:120px;line-height:1.6}.chat-hint{font-size:8px;color:#95a08b;margin-top:6px}.chat-unread{font-size:9px;background:#187448;color:white;padding:5px 10px;border-radius:20px;margin:7px 0}.too-long{color:#c35346!important}.chat-heading{font-size:12px!important;color:var(--ink)!important;letter-spacing:0!important}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.art-icon{width:1em;height:1em;vertical-align:middle;flex-shrink:0}dialog{width:min(550px,94vw);max-height:86vh;overflow:auto;padding:25px;border:0;border-radius:18px;box-shadow:0 25px 70px #12352a50;background:#fffef7;color:var(--ink)}dialog::backdrop{background:#092e2977;backdrop-filter:blur(5px)}dialog[open]{animation:modal-in .22s ease}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #e4e8d9;margin-bottom:18px}.dialog-head h2{font-size:20px}.close-dialog{font-size:27px;background:transparent;padding:0 6px;color:#8b9a7f}.detail-color{height:35px;border-radius:5px;margin-bottom:20px}.detail-title{display:flex;align-items:center;gap:13px;font-size:27px}.detail-title .art-icon{font-size:38px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.detail-grid div{padding:12px;background:#eff4e6;border-radius:7px;font-size:14px;font-weight:750}.detail-grid small{display:block;font-size:9px;font-weight:500;color:#829374;margin-bottom:5px}.rent-table{width:100%;border-collapse:collapse;font-size:11px;margin:20px 0}.rent-table td{padding:10px;border-bottom:1px solid #e1e9d8}.rent-table tr.current{background:#e6f2dc;color:#216e44;font-weight:800}.detail-actions{display:flex;gap:7px;flex-wrap:wrap}.detail-actions button{font-size:11px;padding:10px 13px}.hint{font-size:10px;line-height:1.8;color:#839076;margin:12px 0}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trade-columns h3{font-size:15px}.check-list label{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:500;margin:8px 0}.check-list input{width:auto;margin:0}.manual{width:min(710px,94vw)}.manual h3{font-size:15px;margin:23px 0 8px}.manual p{font-size:12px;line-height:1.85;color:#62775b;margin:8px 0}.ranking{margin:17px 0}.rank-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #dfe8d5;font-size:12px}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#163f2e;color:white;padding:13px 20px;border-radius:12px;font-size:12px;box-shadow:0 8px 22px #0002;z-index:99999;max-width:90vw}#toast.show{display:block}.in-motion .actions{pointer-events:none;opacity:.5}.in-motion .die{animation:dice-bounce .5s ease}.money-gain{animation:money-up .8s ease}.money-loss{animation:money-down .8s ease}.fallback-board.show-2d{width:min(750px,calc(100vw - 360px));height:auto;aspect-ratio:1;display:grid;grid-template-columns:repeat(11,1fr);grid-template-rows:repeat(11,1fr);gap:3px;padding:6px;background:#d9e5cb;border-radius:10px;position:relative;bottom:auto;pointer-events:auto;box-shadow:0 10px 30px #082b3222}.show-2d .tile{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:9px 2px 4px;min-width:0;background:#fffef4;border:1px solid #c7d5bf;border-radius:4px}.show-2d .board-center{grid-row:2/11;grid-column:2/11;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.show-2d .dice-row{position:static;margin:15px 0}.show-2d .center-title{padding:0}.tile-bar{position:absolute;top:0;left:0;right:0;height:6px}.tile-icon{font-size:28px;color:#406e4f}.tile-name{font-size:9px;font-weight:700}.tile-price{font-size:8px;color:#849175}.buildings{position:absolute;bottom:0;right:2px;font-size:7px}.buildings .art-icon{font-size:9px}.tokens{position:absolute;inset:1px;display:flex;gap:2px;flex-wrap:wrap;align-content:flex-start;pointer-events:none}.token{width:17px;height:17px;border:2px solid white;border-radius:50%;font-size:8px;color:white;display:grid;place-items:center;box-shadow:0 2px 4px #0003}.tile.mortgaged{opacity:.65}.step-glow{outline:2px solid #e1b755}.landed-glow{animation:landed 1s ease}[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes modal-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes dice-bounce{0%{transform:rotate(-10deg) translateY(-8px)}50%{transform:rotate(12deg) translateY(-13px)}100%{transform:none}}@keyframes money-up{20%{color:#259456;transform:translateY(-3px)}100%{transform:none}}@keyframes money-down{20%{color:#c64644;transform:translateX(-2px)}60%{transform:translateX(2px)}100%{transform:none}}@keyframes landed{0%{box-shadow:0 0 0 3px #ebc45a}100%{box-shadow:none}}@media(max-width:1000px){.entry-grid{max-width:670px}.welcome h1{font-size:51px}.home{padding:30px 24px 20px}.brand-note{display:none}.lobby{width:calc(100vw - 360px);padding:20px}.lobby-players{grid-template-columns:repeat(2,1fr)}.board-center{padding:16px}.fallback-board{width:350px}.center-title{font-size:21px}.center-sub{max-width:230px}}@media(max-width:750px){.topbar{padding:15px}.monopoly-logo{font-size:20px;padding:7px 12px}.top-actions{gap:6px}.connection{display:none}.welcome{max-width:320px}.welcome h1{font-size:47px}.welcome p{font-size:12px}.entry-grid{grid-template-columns:1fr;gap:12px;max-width:430px}.home{padding:30px 20px 15px}.entry-card{padding:20px}.welcome-tags{gap:5px}.in-room #world{right:0}.room-heading{margin:0 12px;padding:11px}.room-heading h1{font-size:16px}.room-tools{gap:5px}.room-tools button{font-size:9px;padding:8px}.game-layout{display:block;padding:12px}.game-layout aside{position:relative;top:auto;right:auto;width:100%;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.board-wrap{min-height:65vh}.fallback-board{width:min(370px,90vw);bottom:25px}.scene-hint{bottom:0;font-size:8px}.in-room .camera-tools{right:15px;bottom:15px}.lobby{width:auto;margin:15px 12px;padding:20px}.lobby-chat{position:relative;top:auto;right:auto;width:auto;margin:15px 12px}.chat-panel{grid-column:1/-1}.panel{margin-bottom:0}.fallback-board.show-2d{width:100%;}.show-2d .board-center{padding:8px}.tile-icon{font-size:20px}.tile-name{font-size:7px}.tile-price{font-size:6px}.show-2d .center-title{font-size:20px}.show-2d .die{width:31px;height:31px}.show-2d .center-card{font-size:9px}.show-2d .actions button{font-size:9px;padding:7px}.camera-tools{right:15px;bottom:15px}.world-vignette{background:linear-gradient(90deg,#eff7ecdc,transparent 90%)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Player HUD follows the bottom-row arrangement visible in the publisher's screenshots. */
.house-options{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:7px}.house-options .checkbox{margin:7px 0;font-size:10px}.speed-die{background:#cd3730;color:white;font-size:13px}.actions #speedTarget{max-width:210px;font-size:11px}
@media(min-width:900px){.game-layout aside>.players-panel{position:fixed;left:20px;right:340px;bottom:13px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.game-layout aside>.players-panel>.section-title{display:none}#players{display:flex;gap:8px;justify-content:center;align-items:flex-end}.player-card{flex:1;min-width:0;max-width:200px;padding:10px 11px;border:2px solid #ffffffe0;border-radius:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--player) 72%,white) 0 28px,#e6f1e5ee 28px,#173b33ed 100%);color:white;box-shadow:0 4px 18px #0628274d}.pc-heading{color:white;margin-bottom:9px}.pc-money{font-size:27px;color:#fffbe1;text-shadow:0 2px 2px #1c392b60;margin:5px 0}.pc-details{color:#e7f2da;font-size:8px}.player-card.active{transform:translateY(-9px);box-shadow:0 0 0 2px #ffe680,0 7px 20px #092b3740}.tag{color:#f4fff0}.asset-buttons{max-height:45px;overflow:auto}.asset-buttons button{background:#203f35bb;color:#f0f8e9}.board-wrap .fallback-board:not(.show-2d){bottom:177px;max-width:385px}.scene-hint{bottom:150px}.in-room .camera-tools{bottom:146px}.game-layout aside{top:99px;max-height:calc(100vh - 260px)}.dice-row{gap:6px;right:17px;top:18px}.die{width:32px;height:32px}.die svg{width:23px;height:23px}.center-title{padding-right:68px;font-size:22px}}

/* Board legibility, automatic camera and clear event display. */
.in-room .world-vignette{display:none}.camera-tools #cameraFollow{width:86px;font-size:12px;font-weight:800;padding:4px}.camera-tools #cameraFollow[aria-pressed="true"]{background:#176e48;color:#fff;border-color:#176e48}#soundVolume{width:70px;height:20px;padding:0;border:0;accent-color:#177346;background:transparent}#soundToggle[aria-pressed="false"]{opacity:.7}
#sceneFocus{position:absolute;z-index:2;top:183px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 35px));border:1px solid #bad3c5;border-left:5px solid #197348;background:#ffffffed;box-shadow:0 8px 25px #143e3220;border-radius:12px;padding:13px 17px;pointer-events:none;color:#183f32}#sceneFocus .focus-turn{font-size:12px;font-weight:800;color:#22734d;letter-spacing:.5px}#sceneFocus h2{font-size:24px;line-height:1.3;margin:5px 0}#sceneFocus p{font-size:14px;line-height:1.45;font-weight:600;color:#385e4e}#focusEvent:not(:empty){font-size:14px;line-height:1.45;background:#fff1ca;color:#694917;border-radius:7px;padding:8px 10px;margin-top:9px;font-weight:700}#tokenLabels{position:absolute;inset:0;z-index:1;pointer-events:none}.token-label{position:absolute;transform:translate(-50%,-100%);border:2px solid var(--piece-color);border-radius:7px;color:#163f31;background:#fffef4f2;padding:4px 8px;font-weight:800;font-size:12px;box-shadow:0 2px 8px #102f3930;white-space:nowrap}.token-label.active{font-size:15px;background:var(--piece-color);color:#fff;text-shadow:0 1px 2px #0005}.pc-location{font-size:12px;font-weight:800;line-height:1.3;margin-bottom:7px;color:#fff7ce}.in-room .center-sub{font-size:13px;color:#345e47}.in-room .center-card{font-size:14px;line-height:1.7}.in-room .actions button{font-size:13px}.in-room .timer{font-size:11px;color:#49694b}.board-2d #sceneFocus,.board-2d #tokenLabels{display:none}.board-2d .camera-tools #cameraFollow{opacity:.5}
@media(max-width:750px){#sceneFocus{top:170px;width:calc(100% - 28px);padding:10px 12px}#sceneFocus h2{font-size:19px}#sceneFocus p,#focusEvent:not(:empty){font-size:12px}#soundVolume{width:45px}.top-actions{gap:5px}#soundToggle{font-size:10px;padding:9px}.camera-tools #cameraFollow{width:72px;font-size:10px}.pc-location{font-size:11px}}

#sceneFocus{position:sticky;top:0;left:auto;transform:none;width:100%;margin-bottom:12px;z-index:4;pointer-events:auto;padding:14px;background:#fffdf6}#sceneFocus h2{font-size:21px}#sceneFocus p{font-size:14px}.board-wrap .fallback-board:not(.show-2d){max-width:340px}.pc-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-room .camera-tools{right:345px;bottom:166px}.game-layout aside{max-height:calc(100vh - 240px)}#testModeBtn{width:100%;margin-top:12px}.board-2d #sceneFocus{display:block}
@media(max-width:750px){#sceneFocus{top:0;grid-column:1/-1;width:100%;margin:0 0 10px}.in-room .camera-tools{right:15px;bottom:15px}.game-layout aside{max-height:none}.board-wrap .fallback-board:not(.show-2d){max-width:90vw}}

#testTools{border-top:1px solid #cfddce;margin-top:12px;padding-top:3px}#testTools label{font-size:12px;margin:8px 0}#testTools select{padding:7px;margin-top:3px;font-size:12px}#testTools .test-note{font-size:11px;margin-top:8px;color:#567562}#sceneFocus:has(#testTools:not([hidden])){position:relative}

/* Reserve real space for the map; controls never float over playing cells. */
#play aside>.board-center{position:relative;width:100%;margin-bottom:12px;padding:16px;overflow-wrap:anywhere}
#play aside>.board-center .dice-row{position:static;gap:10px;margin:13px 0 5px;flex-wrap:wrap}
#play aside>.board-center .die{width:44px;height:44px;flex-shrink:0;font-size:28px}
#play aside>.board-center .die svg{width:32px;height:32px}
#play aside>.board-center .center-title{padding-right:0;font-size:21px}
#play aside>.board-center .center-sub{max-width:none}
#sceneFocus{position:sticky;top:0;z-index:4}
#tokenLabels{overflow:hidden}
@media(min-width:900px){
 .in-room.game-playing:not(.board-2d) #world{top:175px;bottom:180px;left:20px;right:330px;border:1px solid #b2c8ba;border-radius:16px;overflow:hidden}
 .in-room.game-playing .game-layout aside{position:fixed;top:175px;bottom:18px;right:20px;width:290px;max-height:none;padding-bottom:0;overscroll-behavior:contain}
 .in-room.game-playing .board-wrap .fallback-board:not(.show-2d){display:none}
 .in-room.game-playing .camera-tools{right:345px;bottom:128px}
 .in-room.game-playing .scene-hint{bottom:140px}
 .in-room.game-playing .players-panel{max-height:148px;overflow:auto}
}
@media(max-width:899px){
 .in-room.game-playing:not(.board-2d) #world{top:175px;bottom:auto;left:12px;right:12px;height:46vh;min-height:230px;border-radius:12px;overflow:hidden}
 .in-room.game-playing .board-wrap{min-height:max(46vh,230px)}
 .in-room.game-playing .game-layout{display:block;padding:12px}
 .in-room.game-playing .game-layout aside{position:relative;top:auto;right:auto;width:100%;max-height:none;display:flex;flex-direction:column;gap:12px;margin-top:25px}
 .in-room.game-playing .game-layout aside>*{margin-bottom:0}
 .in-room.game-playing .players-panel{position:static}
 .in-room.game-playing .camera-tools{position:absolute;top:calc(175px + max(46vh,230px) - 44px);bottom:auto;right:22px;gap:4px}
 .in-room.game-playing .camera-tools button{width:32px;height:32px}
 .in-room.game-playing .scene-hint{display:none}
}

.token-label{transform:translate(-50%,0)}
.in-room.game-playing .game-layout aside{scroll-padding-top:185px}

/* Emerald table, warm paper and readable controls. */
:root{--ink:#163d35;--green:#176b4a;--gold:#e3bb67;--muted:#587065;--line:#d1ddd2;--paper:#fffdf5}
body{background:radial-gradient(ellipse at 32% 12%,#345d51 0%,#1c3c35 57%,#112c29 100%)}
.topbar{padding:21px 26px}.brand-note{color:#d8e6d6;font-size:11px;letter-spacing:1px}.connection{font-size:11px;color:#e0eadc;letter-spacing:0}.connection.online{color:#e0eadc}
.monopoly-logo{background:linear-gradient(145deg,#f14e42,#c82f2e);border-color:#fff8e7;box-shadow:0 5px 0 #782e2855,0 12px 24px #061d2733;letter-spacing:1px}
.glass,.camera-tools button{background:#fffdf5;border-color:#dfdfc9;color:#24473c;box-shadow:0 4px 12px #03191425}
.glass:hover:not(:disabled),.camera-tools button:hover:not(:disabled){background:#fff8dc;box-shadow:0 6px 16px #03191435}
.room-heading{background:linear-gradient(110deg,#fffcf2,#e8f0e5);border-color:#dddcc6;border-radius:14px;box-shadow:0 6px 16px #071f2024;padding:12px 20px}
.room-heading .eyebrow{font-size:10px;letter-spacing:1.4px;color:#457563}.room-heading h1{font-size:21px;font-weight:850;letter-spacing:.2px}.round-tag{display:inline-block;padding:5px 10px;background:#dbe8d9;border-radius:20px;color:#365844;font-size:11px}
.panel,.board-center,.entry-card,.lobby{background:#fffdf5;border:1px solid #e0dfca;box-shadow:0 8px 24px #061e2426;backdrop-filter:none}
.panel{padding:16px;border-radius:14px}.section-title{font-size:14px}.section-title span{font-size:10px;color:#586f60}
#sceneFocus{border:1px solid #e0dfca;border-left:5px solid var(--active-color,#28764f);border-radius:14px;background:linear-gradient(125deg,#fffdf5,#eef3e8);box-shadow:0 5px 18px #051f2020;padding:14px 16px}
#sceneFocus .focus-turn{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#3a6755}
#sceneFocus .focus-turn::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:var(--active-color,#28764f);box-shadow:0 0 0 3px #44734b15}
#sceneFocus h2{font-size:21px;line-height:1.35;font-weight:900;margin:7px 0}.in-room #sceneFocus p{font-size:13px;font-weight:600;line-height:1.55;color:#496253}
#focusEvent:not(:empty){font-size:12px;padding:9px 10px;border:1px solid #e8d49b;background:#fff0c9;color:#71541e;box-shadow:inset 3px 0 #ddb959}
#sceneFocus[data-phase="DEBT"]{border-left-color:#c16b4d}#sceneFocus[data-phase="AUCTION"]{border-left-color:#547faf}#sceneFocus[data-phase="TRADE"]{border-left-color:#9577a7}
#play aside>.board-center{border-top:4px solid var(--tile-color,#2b7655);border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 7px 18px #08252729}
.center-kicker{font-size:9px;letter-spacing:1px;color:#6b7258}.center-title{letter-spacing:-.4px}.in-room .center-sub{font-size:13px;line-height:1.6;color:#536b5b}.turn-badge{padding:5px 9px;background:#e9f0e5;border-radius:0 6px 6px 0;font-size:11px}
#play aside>.board-center .dice-row{gap:12px;margin:14px 0 12px;padding:0}
#play aside>.board-center .die{width:49px;height:49px;border-radius:11px;border:1px solid #d5ceb7;background:linear-gradient(150deg,#fffefa,#f0e9d4);color:#1c4536;box-shadow:inset 0 2px 0 white,0 4px 0 #c6b98e,0 7px 10px #244a3218}
#play aside>.board-center .speed-die{background:linear-gradient(145deg,#e5654b,#b43130);border-color:#a6362f;color:#fff7dd;box-shadow:inset 0 1px 0 #ffffff70,0 4px 0 #882b2b,0 7px 10px #244a3218}
.die-question{font-size:28px;opacity:.65}.center-card{background:#eef2e8;border:1px solid #dce5d8;border-radius:9px;padding:10px 11px;margin-top:13px}.in-room .center-card{font-size:13px;line-height:1.65}
.actions{gap:9px;margin-top:15px}.in-room .actions button{min-height:40px;font-size:13px;padding:10px 14px;line-height:1.3}.gold-btn{background:linear-gradient(135deg,#ffe4a0,#e5b75c);border:1px solid #e5c073;color:#4b371a;box-shadow:0 3px 0 #ad8541,0 6px 12px #51361a17}.primary{background:linear-gradient(135deg,#2b9564,#176447);box-shadow:0 3px 0 #104b35,0 6px 12px #16443222}.outline{background:#eef3e8;border-color:#c0d0bd;color:#355c46}
.bank-stock{font-size:10px;line-height:1.5;color:#566b55;margin-top:15px;padding-top:10px;border-top:1px solid #e2e5d3}.timer{padding:8px;background:#f5ecd4;border-radius:7px;font-size:11px}.timer strong{color:#8c5c1b}
#testTools{padding:12px 14px 14px;background:#edf3e8;border:1px solid #d0deca;border-radius:12px;margin-bottom:14px}#testTools label{color:#3d5c47;font-size:12px}#testTools select{background:#fffef6;border-color:#c8d5be;min-height:36px}#testTools button{width:100%}
.pc-avatar{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;background:color-mix(in srgb,var(--player) 20%,white);color:color-mix(in srgb,var(--player) 65%,#16372b);border:1px solid #ffffff90}.pc-avatar .art-icon{width:21px;height:21px;stroke-width:1.8}.pc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pc-heading{font-size:12px;gap:7px}.tag{white-space:nowrap;font-size:9px}.pc-details{font-size:10px;line-height:1.5}.pc-details>span{display:block}.pc-location{font-size:12px}
.chat-meta{font-size:11px}.chat-avatar{width:24px;height:24px;font-size:12px}.chat-bubble{margin-left:29px;padding:10px 12px;font-size:13px;background:#eef3e8;color:#294a39}.chat-meta time{font-size:9px;color:#647762}.chat-panel textarea{font-size:13px}.chat-empty{color:#6c8265}.chat-empty strong{font-size:13px}.chat-empty p{font-size:11px}.chat-empty .art-icon{font-size:38px}.chat-compose-foot span,.chat-hint{font-size:10px;color:#64785b}
#eventLog p{font-size:12px;color:#365541;line-height:1.6}#eventLog time{font-size:10px;color:#758571}.log-panel{background:#f5f7ec}
.token-label{font-size:12px;padding:5px 9px;border-radius:9px;border-width:1px;box-shadow:0 3px 10px #092e2f33}.token-label.active{font-size:13px;background:color-mix(in srgb,var(--piece-color) 75%,#17352e);border:2px solid #fff7d7}
.show-2d .tile{background:linear-gradient(#fffef8,#f0f3e8);border-color:#b6c9b0;border-radius:6px}.show-2d .tile-icon{color:#245942}.show-2d .tile-name{color:#193e2c}.show-2d .tile-price{color:#50664b}.show-2d .board-center{background:#f4f5e9}
.entry-card{border-radius:18px;padding:25px}.entry-card h2{font-size:24px}.entry-card label{font-size:12px}.welcome h1{color:#fff6dc;text-shadow:0 4px 18px #09292955}.welcome p{color:#eff3dc;text-shadow:0 2px 5px #09362a66}.welcome .eyebrow{color:#e3d6ab}.welcome-tags span{background:#fff9e3e8;border-color:#eadcb7;color:#315b46;font-size:11px}.home-foot{color:#e1e9d3;font-size:10px}.world-vignette{background:linear-gradient(90deg,#163e34e6 0%,#1d473982 30%,transparent 62%)}
input,select,textarea{border-color:#cdd9c5;border-radius:9px;background:#fffef8}.hint,.lobby-header p,.lobby-note{color:#607458}.manual p{font-size:13px;color:#415c48}.manual h3{color:#164c34}.detail-grid small{color:#61765a;font-size:11px}.rent-table{font-size:13px}.detail-grid div{background:#eef3e4}.dialog-head{border-color:#d4dfca}dialog{background:#fffdf4}.close-dialog{color:#517159}
@media(min-width:900px){
 .in-room.game-playing:not(.board-2d) #world{left:84px;border:1px solid #789a7c;border-radius:16px;box-shadow:0 14px 35px #071c2438}
 .in-room.game-playing .camera-tools{left:20px;right:auto;top:190px;bottom:auto;display:flex;flex-direction:column;gap:10px}
 .in-room.game-playing .camera-tools button{width:46px;height:46px;border-radius:12px}
 .in-room.game-playing #cameraTools #cameraFollow{width:46px;font-size:11px;line-height:1.3;padding:7px}
 .in-room.game-playing .scene-hint{left:64px;font-size:11px;color:#e1e9ce;text-shadow:none}
 .game-layout aside>.players-panel{left:84px;right:330px;bottom:13px;overflow:visible;max-height:163px}
 #players{gap:10px;align-items:stretch}.player-card{padding:10px 11px;border-radius:13px;background:linear-gradient(145deg,#214b40,#122f2b);border:1px solid #91a87a77;color:#f1f5e3;box-shadow:0 7px 16px #071c2438;max-width:218px}
 .player-card.active{transform:none;border:2px solid #e9c878;box-shadow:0 0 0 2px #e9c87820,0 8px 18px #071c2440}
 .pc-heading{margin-bottom:6px}.pc-money{font-size:27px;line-height:1.05;margin:4px 0 6px;text-shadow:none}.pc-location{color:#e9c878;margin-bottom:3px}.pc-details{color:#bdceba;font-size:9px;line-height:1.4}.tag{color:#d5e3cb}
 .asset-buttons{max-height:30px;overflow:auto;margin-top:6px;scrollbar-width:thin}.asset-buttons button{font-size:9px;padding:4px 6px;background:#ffffff12;color:#eaf0db;border:1px solid #ffffff12}
 .in-room.game-playing .game-layout aside{scrollbar-color:#8da785 transparent;padding-right:4px}
}
@media(max-width:899px){.brand-note{display:none}.room-heading h1{font-size:17px}.round-tag{font-size:10px;padding:4px 7px}.in-room.game-playing #world{border:1px solid #86a58b;box-shadow:0 8px 25px #091c2430}.in-room.game-playing .camera-tools button{box-shadow:0 2px 6px #123b2630}.player-card{background:#fffdf5}.pc-location{color:#4c7250}.pc-details{color:#5f7258}.tag{color:#526d53}.welcome h1{font-size:45px}.welcome-tags span{font-size:10px}}

/* The live event card has its own space above the scrolling action rail. */
@media(min-width:900px){
 .in-room.game-playing #sceneFocus{position:fixed;top:175px;right:24px;left:auto;width:286px;margin:0;z-index:5}
 .in-room.game-playing .game-layout aside{top:calc(175px + var(--focus-height,150px) + 12px);scroll-padding-top:12px}
}
@media(max-width:899px){#sceneFocus{position:relative;top:auto}}

@media(min-width:900px){.in-room.game-playing .game-layout aside>.players-panel{max-height:163px;overflow:visible}.in-room.game-playing .scene-hint{display:none}}
@media(min-width:900px){
 .in-room.game-playing:not(.board-2d) #world{bottom:200px}
 .in-room.game-playing .game-layout aside>.players-panel{max-height:none;margin-bottom:0}
 .in-room.game-playing .player-card{margin-bottom:0}
 .in-room.game-playing .pc-money{font-size:clamp(18px,2.1vw,27px)}
}
/* 2D uses a scrolling board and sidebar assets, with no map behind it. */
.in-room.board-2d #world{visibility:hidden}
@media(min-width:900px){
 .in-room.game-playing.board-2d .board-wrap{margin-left:64px}
 .in-room.game-playing.board-2d .fallback-board.show-2d{width:min(750px,calc(100vw - 440px))}
 .in-room.game-playing.board-2d .game-layout aside>.players-panel{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin-bottom:14px;overflow:visible}
 .in-room.game-playing.board-2d #players{flex-direction:column}
 .in-room.game-playing.board-2d .player-card{max-width:none;flex:none}
}
@media(max-width:899px){.in-room.game-playing.board-2d .camera-tools{position:relative;top:auto;right:auto;bottom:auto;left:auto;margin:10px 12px;justify-content:flex-end}}
.show-2d .tile{padding-top:7px;padding-bottom:18px}
.show-2d .tile.property .tile-icon,.show-2d .tile.rail .tile-icon,.show-2d .tile.utility .tile-icon{display:none}
.show-2d .tile-name{font-size:8px;line-height:1.25}.show-2d .tile-price{font-size:8px;line-height:1.25}
.show-2d .tokens{inset:auto 2px 2px;justify-content:center;max-height:15px;overflow:hidden}
.show-2d .token{width:15px;height:15px;font-size:8px}
.token-group{display:block;padding:1px 5px;border:1px solid #d3bc72;border-radius:4px;background:#fff1bd;color:#5a451b;font-size:9px;font-weight:850;line-height:12px;white-space:nowrap}
.show-2d .buildings{bottom:2px;right:3px}.show-2d .tile:has(.token-group) .buildings{right:auto;left:3px}
.show-2d .tile{padding-top:14px}
.show-2d .buildings,.show-2d .tile:has(.token-group) .buildings{top:1px;bottom:auto;left:auto;right:3px;line-height:9px;padding:1px 3px;background:#fff4d0;border-radius:3px}
@media(min-width:900px){.in-room.game-playing.board-2d .board-wrap{max-width:calc(100vw - 440px);overflow:auto}.in-room.game-playing.board-2d .fallback-board.show-2d{width:750px;min-width:750px}}

/* Every balance lives outside the scrolling asset/chat rail. */
#playerBalances{pointer-events:auto;padding:9px 10px;background:#173e35;border:1px solid #6d8e72;border-radius:13px;box-shadow:0 5px 15px #081f2525;color:#fff9df}
.balance-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;line-height:16px;margin-bottom:7px;color:#e2eacf}.balance-heading>span{font-size:10px;color:#abc7ad;font-weight:500}
.balance-list{display:grid;grid-template-columns:repeat(var(--balance-count,6),minmax(0,1fr));gap:7px}
.balance-card{min-width:0;padding:5px 8px;background:#ffffff08;border-left:3px solid var(--player);border-radius:6px}.balance-card.active{background:#ead18c20}.balance-card.bankrupt{opacity:.65}
.balance-name{display:block;font-size:11px;line-height:15px;color:#d5e6cb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-value{display:block;font-size:clamp(14px,1.65vw,21px);line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff5d4}
@media(min-width:900px){
 .in-room.game-playing #playerBalances{position:fixed;top:175px;left:84px;right:330px;z-index:4}
 .in-room.game-playing:not(.board-2d) #world{top:calc(175px + var(--balance-height,83px) + 12px);bottom:20px}
 .in-room.game-playing .camera-tools{top:calc(175px + var(--balance-height,83px) + 12px)}
 .in-room.game-playing .game-layout aside>.players-panel{position:relative;left:auto;right:auto;bottom:auto;width:100%;max-height:none;overflow:visible;margin-bottom:14px}
 .in-room.game-playing #players{display:flex;flex-direction:column;gap:9px}
 .in-room.game-playing .player-card{max-width:none;flex:none}
 .in-room.game-playing.board-2d .board-wrap{padding-top:calc(var(--balance-height,83px) + 12px)}
}
@media(max-width:899px){
 #playerBalances{position:relative;margin:12px;z-index:4}
 .balance-list{grid-template-columns:repeat(3,minmax(0,1fr))}.balance-value{font-size:18px}
 .in-room.game-playing:not(.board-2d) #world{top:calc(190px + var(--balance-height,130px))}
 .in-room.game-playing .camera-tools{top:calc(190px + var(--balance-height,130px) + max(46vh,230px) - 44px)}
 .in-room.game-playing.board-2d .camera-tools{top:auto}
}

/* Property cards and a cash comparison make the offer reviewable before acceptance. */
.trade-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;text-align:left}.trade-offer-side{min-width:0;padding:12px;background:#f4f6e9;border:1px solid #c2d3ba;border-radius:12px}.trade-offer-side h3{font-size:13px;overflow-wrap:anywhere}.trade-offer-cash{font-size:23px;font-weight:900;margin:10px 0}.trade-offer-cash small{display:block;font-size:11px;font-weight:600;color:#5a7460}.trade-deeds{display:grid;gap:7px}.trade-deed{background:#fffef8;border:1px solid #cfdbc7;border-top:9px solid var(--deed-color);border-radius:7px;padding:8px;display:grid;gap:4px;overflow-wrap:anywhere}.trade-deed strong{font-size:12px}.trade-deed span,.trade-deed small{font-size:10px;color:#576d57}.trade-after{font-size:11px;margin-top:12px;line-height:1.6}.trade-after strong{font-size:16px}.trade-warning{padding:10px;border:1px solid #d1a06d;border-radius:8px;background:#fff0d9;color:#8b4724;font-size:12px;line-height:1.6}.trade-preview{background:#eef5e7;border:1px solid #bdd0af;border-radius:10px;padding:12px;margin:14px 0;font-size:13px}.trade-preview p{margin-top:6px}#tradeDialog .check-list label:has(input:disabled){opacity:.55}#tradeDialog .check-list label{overflow-wrap:anywhere}#pauseBtn{margin-right:8px}.trade-offer-side .hint{font-size:11px}@media(max-width:420px){.trade-offer-grid{grid-template-columns:1fr}}
/* Keep dialog titles and close controls visible while long content scrolls. */
dialog[open]{display:flex;flex-direction:column;overflow:hidden;padding:0}dialog>.dialog-head{flex:none;padding:18px 22px;margin:0;background:#fffdf4;z-index:2}dialog>.manual-content,dialog>#detailContent,dialog>#tradeForm{overflow:auto;min-height:0;padding:18px 22px 24px;overscroll-behavior:contain}#tradeDialog{width:min(720px,94vw)}.trade-draft-stale{color:#954721;background:#fff0db;border-radius:8px;padding:10px}.check-list input:disabled{cursor:not-allowed}#tradePreview .trade-warning{margin-top:8px}

.show-2d .tile-owner{display:block;max-width:95%;font-size:8px;line-height:1.15;font-weight:900;color:#183c30;border-left:3px solid var(--owner-color);padding-left:3px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-2d .tile:has(.tile-owner)>.tile-icon{display:none}

.room-directory{max-width:830px;width:100%;margin-top:26px;pointer-events:auto}.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.directory-heading h2{font-size:20px}.directory-room{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid #d9e4d5}.directory-room strong{font-size:15px}.directory-room span{display:block;font-size:12px;color:#58705d;margin-top:5px}.directory-room button{flex-shrink:0}.pending-join{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:830px;padding:16px;margin-top:20px;border-radius:12px;background:#fff4cd;border:1px solid #d7c37b;pointer-events:auto}.pending-join[hidden]{display:none}.join-inbox-content{overflow:auto;min-height:0;padding:18px 22px 24px}.join-request{padding:16px 0;border-bottom:1px solid #d9e4d5}.join-request strong{font-size:18px}.join-request button{margin:10px 8px 0 0}#joinInboxBtn:not([hidden]){background:#fff0bd;border:1px solid #d5b54e;color:#574218}.balance-list{display:flex;overflow-x:auto}.balance-card{flex:1 0 115px;min-width:115px}input[readonly]{background:#eef3e9;color:#5b715b}@media(max-width:600px){.directory-room{align-items:flex-start}.directory-room span{max-width:190px}.pending-join{align-items:flex-start;flex-direction:column}.top-actions{flex-wrap:wrap}}
#roomList{max-height:320px;overflow:auto;margin-top:12px;scrollbar-color:#9bad95 transparent}

.transfer-host-content{overflow:auto;min-height:0;padding:18px 22px 24px}.room-actions{display:flex;flex-wrap:wrap;gap:8px}

.brand-meta{display:flex;flex-direction:column;gap:5px;min-width:0}.build-version{font-size:10px;line-height:1.4;font-weight:600;color:#426554;letter-spacing:0;overflow-wrap:anywhere;max-width:230px}@media(max-width:600px){.build-version{font-size:9px;max-width:160px}}

.connection{max-width:260px;line-height:1.6}@media(max-width:600px){.connection{max-width:145px;letter-spacing:0}}
.more-tools{position:relative}.more-tools summary{cursor:pointer;padding:10px 14px;background:#ffffffdf;border-radius:10px;font-size:12px;font-weight:750}.more-tools-content{position:absolute;right:0;top:44px;display:flex;flex-direction:column;gap:12px;min-width:180px;padding:16px;background:#fffff5;box-shadow:0 8px 24px #173e3230;border-radius:12px;z-index:30}.more-tools:not([open]) .more-tools-content{display:none}.flow-content{padding:20px;overflow:auto}.flow-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.turn-notice{position:fixed;top:110px;left:50%;transform:translateX(-50%);z-index:9;padding:10px 18px;width:max-content;max-width:94%;background:#edf4e7;border-radius:12px;font-weight:800;color:#305442;pointer-events:none}.turn-notice[hidden]{display:none}.turn-notice.your-turn{background:#ffe7a0;border:1px solid #cba94e}.rank-row{flex-wrap:wrap}.rank-row small{flex-basis:100%;font-size:11px;color:#536c56}dialog{max-width:94vw;max-height:88dvh}.more-tools-content input{max-width:150px}
@media(max-width:700px){.topbar{padding:14px;gap:12px;align-items:flex-start}.top-actions{gap:8px}.monopoly-logo{font-size:18px;padding:7px 10px}.brand{gap:9px}.brand-note{letter-spacing:0}.room-heading{padding:14px;flex-wrap:wrap;gap:12px}.room-tools{display:flex;flex-wrap:wrap;gap:8px}.game-playing{padding-bottom:150px}.game-playing .board-center .actions{position:fixed;bottom:0;left:0;right:0;z-index:25;margin:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#fffdf3f5;box-shadow:0 -4px 20px #173e3220;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-height:35dvh;overflow:auto}.game-playing .board-center .actions:empty{display:none}.board-center .actions button{min-height:44px}.trade-columns,.trade-offer-grid{grid-template-columns:1fr}dialog>.dialog-head{padding:14px}dialog>#tradeForm{padding:14px}.turn-notice{font-size:12px;top:90px}.flow-actions button{flex:1;min-width:140px}}

/* A consistent paper-and-felt finish across the game interface. */
:root{--ink:#193f35;--green:#207650;--gold:#e5c17a;--muted:#647b6c;--line:#d6dfd1}
body{background:#b8d2c5}
.topbar{background:linear-gradient(180deg,#f8faefed,#f8faef00)}
.monopoly-logo{background:#c73935;border-radius:5px;letter-spacing:1.8px;box-shadow:0 3px 0 #912e2a,0 7px 18px #163e3020}
.brand-note{color:#426552}.build-version{color:#5e7664}
.entry-card,.room-directory,.lobby,.panel{border:1px solid #ffffffe0;background:linear-gradient(145deg,#fffef6f5,#edf3e8f5);box-shadow:0 8px 24px #163e3014,inset 0 1px #fff}
.entry-card{border-radius:20px}.entry-card h2{letter-spacing:-.5px}.entry-card label{color:#526d5d}
input,select,textarea{border-color:#cbd8c8;background:#fffef9;border-radius:10px;box-shadow:inset 0 2px 3px #173e3205}
button{transition:background .15s,box-shadow .15s,border-color .15s;touch-action:manipulation}
button:hover:not(:disabled){transform:none;filter:brightness(1.04)}
button:active:not(:disabled){transform:none;filter:brightness(.96)}
.primary{background:linear-gradient(180deg,#2b8a5c,#1a6845);border:1px solid #175438;box-shadow:0 3px 0 #12482f,inset 0 1px #ffffff40}
.gold-btn{background:linear-gradient(180deg,#f9df9e,#e9bf65);border:1px solid #bb9349;color:#45361c;box-shadow:0 3px 0 #a67f3c,inset 0 1px #fff7dc}
.primary:active:not(:disabled),.gold-btn:active:not(:disabled){box-shadow:0 1px 0 #37543b,inset 0 2px 4px #0002}
.outline{background:#f2f6eb;border:1px solid #b7cbb3;box-shadow:inset 0 1px #fff;color:#305940}
button:disabled{opacity:.48;filter:saturate(.35)}
/* Animation is presentational; it must not intercept an action click. */
.in-motion .actions{pointer-events:auto;opacity:1}
#sceneFocus{border:1px solid #c7d6bd;border-left:4px solid var(--active-color,#287750);background:linear-gradient(140deg,#fffef6,#f0f5e8);box-shadow:0 4px 16px #163e3010;border-radius:15px}
#sceneFocus .focus-turn{font-size:11px;letter-spacing:.8px;color:#647b60}#sceneFocus h2{letter-spacing:-.5px;color:#244e3a}#sceneFocus p{line-height:1.7;font-size:13px;color:#516a54}
#focusEvent:not(:empty){background:#f5e8c7;border:1px solid #e6d3a2;color:#71562c;font-size:12px}
#play aside>.board-center{border:1px solid #d4dfca;background:linear-gradient(145deg,#fffef6,#f1f5e8);border-radius:16px;box-shadow:0 5px 18px #153e3012}
.center-title{letter-spacing:-.5px}.in-room .center-sub{line-height:1.8;color:#5c735e}.die{border:1px solid #e5dfc9;box-shadow:0 3px 0 #d5ceb7,0 5px 10px #173e3212;border-radius:11px}
#playerBalances{background:linear-gradient(120deg,#173e33,#285447);border-color:#537b63;box-shadow:0 5px 18px #163e3020}
.balance-card{border-radius:9px;background:#ffffff09;padding:8px 10px}.balance-card.active{background:#e5c17a1c;box-shadow:inset 0 0 0 1px #e5c17a50}.balance-value{letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.player-card{border-radius:13px!important}.player-card.active{transform:none!important;border-color:#dfc37e!important}.asset-buttons button{border-radius:6px;padding:6px 8px}
#detailDialog{border:1px solid #e0dcc9;border-radius:20px;background:#fffcf2}dialog::backdrop{background:#102d285e;backdrop-filter:blur(4px)}
dialog>.dialog-head{background:#f4f3e7;border-bottom:1px solid #e0e3d1}.dialog-head h2{font-size:17px;letter-spacing:.4px}.close-dialog{border:1px solid #d1d9c6;border-radius:50%;width:32px;height:32px;line-height:26px;font-size:23px;background:#fffdf5}
.detail-color{height:15px;border-radius:5px;margin-bottom:18px;box-shadow:inset 0 1px 2px #0002}.detail-title{font-size:26px;letter-spacing:-.6px}.detail-title .art-icon{font-size:31px;color:#456d50}
.detail-grid{gap:10px;margin:20px 0}.detail-grid div{border:1px solid #dde5d1;background:#f3f5e9;padding:14px;border-radius:11px;font-size:18px;font-variant-numeric:tabular-nums}.detail-grid small{font-size:11px;color:#64775d;margin-bottom:7px}
.rent-table{font-size:12px}.rent-table td{padding:11px 12px}.rent-table tr.current{background:#e2edcf;color:#285c39}.rent-table tr.current td:first-child{box-shadow:inset 3px 0 #608d44}
.detail-actions{gap:10px;border-top:1px solid #e1e5d4;padding-top:16px}.detail-actions button{min-height:44px;flex:1 1 145px;font-size:12px}.asset-reasons{width:100%;background:#f0f2e4;border-radius:9px;padding:10px 12px;color:#5e6e51!important}.hint{color:#687b5f}
.turn-notice.your-turn{background:#f8e8b9;border-color:#d8b974;box-shadow:0 4px 14px #725b1b15}
#toast{border:1px solid #6d8c6a;box-shadow:0 8px 24px #102d2833;line-height:1.7}
@media(max-width:700px){.entry-card{border-radius:16px}.detail-grid div{padding:12px;font-size:16px}.detail-title{font-size:23px}.game-playing .board-center .actions{border-top:1px solid #d8dec9;background:#fcfbf0fa}.detail-actions button{flex-basis:120px}}

/* Quiet engraved edges, clearer numbers, and compact mobile drawers. */
.room-heading{border:1px solid #f8fbebaa;border-radius:14px;background:linear-gradient(110deg,#fafbefef,#e9f1e2e0);box-shadow:0 3px 15px #123f3010}
.room-heading h1{font-variant-numeric:tabular-nums;letter-spacing:.5px}.round-tag{border:1px solid #d4dcc4;background:#f5f4df;color:#6a7553}
.section-title{font-size:12px;letter-spacing:.5px;color:#66795e}.panel{border-radius:15px}.panel-fold{display:none}
.token-label{border-width:1px;border-radius:8px;padding:5px 9px;background:#fffdf1f5;box-shadow:0 2px 0 #163e3218,0 5px 12px #163e3218}.token-label.active{box-shadow:0 0 0 2px #fff9e3c0,0 5px 16px #163e3228}
.pc-location{letter-spacing:.2px}.pc-money,.balance-value,.rank-row strong{font-variant-numeric:tabular-nums}.player-card{box-shadow:0 3px 12px #102f2820!important}
.show-2d .tile{background:linear-gradient(145deg,#fffef5,#f0efdf);box-shadow:0 1px 2px #173e3218;border-color:#b9c9ad}.show-2d .tile.rail{border-bottom:3px solid #476f60}.show-2d .tile.jail{background:linear-gradient(135deg,#dbc9aa 50%,#f1f1df 50%)}
.show-2d .tile.goJail{background:linear-gradient(145deg,#f8ebdc,#ead9ca)}.show-2d .tile.go{background:linear-gradient(145deg,#fff6d6,#edf1dc)}
#eventLog p{border-left:2px solid #d4dfc7;padding-left:9px;margin:6px 0;line-height:1.75}#eventLog time{font-variant-numeric:tabular-nums;color:#839179}
.chat-messages{scrollbar-width:thin;scrollbar-color:#b4c5a9 transparent}.chat-bubble{border:1px solid #dde5d0;border-radius:11px;box-shadow:0 2px 4px #173e3205}
.more-tools-content{border:1px solid #dce3cc;background:#fffdf2}.manual h3{padding-bottom:8px;border-bottom:1px solid #dce3cc}.manual p{color:#526b52}
@media(max-width:899px){
 .panel-fold{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:36px;padding:7px 10px;background:#e9efdc;border:1px solid #bccfad;border-radius:8px;font-size:11px;color:#365b3c;letter-spacing:0;margin-left:auto}
 .game-playing .panel[data-folded="true"]>:not(.section-title){display:none!important}
 .game-playing .panel[data-folded="true"]{padding-bottom:12px}.game-playing .panel[data-folded="true"] .section-title{margin-bottom:0}
 .game-layout aside{gap:12px}.room-heading{margin-top:8px}.balance-card{flex-basis:105px;min-width:105px}
}

/* Enlarged scenery keeps the existing controls available and exits with Escape. */
.scenic-view #world{position:fixed!important;inset:12px!important;width:auto!important;height:auto!important;z-index:80!important;border-radius:18px;box-shadow:0 0 0 20px #183c35}
.scenic-view .camera-tools{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:26px!important;transform:translateX(-50%);z-index:85!important;background:#fffdf1eb;padding:7px;border-radius:14px;box-shadow:0 5px 24px #172a3540}
.scenic-view #focusHud,.scenic-view .scene-hint{display:none!important}
.scenic-view .board-center .actions{z-index:86!important}

/* 2024 city presentation: bright player-colour cards and restrained white panels. */
#playerBalances{background:#f9fbf7f5;border:1px solid #ffffff;border-radius:16px;box-shadow:0 6px 22px #253d3520;color:#243c37;padding:10px 12px}
.balance-heading{color:#526960}.balance-heading>span{color:#73847a}
.balance-card{position:relative;background:#fff;border:1px solid #dce3dd;border-top:4px solid var(--player);border-left:1px solid #dce3dd;border-radius:9px;padding:8px 12px;box-shadow:0 2px 5px #1c3a2f0a}
.balance-card.active{background:#fff;box-shadow:0 0 0 2px var(--player),0 4px 12px #203b3020}
.balance-name{color:#51645c;font-weight:700}.balance-value{color:#263e35;font-weight:850;text-shadow:0 1px #fff;font-size:clamp(17px,1.7vw,23px)}
#sceneFocus{background:#fbfdfaf5;border:1px solid #fff;border-left:5px solid var(--active-color,#287750);box-shadow:0 5px 20px #1b382518;border-radius:14px}
#sceneFocus h2{color:#263f34}#focusEvent:not(:empty){background:#edf3e9;border-color:#d6e0ce;color:#536c50}
.camera-tools button{background:#fffffff2;border:1px solid #ffffff;color:#365c4c;box-shadow:0 2px 7px #18392c25}
.token-label{background:#fffffff2;border-color:#ffffff;border-bottom:3px solid var(--piece-color);color:#294738;border-radius:7px;box-shadow:0 3px 10px #14372824}
.token-label.active{background:#fff;box-shadow:0 0 0 2px var(--piece-color),0 4px 12px #183f3328}
#play aside>.board-center,.game-playing aside>.panel{background:#fafcf8f5;border-color:#fff;box-shadow:0 5px 18px #15382c14}
.player-card.active{border-color:var(--player,#83a783)!important;box-shadow:0 0 0 1px var(--player,#83a783),0 4px 12px #1d443423!important}
@media(prefers-reduced-motion:no-preference){.balance-card{transition:box-shadow .2s,border-color .2s}.token-label{transition:opacity .15s}}

/* Language control remains visible in the lobby and during play. */
.language-picker{display:flex;align-items:center;gap:6px;color:inherit;font-size:12px;white-space:nowrap}.language-picker select{width:auto;min-width:85px;padding:7px 9px;border-radius:10px;background:#faf8ed;color:#204d3c;border:1px solid #d6c99e;font:inherit}.language-picker:focus-within{outline:2px solid #d8b65c;outline-offset:3px;border-radius:10px}html[lang=en] .center-title{font-size:clamp(18px,2.1vw,28px)}html[lang=en] button{overflow-wrap:anywhere}html[lang=en] .tile-name{font-size:clamp(7px,.7vw,12px)}@media(max-width:600px){.language-picker>span{display:none}.language-picker select{min-width:75px;padding:6px}.top-actions{gap:6px;flex-wrap:wrap}}

/* Larger bilingual board labels, with room for longer street names. */
.show-2d .tile-name{font-size:clamp(10px,.95vw,15px);font-weight:800;line-height:1.18;color:#142d21;overflow-wrap:anywhere;text-shadow:0 1px 0 #ffffff80}
html[lang=en] .show-2d .tile-name{font-size:clamp(9px,.85vw,13px);line-height:1.15}
@media(max-width:600px){.show-2d .tile-name{font-size:10px}html[lang=en] .show-2d .tile-name{font-size:9px}}

/* Keep name, money, ownership, buildings and tokens in separate bands. */
.in-room.game-playing.board-2d .fallback-board.show-2d,.fallback-board.show-2d{width:1232px;min-width:1232px}
.board-2d .board-wrap{overflow:auto;max-height:calc(100vh - 190px);padding:4px 4px 16px;overscroll-behavior:contain}
.show-2d .tile{justify-content:flex-start;gap:3px;padding:18px 4px 21px;overflow:hidden}
.show-2d .tile-name{flex:0 0 auto;min-height:25px;font-size:12px;line-height:1.14;max-width:100%;word-break:normal;overflow-wrap:anywhere}
html[lang=en] .show-2d .tile-name{font-size:11px;line-height:1.12;min-height:36px}
.show-2d .tile-price{font-size:10px;font-weight:800;color:#243f2e;line-height:1.1}
.show-2d .tile-owner{flex-shrink:0;line-height:1.1;margin-top:0;font-size:9px}
.show-2d .tile>.tile-icon{font-size:17px;line-height:18px}
.show-2d .buildings:empty{display:none}
.show-2d .tokens{top:auto;bottom:2px;height:15px;flex-wrap:nowrap}
.token-label{max-width:min(240px,calc(100% - 16px));overflow:hidden;text-overflow:ellipsis;line-height:1.3;color:#17382b;background:#fffdf5}
.token-label.active{color:#17382b;background:#fffdf5}

.room-tools{flex-wrap:wrap}.walking-fee-control{display:flex;align-items:center;gap:7px;margin:0;padding:4px 8px;background:#fffef2;border:1px solid #b9c9ad;border-radius:8px}.walking-fee-control[hidden]{display:none}.walking-fee-control label{margin:0}.walking-fee-control .walking-fee-amount{display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}.walking-fee-amount input{width:70px;padding:4px 5px;margin:0;font-size:11px}.room-tools .auto-end-setting{margin:0;padding:7px 9px;background:#fffef2;border:1px solid #b9c9ad;border-radius:8px;font-size:11px;gap:6px}.auto-end-setting input{width:16px;height:16px;accent-color:#187448}
.admin-connections{margin-top:14px;border-top:1px solid #cfddce;padding-top:12px}.connection-list{display:grid;gap:5px;max-height:180px;overflow:auto;margin:8px 0}.connection-row{display:grid;grid-template-columns:18px 1fr auto;gap:7px;align-items:center;margin:0;padding:7px 8px;background:#f5faf2;border:1px solid #d6e3d2;border-radius:7px;font-size:11px}.connection-row input{width:15px}.connection-row span{font-size:10px;color:#67806b}.connection-actions{display:flex;gap:7px;flex-wrap:wrap}

.server-admin{max-width:900px;margin-top:18px}.server-admin form{max-width:420px}.server-admin .connection-list{max-height:330px}.connection-row span{overflow-wrap:anywhere}.connection-row input{flex-shrink:0}

.network-status{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #c8dbca;border-radius:8px;background:#f5fbf0ee;color:#276139;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.network-status::before{content:'';width:7px;height:7px;background:#2c9858;border-radius:50%;flex-shrink:0}.network-status[data-status="checking"]::before{background:#999}.network-status[data-status="unstable"]::before,.network-status[data-status="slow"]::before{background:#d39915}.network-status[data-status="offline"]{color:#ac3030}.network-status[data-status="offline"]::before{background:#d43d3d}@media(max-width:1050px){.topbar{flex-wrap:wrap;gap:8px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.network-status{font-size:10px}}@media(max-width:600px){.top-actions{width:100%;justify-content:flex-start}.network-status{order:-1;font-size:10px;padding:5px 7px}}

.rail-destinations{display:grid;gap:7px;margin:8px 0}.rail-destination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;background:#f1f6eb;border:1px solid #cadac7;border-radius:9px}.rail-destination small{display:block;font-size:10px;line-height:1.6;color:#56705c}.rail-destination strong{font-size:12px}.rail-destination button{flex-shrink:0;font-size:11px;padding:9px}

.graphics-picker{display:flex;align-items:center;gap:8px;font-size:12px;color:#dbe8ee}.graphics-picker select{background:#182b39;color:#f2f7fa;border:1px solid #59717e;border-radius:8px;padding:7px 10px;min-height:34px}

.balance-card{position:relative}.cash-effect{position:absolute;right:8px;top:4px;font-size:12px;font-weight:800;pointer-events:none;z-index:2;text-shadow:0 1px 4px #10251d}.cash-effect.gain{color:#91e6be}.cash-effect.loss{color:#ffc1a9}@media(prefers-reduced-motion:reduce){.cash-effect{display:none}}

.bandwidth-status{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #c9d9ce;border-radius:8px;background:#f5fbf0ee;color:#276139;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.bandwidth-status[data-status="unavailable"]{color:#8b7351}@media(max-width:1250px){.topbar{flex-wrap:wrap;gap:8px}.top-actions{flex-wrap:wrap;gap:8px}}@media(max-width:600px){.bandwidth-status{font-size:10px;padding:5px 7px;order:-1}.top-actions{gap:5px}}

/* Clear action hierarchy and visible connection recovery. */
#boardCenter .center-title{font-size:24px;line-height:1.45;text-wrap:balance}
#boardCenter .center-sub{font-size:13px;line-height:1.8}
#boardCenter .actions{gap:10px}
#boardCenter .actions>.gold-btn{min-height:48px;font-weight:800}
.rail-destination small{display:block;line-height:1.85}
.motion-tools{margin-top:12px;text-align:right}.motion-tools button{font-size:11px}
.room-reconnecting #connection{color:#f1c36e;font-weight:700}
.room-reconnecting #boardCenter:before{content:"正在重连 · 操作暂不可用，恢复后同步结果";display:block;background:#f7e4b9;color:#503d21;padding:12px;margin-bottom:14px;border-radius:8px;font-size:13px;line-height:1.7}

/* Decision-first operation panel: shape, wording and amounts, not color alone. */
#boardCenter .action-guide{padding:13px;margin:0 0 18px;background:#eef6ed;border:1px solid #b4cfb7;border-left:5px solid #357356;border-radius:12px;color:#244d38}
#boardCenter .action-guide-label{font-size:11px;font-weight:800;letter-spacing:.6px}
#boardCenter .action-guide h3{font-size:19px;line-height:1.3;margin:5px 0 7px;letter-spacing:0}
#boardCenter .action-guide p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#45614c}
#boardCenter .action-guide dl{margin:13px 0 0;border-top:1px solid #bed4bd;padding-top:8px}
#boardCenter .action-guide dl>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12px}
#boardCenter .action-guide dt{color:#526d55}#boardCenter .action-guide dd{margin:0;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
#boardCenter .action-guide.waiting{background:#f0f2ed;border-color:#d1d8cb;color:#62735f}
#boardCenter .action-guide.debt{background:#fff0df;border-color:#d6aa76;color:#7a4926}
#boardCenter .action-guide .action-dock{position:sticky;top:8px;z-index:4;margin:7px -4px 9px;padding:8px 4px;background:#eef6edee;backdrop-filter:blur(8px);border-bottom:1px solid #bed4bd}
#boardCenter .action-guide .action-progress{margin-bottom:7px}
#boardCenter .action-guide .actions{gap:7px}
#boardCenter .action-guide .actions button{min-height:43px}
#boardCenter .rail-destinations{gap:5px;margin:5px 0}
#boardCenter .rail-destination{padding:7px 8px}
#boardCenter .rail-destination small{line-height:1.45}
#boardCenter>.center-title{font-size:17px;color:#46604a;margin-top:8px}
#boardCenter .actions{display:flex;flex-direction:column;gap:10px}
#boardCenter .actions button{width:100%;min-height:46px;text-align:center;font-size:14px;line-height:1.6}
#boardCenter .actions>.gold-btn{border:2px solid #a48236;box-shadow:0 3px 0 #987839;font-size:15px}
#boardCenter button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:grayscale(.3)}
#boardCenter button:focus-visible, .detail-actions button:focus-visible{outline:3px solid #347ab4;outline-offset:3px}
.action-progress{padding:11px;background:#e5eff8;border:1px solid #a4bed2;border-radius:8px;color:#315978;font-size:13px;margin-bottom:10px}.action-progress[hidden]{display:none}
.room-connection-banner{display:flex;align-items:center;gap:14px;background:#fff0c9;border:1px solid #cfaa58;border-radius:12px;padding:16px 20px;margin:14px;color:#674b1c;position:sticky;top:8px;z-index:45;box-shadow:0 4px 20px #3d2d1220}.room-connection-banner[hidden]{display:none}.room-connection-banner strong{font-size:17px}.room-connection-banner p{font-size:12px;line-height:1.8;margin:5px 0 0}.connection-spinner{width:23px;height:23px;border:3px solid #dfc98f;border-top-color:#8d651d;border-radius:50%;animation:connection-spin 1.2s linear infinite;flex-shrink:0}
.room-reconnecting #boardCenter:before{display:none}
@keyframes connection-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.connection-spinner{animation:none}}

#boardCenter .rail-quote-field{margin:0;font-size:12px}#boardCenter .rail-quote-field input{margin-top:5px;min-height:42px;font-size:18px;font-variant-numeric:tabular-nums}

#boardCenter .rail-feedback{padding:9px 10px;margin:0 0 8px;background:#fff0d6;border:1px solid #d3b16b;border-radius:8px;color:#704b1b;font-weight:750}

.brand-credit{display:block;color:#315c46;font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.3px;white-space:nowrap}@media(max-width:600px){.brand-credit{font-size:11px}}
