@font-face{font-family:Def;src:url('assets/font0.woff2');font-display:swap}
*{box-sizing:border-box} :root{color-scheme:dark;--bg:#0b1018;--line:#ffffff12;--paper:#ede4d4;--muted:#8393a7;--red:#ee656b;--blue:#6aaff7;--camw:26vw;--camh:28vh;--camy:50vh}body{margin:0;height:100dvh;overflow:hidden;display:grid;grid-template-rows:64px minmax(0,1fr) 66px;background:radial-gradient(ellipse at 10% 0,#28334344,transparent 50%),radial-gradient(ellipse at 90% 100%,#42252b22,transparent 50%),var(--bg);color:#f0eee9;font:14px Arial,Helvetica,sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{padding:10px 13px;border:1px solid #ffffff25;background:#141d29;color:#e4eaf0;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.8px;cursor:pointer;white-space:nowrap}button:hover{background:#233044;border-color:#8d9eb7}button:disabled{opacity:.32;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f3cf8b;outline-offset:3px}[hidden]{display:none!important}.primary{background:#ece5d8;color:#151c28;border-color:#ece5d8}.primary:hover{background:#fff8e9}.avatar{display:grid;place-items:center;position:relative;flex:none;border-radius:50%;background:#233044;border:2px solid var(--player,#71829c);width:36px;height:36px;overflow:hidden;color:#fff;font-size:12px;font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.avatar>span{position:relative}header{display:flex;align-items:center;padding:0 22px;gap:9px;background:#0b1018c9;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:#f2ede3;text-decoration:none;font:28px Def,Impact,sans-serif;letter-spacing:1px;margin-right:auto}.brand img{width:30px;height:39px;object-fit:contain}.brand-light{color:#9badc3}.brand small{font:7px Arial,sans-serif;letter-spacing:4px;display:block;margin-top:1px;color:#8291a6}.connection{display:flex;gap:7px;align-items:center;font-size:8px;letter-spacing:.7px;color:#95a3b7;margin-right:13px}i.live{background:#77d5ac!important;box-shadow:0 0 8px #77d5ac66}.connection i,.bot-indicator i{width:5px;height:5px;border-radius:50%;background:#4e5a6d}.connection i{display:block}#demoFlag{color:#e2b76c;font-size:9px;letter-spacing:2px}header button{background:transparent;border-color:#ffffff17;font-size:9px;padding:8px 11px}main{display:grid;grid-template-columns:minmax(0,1fr) var(--camw);gap:20px;padding:12px 18px 14px;min-height:0}.game-area{min-width:0;min-height:0;display:grid;grid-template-columns:clamp(150px,12vw,225px) minmax(0,1fr);gap:16px}.players-panel{display:flex;min-height:0;flex-direction:column;padding:10px 0 0}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{font-size:10px;letter-spacing:1.6px;font-weight:700;margin:0;color:#a4b0bf}.panel-heading>span{font:20px Def,Impact,sans-serif;color:#7688a0}.roster-tabs{display:flex;gap:15px;border-bottom:1px solid var(--line);margin:9px 0}.roster-tabs button{border:0;border-radius:0;background:none;padding:8px 0;font-size:8px;color:#788ba5}.roster-tabs button[aria-pressed=true]{border-bottom:2px solid #d6c4a3;color:#e9dfcc}#playerList{display:grid;grid-auto-rows:minmax(0,1fr);flex:1;min-height:0}.player-row{display:flex;align-items:center;gap:9px;padding:8px 5px;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;text-align:left;letter-spacing:0;white-space:normal;min-height:0;position:relative}.player-row.active{background:linear-gradient(90deg,#e8c57c12,transparent);box-shadow:inset 2px 0 #e4c283}.player-row.out{opacity:.38}.player-row .avatar{width:32px;height:32px;font-size:10px}.player-info{min-width:0;flex:1}.player-info strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-info small{display:block;font-size:8px;color:#8493a7;margin-top:5px;font-weight:400}.player-cash{font:22px Def,Impact,sans-serif;color:#ede4d4;letter-spacing:.5px}.roster-pagination{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:8px;color:#63738a;padding:7px 0}.roster-pagination button{border:0;background:none;padding:4px 9px;font-size:14px;color:#8293a9}.quiet-button{border:0;background:transparent;color:#8192aa;padding:10px 0;font-size:8px}.board-shell{width:min(100%,calc(100dvh - 156px));aspect-ratio:1;position:relative;align-self:center;justify-self:center;filter:drop-shadow(0 12px 18px #0006);border-radius:15px;overflow:hidden}#board{display:block;width:100%;height:100%;touch-action:manipulation}.board-center{position:absolute;inset:17.3%;display:grid;place-items:center;text-align:center;overflow:hidden;container-type:inline-size}.watermark{position:absolute;width:54%;height:63%;object-fit:contain;opacity:.035;pointer-events:none}.board-center section{width:100%;position:relative;padding:1px 5%}.center-logo{width:23%;height:auto;max-height:132px;object-fit:contain;filter:drop-shadow(0 5px 10px #0008)}.edition{font-size:clamp(8px,2.3cqw,14px);letter-spacing:3.5px;color:#9ca5b1;margin-top:6px}.board-center h1{font:clamp(34px,13.8cqw,96px)/.98 Def,Impact,sans-serif;margin:9px 0;letter-spacing:.6px}.board-center h1 span{color:#bac9db}.join-code{display:inline-block;font-weight:800;font-size:clamp(16px,5cqw,34px);border:1px solid #a9b9cc66;border-radius:5px;padding:8px 25px;margin:10px 0 0;background:#1f2c40}.board-center p{font-size:clamp(11px,3.5cqw,22px);color:#b7c2d1;line-height:1.35;margin:12px 0}.lobby-count{font-size:9px;letter-spacing:1.2px;color:#8b9bb1}.lobby-count b{font-size:15px;color:#eee6d5;letter-spacing:0;margin-right:5px}#lobbyFaces{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;max-width:85%;margin:17px auto 12px}#lobbyFaces .avatar{width:30px;height:30px;font-size:9px}.turn-kicker{font-size:clamp(8px,2.2cqw,13px);letter-spacing:2.5px;color:#8e9db1;margin-bottom:12px}.turn-person{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.hero-avatar{width:clamp(37px,12cqw,72px);height:clamp(37px,12cqw,72px);font-size:20px;border-width:3px}.turn-person h2{margin:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;font:clamp(22px,7.5cqw,50px)/1 Def,Impact,sans-serif;color:#f0ece4;letter-spacing:.3px}.dice-pair{display:flex;justify-content:center;gap:10px;margin:18px 0}.die{width:clamp(34px,12cqw,72px);aspect-ratio:1;border-radius:16%;background:linear-gradient(145deg,#fff9ee,#c7c0b5);box-shadow:0 4px 0 #7c7c7c,0 9px 15px #0005;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:15%;padding:clamp(5px,1.9cqw,11px);gap:7%;transform:rotate(-6deg)}.die:last-child{transform:rotate(7deg)}.pip{border-radius:50%;background:#172536;box-shadow:inset 0 1px 2px #0007}.die.rolling{animation:dice-toss .18s infinite alternate}.die.rolling:last-child{animation-delay:-.07s}@keyframes dice-toss{from{transform:translateY(-7px) rotate(-20deg) scale(.92)}to{transform:translateY(4px) rotate(18deg) scale(1.04)}}#resultTitle{font:clamp(17px,5.6cqw,37px)/1.05 Def,Impact,sans-serif;margin-top:8px;color:#e9dfcc;letter-spacing:.6px}#resultAmount{font:clamp(38px,17cqw,112px)/1 Def,Impact,sans-serif;letter-spacing:1px;margin:3px 0}#resultAmount:empty,#transferLine:empty{display:none}#transferLine{color:#c9d3df;font-size:clamp(11px,3cqw,19px);font-weight:700;line-height:1.25;margin:5px 0}.board-center[data-tone=loss] #resultAmount,.board-center[data-tone=out] #resultTitle{color:#fa7f82}.board-center[data-tone=gain] #resultAmount{color:#8de0b5}.board-center[data-tone=win] #resultAmount,.board-center[data-tone=build] #resultTitle{color:#efce83}#resultBody{max-width:96%;margin:9px auto;min-height:0}.board-center[data-phase=move] #resultBody{color:#e4e9ef}#propertyCard{display:flex;align-items:center;gap:10px;position:relative;text-align:left;overflow:hidden;background:#e8dfce;color:#1c2939;border-radius:5px;padding:12px 14px 12px 22px;margin:14px auto 3px;max-width:95%;box-shadow:0 5px 14px #0004}#propertyStripe{position:absolute;inset:0 auto 0 0;width:8px;background:var(--tile,#ddd)}#propertyCard>span{min-width:0;flex:1}#propertyCard small{font-size:clamp(6px,1.8cqw,11px);letter-spacing:1px;display:block;opacity:.65;margin-bottom:4px}#propertyCard strong{font:clamp(14px,4.6cqw,31px)/1.05 Def,Impact,sans-serif;display:block}#propertyCard>b{font:clamp(16px,5cqw,34px) Def,Impact,sans-serif;flex:none}#nextPlayer{margin-top:16px;font-size:clamp(7px,2.1cqw,13px);letter-spacing:.8px;color:#798ba4;min-height:1em}.winner-avatar{width:25%;height:auto;aspect-ratio:1;margin:16px auto;border:4px solid #e3c681;font-size:30px;box-shadow:0 0 35px #e6bd4c18}#winnerName{font-size:clamp(26px,10cqw,68px);overflow-wrap:anywhere}#winnerWorth{color:#efce83;font:clamp(25px,9cqw,60px) Def,Impact,sans-serif}#winnerDetail{font-size:clamp(10px,3cqw,18px)}#winnerDeeds{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:15px}.deed-chip{padding:6px 8px;background:#e5decf;color:#192436;border-bottom:4px solid var(--tile);font-size:clamp(7px,2.1cqw,12px);font-weight:bold;border-radius:3px}.right-rail{display:grid;grid-template-rows:max(116px,calc(var(--camy) - var(--camh)/2 - 88px)) var(--camh) minmax(0,1fr);gap:12px;min-height:0}.session-card,.activity-card{border:1px solid var(--line);background:#101823cc;border-radius:8px;padding:16px 18px;min-height:0;overflow:hidden}.session-card{display:flex;flex-direction:column;justify-content:space-between}.session-top{display:flex;justify-content:space-between;align-items:center;color:#a8b8cc;font-size:10px;letter-spacing:1.3px}#clock{font:26px Def,Impact,sans-serif;letter-spacing:1px;color:#ede4d4}.leader-line{display:flex;align-items:center;gap:12px;margin:10px 0}.leader-line .avatar{width:45px;height:45px;font-size:15px}.leader-line>div{min-width:0}.leader-line small{color:#6e819c;font-size:8px;letter-spacing:1.5px;display:block;margin-bottom:5px}.leader-line strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:28px Def,Impact,sans-serif}.session-stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.session-stats small{font-size:8px;letter-spacing:.8px;color:#72849d;display:block}.session-stats b{font:25px Def,Impact,sans-serif;display:block;margin-top:4px}#finalRound{font-size:9px;color:#efcd88;letter-spacing:2px;margin-top:7px}#cameraSpace{background:#0b1018;border:1px solid transparent;border-radius:6px;pointer-events:none;display:grid;place-items:center}#cameraSpace span{display:none}#cameraSpace.guide{border:2px dashed #a7bedb;background:#16304544}#cameraSpace.guide span{display:block;color:#b4c6dd;font-size:13px;letter-spacing:3px}.activity-card{display:flex;flex-direction:column;min-height:0}.activity-card .panel-heading button{border:0;background:none;color:#9aaac1;font-size:11px;padding:0 3px}#activityFeed{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start}.feed-item{padding:13px 0;border-bottom:1px solid var(--line);font-size:clamp(11px,1vw,15px);line-height:1.35;color:#afbdcf}.feed-item strong{color:#ede5d7;font-weight:700}.feed-item small{display:block;color:#62768f;font-size:8px;letter-spacing:.7px;margin-bottom:4px}.feed-empty{color:#586c86;font-size:12px;padding-top:20px}.bot-indicator{display:flex;gap:7px;align-items:center;color:#60718b;font-size:7px;letter-spacing:1px;padding-top:12px}.bot-indicator i{display:inline-block}#tradeNotice{background:#4b433129;border-left:2px solid #d0b472;padding:9px;font-size:11px;line-height:1.35;margin-top:12px;color:#e3ceb0}footer{display:flex;align-items:center;gap:18px;padding:10px 22px;border-top:1px solid var(--line);background:#0b1018}.command-hint{display:flex;align-items:center;gap:12px}.command-hint b{font-size:23px;letter-spacing:-.5px}.command-hint span{font-size:7px;letter-spacing:1.4px;color:#6c7d96}#footerNotice{font-size:10px;color:#8697af}.game-controls{margin-left:auto;display:flex;gap:7px}.game-controls button{padding:12px 16px;font-size:10px}#playButton{min-width:145px}#newGameButton,#finishButton{background:none;color:#8a9cb5;border-color:#ffffff15}dialog{width:min(580px,94vw);max-height:90dvh;background:#111b29;color:#e7ecf4;border:1px solid #566780;border-radius:10px;padding:26px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#03070dcc}dialog h2,#cameraPanel h2{font:32px Def,Impact,sans-serif;letter-spacing:1px;margin:0 0 17px}.close{float:right;border:0;background:none;font-size:24px;padding:0 5px;margin-top:-7px;color:#91a4bf}dialog p{font-size:12px;color:#91a2b8;line-height:1.5}dialog label{display:block;font-size:12px;color:#b5c2d5;margin:17px 0 13px}label small{font-size:10px;color:#7e90a8;margin-left:5px}input,select{display:block;width:100%;border:1px solid #4a5d75;border-radius:4px;background:#1a293b;color:#ecf2f9;padding:11px;margin-top:7px;font-size:13px}input[type=range]{padding:0;accent-color:#c4ae8a;border:none}.setup-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.setup-tabs button{border:0;background:none;border-radius:0;padding:10px 0;color:#8395ad;font-size:9px}.setup-tabs button[aria-pressed=true]{color:#f0e8d9;border-bottom:2px solid #d6c4a3}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.button-row{display:flex;gap:9px;flex-wrap:wrap}hr{border:0;border-top:1px solid var(--line);margin:22px 0}output{float:right}label.check-label{display:flex;align-items:center;gap:9px;font-size:11px}input[type=checkbox]{width:auto;margin:0;accent-color:#d1b98e}.rules p{border-bottom:1px solid var(--line);padding-bottom:13px;color:#bec9d9;font-size:13px}.rules b{color:#f0e5d3}.muted{font-size:10px;color:#63748d}.file-button{border:1px solid #ffffff22;border-radius:4px;padding:10px;display:inline-block!important;cursor:pointer;font-size:10px!important;letter-spacing:.7px}.file-button input{display:none}#standingsDialog{width:min(800px,94vw)}.standing-row{display:grid;grid-template-columns:30px minmax(0,1fr) 90px 100px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.standing-row.out{opacity:.4}.standing-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.standing-row small{color:#7e91ac;font-size:9px}.standing-money{text-align:right}.standing-head{font-size:9px;color:#7e91ac}#propertyDetails h3{font:38px Def,Impact,sans-serif;margin:12px 0}#propertyDetails .property-swatch{height:16px;border-radius:5px;background:var(--tile)}#propertyDetails .property-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}#propertyDetails .property-facts b{font:28px Def,Impact,sans-serif;display:block;margin-top:4px}#propertyDetails small{font-size:9px;color:#8194ae}#cameraPanel{position:fixed;left:22px;bottom:90px;z-index:30;width:300px;background:#152236f5;border:1px solid #647e9e;border-radius:8px;padding:20px;box-shadow:0 12px 30px #0008}#cameraPanel h2{font-size:23px}#cameraPanel label{display:block;font-size:11px;margin:15px 0;color:#b7c5d8}#cameraPanel button{width:100%;margin-top:10px}#toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);max-width:85vw;padding:13px 20px;border:1px solid #536a86;background:#162438;color:#edf0f6;z-index:100;box-shadow:0 8px 30px #0007;border-radius:6px;font-size:13px;text-align:center}
@media(max-height:830px){.session-card,.activity-card{padding:11px 13px}.leader-line{margin:7px 0}.leader-line .avatar{width:32px;height:32px}.leader-line strong{font-size:22px}.session-stats{padding-top:8px}.session-stats b{font-size:20px}.feed-item{padding:8px 0;font-size:12px}.player-row{padding:4px 2px;gap:6px}.player-row .avatar{width:26px;height:26px;font-size:9px}.player-cash{font-size:20px}.player-info strong{font-size:11px}.dice-pair{margin:12px 0}.turn-kicker{margin-bottom:8px}#nextPlayer{margin-top:10px}}
@media(max-width:1150px){main{gap:12px;padding-left:12px;padding-right:12px}.game-area{grid-template-columns:130px minmax(0,1fr);gap:8px}.player-row .avatar{display:none}.player-info strong{font-size:11px}.player-cash{font-size:19px}.session-card,.activity-card{padding:12px}.leader-line strong{font-size:23px}.session-stats small{font-size:6px}.game-controls button{font-size:9px;padding:11px}#footerNotice{display:none}}
@media(max-width:900px){body{grid-template-rows:56px minmax(0,1fr) 64px}header{padding:0 12px}.brand{font-size:23px}.connection{display:none}main{grid-template-columns:1fr;padding:8px 12px}.right-rail{display:none}.game-area{grid-template-columns:145px minmax(0,1fr);gap:12px}.board-shell{width:min(100%,calc(100dvh - 138px))}footer{padding:9px 12px}.command-hint span{display:none}.command-hint b{font-size:19px}.game-controls{gap:5px}#playButton{min-width:110px}.game-controls button{font-size:8px}}
@media(max-width:600px){body{grid-template-rows:54px minmax(0,1fr) 106px}.brand{font-size:21px;gap:5px}.brand img{width:21px;height:30px}.brand small{font-size:6px;letter-spacing:2.5px}header{gap:4px}header button{font-size:7px;padding:8px 6px}#demoFlag{display:none}.players-panel{display:none}.game-area{display:block;position:relative;min-height:0}.board-shell{width:100%;top:50%;transform:translateY(-50%)}main{padding:8px}.board-center section{padding:0 2%}.center-logo{max-height:60px}.board-center h1{font-size:13cqw}.edition{font-size:7px;letter-spacing:2px}.board-center p{font-size:3.7cqw;margin:6px 0}.join-code{font-size:16px;padding:5px 20px;margin-top:4px}#lobbyFaces{margin:7px auto;gap:3px}#lobbyFaces .avatar{width:20px;height:20px;font-size:7px}.lobby-count{font-size:7px}#propertyCard{margin-top:8px;padding:7px 8px 7px 14px;gap:5px}.turn-kicker{margin-bottom:6px;font-size:7px;letter-spacing:1px}.turn-person{gap:7px}.hero-avatar{width:30px;height:30px;font-size:10px}.turn-person h2{font-size:7.2cqw}.dice-pair{margin:8px 0;gap:7px}.die{width:29px}.board-center #resultTitle{font-size:5.8cqw}#nextPlayer{margin-top:6px;font-size:7px}footer{display:grid;grid-template-columns:1fr auto;gap:6px;padding:9px 12px}.command-hint{grid-column:1;grid-row:1}.command-hint span{display:block;font-size:6px}.command-hint b{font-size:17px}.game-controls{grid-column:1/3;grid-row:2;display:flex;justify-content:space-between;gap:5px;margin:0}.game-controls button{padding:10px 7px;font-size:7px;flex:1}#playButton{min-width:90px}.standing-row{grid-template-columns:22px minmax(0,1fr) 65px 75px;font-size:11px}#cameraPanel{display:none}}
@container(max-width:500px){#lobbyView .center-logo{width:14%;max-height:56px}#lobbyView .edition{font-size:7px;letter-spacing:2px;margin-top:2px}#lobbyView h1{font-size:12.5cqw;margin:7px 0}#lobbyView .join-code{font-size:4.6cqw;padding:6px 20px;margin-top:4px}#lobbyView p{font-size:3.3cqw;margin:6px 0}#lobbyFaces{margin:8px auto}#lobbyFaces .avatar{width:24px;height:24px;font-size:8px}#lobbyFaces .avatar:nth-child(n+13){display:none}#winnerDeeds{max-height:75px;overflow:auto}}
@container(max-width:320px){#lobbyView .center-logo{width:16%;max-height:38px}#lobbyView .edition{font-size:6px}#lobbyView h1{font-size:13cqw;margin:6px 0}#lobbyView .join-code{font-size:15px;padding:5px 18px}#lobbyView p{font-size:10px}#lobbyFaces{margin:6px auto}#lobbyFaces .avatar{width:18px;height:18px;font-size:6px}#lobbyFaces .avatar:nth-child(n+9){display:none}.winner-avatar{width:18%;margin:7px auto;border-width:2px}#winnerName{font-size:9cqw;margin:7px 0}#winnerWorth{font-size:8cqw}#winnerDetail{font-size:10px;margin:6px 0}#winnerDeeds{margin-top:6px;max-height:45px;gap:3px}.deed-chip{padding:4px 5px;font-size:7px;border-bottom-width:2px}}
.build-tag{font-size:8px;letter-spacing:1px;color:#6c7d95;margin-right:8px}
#newGameButton{border-color:#9e626b99;color:#e5abb0;background:#331f2a55}
#takeControlButton{border-color:#ba9c62;color:#e5cc9a;background:#2d2b24}
.reset-fallback{display:inline-block;margin-top:24px;color:#b9c8dc;font-size:12px;text-underline-offset:4px}
#newGameDialog p{font-size:14px;color:#c0cbd9;margin-bottom:22px}
.board-shell{filter:drop-shadow(0 9px 14px #0006);border-radius:12px}
.watermark{opacity:.025}
@media(max-width:600px){.build-tag{display:none}}
@media(prefers-reduced-motion:reduce){.die.rolling{animation:none}}
