:root{--bg:#071411;--panel:#09221dd1;--panel-2:#0d3028c7;--gold:#f6c84b;--gold-2:#ffe69a;--cream:#fff5db;--teal:#147865;--text:#f9f7ef;--muted:#aabbb5;--line:#f6c84b38}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.shell{background:radial-gradient(circle at 50% 15%,#18866938,#0000 36%),linear-gradient(145deg,#04100d,#081c17 55%,#07110f);place-items:center;min-height:100vh;padding:32px;display:grid;position:relative;overflow:visible}.ambient{filter:blur(90px);opacity:.22;pointer-events:none;border-radius:999px;position:absolute}.ambientOne{background:#18a37e;width:360px;height:360px;top:-120px;left:-80px}.ambientTwo{background:#d9a926;width:300px;height:300px;bottom:-110px;right:-90px}.heroCard{z-index:1;border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#0e2f28d1,#051411eb);border-radius:28px;width:min(980px,100%);padding:clamp(28px,5vw,54px);position:relative;box-shadow:0 28px 90px #0000007a,inset 0 1px #ffffff0a}.logoWrap{width:min(820px,100%);margin:0 auto;position:relative;overflow:hidden}.logo{filter:drop-shadow(0 16px 28px #00000059);width:100%;height:auto;display:block}.shine{mix-blend-mode:screen;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0f,#ffe2706b,#0000);width:15%;animation:9s ease-in-out infinite sweep;position:absolute;inset:-30% auto -30% -30%;transform:skew(-18deg)}@keyframes sweep{0%,58%{opacity:0;left:-30%}62%{opacity:.85}78%{opacity:.65;left:118%}82%,to{opacity:0;left:118%}}.logoPiece{pointer-events:none;background:url(/dice-and-deal-logo.png) 50%/100% 100% no-repeat;position:absolute;inset:0}.logoDieLayer{clip-path:polygon(18% 5%,30% 5%,30% 38%,18% 38%);transform-origin:24% 21%;animation:11s cubic-bezier(.35,.1,.2,1) infinite logoDie}.handshakeLayer{clip-path:polygon(38% 5%,61% 5%,61% 48%,38% 48%);transform-origin:50% 28%;animation:11s ease-in-out 3.8s infinite handshake}@keyframes logoDie{0%,68%,to{transform:perspective(500px)rotate(0)}73%{transform:perspective(500px)rotateX(7deg)rotateY(-9deg)rotate(-4deg)}78%{transform:perspective(500px)rotateX(-4deg)rotateY(6deg)rotate(3deg)}83%,to{transform:perspective(500px)rotate(0)}}@keyframes handshake{0%,72%,to{transform:rotate(0)translateY(0)}76%{transform:rotate(-.45deg)translateY(-1px)}79%{transform:rotate(.35deg)translateY(.7px)}82%,to{transform:rotate(0)translateY(0)}}.tagline{text-align:center;letter-spacing:.24em;color:var(--gold-2);margin:12px 0 0;font-size:clamp(13px,2vw,16px);font-weight:850}.subline{text-align:center;max-width:610px;color:var(--muted);margin:12px auto 30px;line-height:1.6}.entryGrid{gap:13px;width:min(620px,100%);margin:0 auto;display:grid}.field span{letter-spacing:.16em;color:#b8c9c3;margin:0 0 8px 3px;font-size:12px;font-weight:800;display:block}.inputRow,.joinRow{grid-template-columns:1fr auto;gap:10px;display:grid}input{min-width:0;height:52px;color:var(--cream);background:#0000002e;border:1px solid #ffffff1f;border-radius:14px;outline:none;padding:0 16px;transition:border-color .2s,box-shadow .2s}input:focus{border-color:#f6c84b9e;box-shadow:0 0 0 3px #f6c84b1a}.iconButton{border:1px solid var(--line);width:52px;color:var(--gold);background:#f6c84b14;border-radius:14px;font-size:24px}.primaryButton,.secondaryButton{letter-spacing:.08em;border-radius:14px;height:54px;font-weight:900}.primaryButton{color:#182019;background:linear-gradient(135deg,#ffe895,#e7af27);border:1px solid #ffe19a;box-shadow:0 10px 24px #cb971f38}.secondaryButton{color:var(--gold-2);background:#16705b47;border:1px solid #f6c84b57;padding:0 22px}.primaryButton:hover,.secondaryButton:hover,.iconButton:hover{filter:brightness(1.07);transform:translateY(-1px)}.featureStrip{color:#829a91;letter-spacing:.14em;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:30px auto 0;font-size:12px;font-weight:800;display:flex}.featureStrip span:before{content:"•";color:var(--gold);margin-right:9px}.error{color:#ff9b93;text-align:center;margin:0;font-size:14px}.toastError{z-index:60;color:#ffd2cd;background:#3c1715;border:1px solid #ff8f83;border-radius:8px;max-width:min(520px,100vw - 24px);padding:10px 15px;font-size:13px;font-weight:800;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #000}.gameShell{background:radial-gradient(circle at 50% 45%,#123b31,#06130f 72%);min-height:100vh;padding:clamp(6px,.8vw,12px);overflow-x:hidden}.roomHeader{justify-content:space-between;align-items:end;gap:18px;width:min(98vw,1500px);margin:0 auto 6px;display:flex}.roomHeader h1{color:var(--cream);margin:2px 0 0;font-size:clamp(20px,2.5vw,32px)}.eyebrow{color:var(--gold);letter-spacing:.2em;font-size:12px;font-weight:900}.players{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.player{background:#0003;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:11px auto auto;align-items:center;gap:3px 8px;padding:8px 11px;font-size:clamp(13px,.9vw,15px);font-weight:750;line-height:1.25;display:grid}.player i{border-radius:50%;grid-row:1/3;width:10px;height:10px}.player b{color:var(--gold);letter-spacing:.1em;font-size:10px}.player small{color:var(--muted);grid-column:2/4;font-size:12px}.player.activePlayer{border-color:var(--gold);box-shadow:0 0 0 2px #f6c84b1f}.player.bankruptPlayer{opacity:.58;border-style:dashed}.player.bankruptPlayer>i{filter:grayscale()}.board{--board-size:min(98vw, calc(100svh - 130px), 1260px);width:var(--board-size);aspect-ratio:1;grid-template-rows:13% repeat(8,minmax(0,1fr)) 13%;grid-template-columns:13% repeat(8,minmax(0,1fr)) 13%;gap:clamp(2px,.22vw,4px);margin:auto;display:grid}.tile{text-align:left;background:#15332c;border:2px solid #ffffff29;border-radius:clamp(6px,.6vw,10px);flex-direction:column;justify-content:space-between;gap:4px;min-width:0;padding:clamp(12px,.8vw,15px) clamp(5px,.5vw,9px) clamp(5px,.5vw,9px);font-size:clamp(12px,.72vw,14px);display:flex;position:relative;overflow:hidden}.propertyTile{cursor:pointer;transition:filter .15s,transform .15s}.propertyTile:hover{filter:brightness(1.15);z-index:3}.propertyTile:focus{outline:2px solid var(--gold);outline-offset:1px}.tile strong{z-index:1;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;text-shadow:0 1px 3px #000c;-webkit-box-orient:vertical;font-size:clamp(13px,.76vw,15px);line-height:1.17;display:-webkit-box;position:relative;overflow:hidden}.tile small{font-size:clamp(12px,.64vw,14px);font-weight:850;line-height:1.16}.tileIndex{z-index:1;color:#ffffff73;font-size:7px;position:absolute;top:8px;right:4px}.ownerBadge{z-index:2;color:#071411;border:1px solid #fff;border-radius:5px;place-items:center;min-width:24px;height:18px;padding:0 4px;font-size:8px;font-style:normal;font-weight:950;display:grid;position:absolute;top:17px;right:5px;box-shadow:0 2px 7px #000}.tile.owned{border-width:4px}.tile.landed{outline:4px solid var(--gold);outline-offset:1px;z-index:2;box-shadow:0 0 22px #f6c84bb8}.tileEconomy{z-index:1;color:#ffffffd1;text-shadow:0 1px 3px #000c;gap:2px;display:grid;position:relative}.tileEconomy b{color:#fff;font-variant-numeric:tabular-nums}.tileEconomy span{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 22px);overflow:hidden}.buildings{align-items:center;gap:2px;min-height:13px;display:flex}.house{background:#eef7ee;border-radius:1px;width:8px;height:7px;display:block;box-shadow:0 -3px #d7a53b}.hotel{color:#fff;background:#d6564a;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:950}.setBadge{color:var(--gold);letter-spacing:.08em;background:#f6c84b2e;border-radius:3px;padding:1px 3px;font-size:6px;font-weight:950;position:absolute;bottom:4px;left:5px}.tokens{z-index:4;flex-wrap:wrap-reverse;justify-content:flex-end;gap:3px;max-width:82px;display:flex;position:absolute;inset:auto 4px 4px auto}.tokens span{background:#061713;border:3px solid;border-radius:8px;align-items:center;gap:3px;min-width:34px;height:27px;padding:3px 5px;display:flex;box-shadow:0 3px 9px #000}.tokens span.activeToken{outline:3px solid var(--gold);outline-offset:1px;transform:translateY(-2px)}.tokens i{border:1px solid #fff;border-radius:50%;flex:none;width:10px;height:10px}.tokens b{color:#fff;letter-spacing:0;font-size:9px;line-height:1}.tile-corner{color:#fff8dd;background:#a27a1a}.tile-corner strong{font-size:clamp(15px,.95vw,18px)}.tile-normal_event{background:linear-gradient(145deg,#294b79,#162d55)}.tile-trouble_event{background:linear-gradient(145deg,#8e2828,#4d151d);border-color:#ff786d}.tile-lottery{color:#fff0aa;background:linear-gradient(145deg,#925e06,#533607)}.tile-tax{color:#ffd0bc;background:linear-gradient(145deg,#6d2e16,#3f1710)}.tile-x:after{content:"X";color:#5cffe82e;font-size:clamp(22px,3vw,48px);font-weight:950;position:absolute;bottom:2px;right:6px}.tile-market{background:#145b69}.tile-expense{background:#6b2e2b}.tile-auction{background:#7a521d}.tile.mortgaged{filter:saturate(.6);border-style:dashed}.tile.mortgaged:before{content:"M";color:#ffffff17;pointer-events:none;place-items:center;font-size:clamp(34px,5vw,68px);font-weight:950;display:grid;position:absolute;inset:0;transform:rotate(-20deg)}.effectBadges{z-index:3;gap:3px;display:flex;position:absolute;top:4px;left:4px}.effectBadges i{color:#ffb0a6;background:#2c0d0d;border-radius:4px;padding:2px 4px;font-size:8px;font-style:normal;font-weight:950;box-shadow:0 2px 5px #000}.tile.mortgaged .tileEconomy span{white-space:normal;font-size:clamp(8px,.52vw,10px);line-height:1.05;overflow:visible}.boardCenter{text-align:center;border:1px solid var(--line);background:radial-gradient(circle,#0e3a30d1,#051411eb);border-radius:clamp(12px,1.2vw,20px);flex-direction:column;grid-area:2/2/10/10;justify-content:center;align-items:center;padding:clamp(10px,1.5vw,24px);display:flex;overflow:auto;box-shadow:inset 0 1px #ffffff0a}.centerEyebrow{color:var(--gold);letter-spacing:.22em;font-size:clamp(11px,.78vw,13px);font-weight:900}.boardCenter h2{color:var(--cream);margin:5px 0;font-size:clamp(22px,3vw,44px)}.gameMessage{max-width:540px;min-height:20px;color:var(--muted);margin:7px 0 12px;font-size:clamp(13px,1vw,16px);line-height:1.45}.gameMessage.warning{color:#ffb18b}.diceReadout{align-items:center;gap:7px;display:flex;color:var(--cream)!important;margin:5px 0!important}.diceReadout b{aspect-ratio:1;background:var(--cream);color:#173029;border-radius:7px;place-items:center;width:clamp(28px,3vw,42px);font-size:clamp(15px,1.5vw,22px);display:grid;box-shadow:0 4px 12px #0000004d}.diceReadout span{color:var(--gold-2);margin-left:5px;font-size:clamp(11px,1vw,15px);font-weight:900}.centerAction{min-height:52px;color:var(--muted);place-items:center;font-size:14px;display:grid}.actionButton{min-width:clamp(140px,14vw,190px);padding:0 22px;font-size:14px}.buttonPair{gap:8px;display:flex}.buttonPair .actionButton{min-width:110px}.syncNote{text-align:center;color:var(--muted);margin:6px 0 0;font-size:12px}.syncNote strong{color:var(--gold);letter-spacing:.1em}.auditActions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.auditActions .actionButton{min-width:210px}.auditZone{color:#ffc49a;letter-spacing:.08em;background:#56230e4d;border:1px dashed #f49b61;border-radius:10px;margin-bottom:8px;padding:8px 12px;font-size:11px}.auditZone>div{flex-wrap:wrap;justify-content:center;gap:5px;margin-top:5px;display:flex}.auditZone span{color:var(--cream);letter-spacing:0;border:1px solid;border-radius:99px;align-items:center;gap:5px;padding:4px 7px;font-size:11px;display:flex}.auditZone i{border-radius:50%;width:8px;height:8px}.auditZone small{color:var(--muted)}.player.auditedPlayer{border-style:dashed;border-color:#f49b61}.emergencyActions{color:#ffd0b4;background:#5b231257;border:1px solid #ef8b61;border-radius:11px;gap:5px;width:min(580px,100%);padding:12px;display:grid}.emergencyActions>strong{color:#ff9d72;letter-spacing:.13em}.emergencyActions>small{color:var(--muted)}.emergencyActions>div{flex-wrap:wrap;justify-content:center;gap:6px;max-height:120px;margin-top:5px;display:flex;overflow:auto}.emergencyActions button{width:auto;min-height:34px;padding:6px 10px;font-size:10px}.eventCard{background:linear-gradient(145deg,#274470eb,#102648f0);border:1px solid #99beff73;border-radius:14px;width:min(580px,96%);margin:8px 0;padding:clamp(12px,1.2vw,20px);box-shadow:0 14px 35px #00000052}.eventCard.event-trouble{background:linear-gradient(145deg,#731f22f0,#370f18f5);border-color:#ff7365b3}.eventCard>span{color:#bcd5ff;letter-spacing:.18em;font-size:11px;font-weight:950}.eventCard.event-trouble>span{color:#ffb2a9}.eventCard h3{color:#fff;margin:5px 0;font-size:clamp(18px,1.5vw,25px)}.eventCard p{color:#ffffffd1;margin:4px 0 8px;font-size:clamp(12px,.85vw,14px);line-height:1.4}.eventCard>strong{color:#ffd1c8;font-size:13px}.eventTargets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:170px;margin-top:9px;display:grid;overflow:auto}.eventTargets label{color:#ffd5ce;grid-column:1/-1;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:8px;font-size:12px;font-weight:850;display:grid}.eventTargets select{color:#fff;background:#35151b;border:1px solid #fff3;border-radius:6px;height:34px}.eventTargets button{color:#fff;text-align:left;background:#0003;border:1px solid #ffffff2e;border-radius:7px;gap:2px;padding:7px 9px;font-size:12px;font-weight:900;display:grid}.eventTargets button small{color:#ffffffa8;font-size:10px;font-weight:700}.auctionOverlay{text-align:center;background:radial-gradient(circle at 50% 0,#275f4d,#081d18 66%);border:1px solid #f8d66e;border-radius:22px;justify-items:center;gap:11px;width:min(500px,100%);padding:30px;display:grid;box-shadow:0 30px 100px #000,inset 0 1px #ffffff1a}.auctionOverlay h2{color:#fff;margin:0;font-size:clamp(28px,4vw,46px)}.auctionOverlay>p{color:var(--muted);margin:0;font-weight:750}.auctionClock{aspect-ratio:1;border:3px solid var(--gold);width:104px;color:var(--gold-2);font-variant-numeric:tabular-nums;border-radius:50%;place-content:center;font-size:42px;font-weight:950;display:grid;box-shadow:0 0 30px #f6c84b2e}.auctionClock small{letter-spacing:.13em;font-size:9px;display:block}.auctionClock.urgent{color:#ffad9e;border-color:#ff7a68}.auctionLeader{gap:1px;display:grid}.auctionLeader span,.auctionLeader small{color:var(--muted);font-size:12px}.auctionLeader strong{color:#fff;font-size:30px}.auctionBids{gap:8px;display:flex}.auctionBids button,.customBid button{border:1px solid var(--gold);min-height:42px;color:var(--gold-2);background:#f6c84b1f;border-radius:9px;padding:0 16px;font-weight:950}.customBid{grid-template-columns:1fr auto;gap:8px;width:min(360px,100%);display:grid}.customBid input{height:44px}.auctionOverlay>small{color:var(--muted);line-height:1.4}.propertyPanel{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#051411f7;border:1px solid #f6c84b59;border-radius:16px;width:min(340px,100vw - 24px);padding:20px;position:fixed;top:clamp(84px,10vh,120px);right:clamp(12px,2vw,30px);box-shadow:0 20px 60px #0000008c}.closeButton{color:var(--muted);background:0 0;border:0;font-size:24px;position:absolute;top:8px;right:10px}.propertyGroup{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:850;display:flex}.propertyGroup i{border-radius:5px;width:20px;height:6px}.propertyPanel h2{margin:8px 30px 14px 0;font-size:25px}.propertyFacts{border-top:1px solid #ffffff14;gap:0;display:grid}.propertyFacts span{color:var(--muted);border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:12px;padding:9px 0;font-size:13px;line-height:1.35;display:flex}.propertyFacts b{color:var(--cream);text-align:right}.propertyFacts .completeText{color:var(--gold)}.buildButton{width:100%;margin-top:14px;font-size:14px}.buildHint{color:var(--muted);text-align:center;margin-top:8px;font-size:12px;line-height:1.45;display:block}.propertyFacts .mortgagedText{color:#ffac83}.mortgageButton,.sellButton{width:100%;margin-top:10px;font-size:13px}.player{cursor:default;position:relative}.player:not(.activePlayer):hover{border-color:#f6c84b4d}.player.selectedPlayer{border-color:var(--gold)}.makeDealButton{border:1px solid var(--line);color:var(--gold-2);letter-spacing:.08em;background:#f6c84b1f;border-radius:5px;grid-column:2/4;padding:6px 9px;font-size:12px;font-weight:900}.dealsToggle{z-index:12;border:1px solid var(--line);color:var(--gold);letter-spacing:.12em;background:#051411f0;border-radius:10px;padding:11px 17px;font-size:13px;font-weight:950;position:fixed;bottom:16px;left:16px;box-shadow:0 8px 25px #00000059}.dealsToggle b{color:#fff;background:#d85345;border-radius:99px;margin-left:7px;padding:2px 6px}.incomingNotice{z-index:11;color:var(--gold-2);background:#193d32;border:1px solid #f5cf6b;border-radius:9px;padding:10px 17px;font-size:13px;font-weight:900;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0006}.dealsToggle:disabled{opacity:.4;cursor:not-allowed}.dealsPanel{z-index:30;border:1px solid var(--line);background:#051411fa;border-radius:17px;flex-direction:column;width:min(460px,100vw - 24px);padding:20px;display:flex;position:fixed;inset:12px auto 12px 12px;overflow:hidden;box-shadow:0 20px 70px #0009}.dealsPanel h2{color:var(--gold);margin:0 0 14px}.dealsPanel nav{flex-wrap:wrap;gap:6px;display:flex}.dealsPanel nav button{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:8px 9px;font-size:11px;font-weight:900}.dealsPanel nav button.selected{border-color:var(--gold);color:var(--gold-2)}.dealList{gap:11px;margin-top:14px;display:grid;overflow:auto}.dealCard,.contractCard{background:#ffffff09;border:1px solid #ffffff1a;border-radius:10px;padding:14px}.dealCard header{color:var(--gold);letter-spacing:.08em;justify-content:space-between;font-size:12px;display:flex}.dealCard p{color:var(--muted);margin:11px 0;font-size:13px;line-height:1.5}.dealCard p strong{color:var(--cream);margin-bottom:2px;display:block}.dealCard em{color:var(--gold-2);font-size:12px;line-height:1.45;display:block}.dealCardActions{justify-content:flex-end;gap:7px;margin-top:11px;display:flex}.dealCardActions button{border:1px solid var(--line);color:var(--cream);background:#14786540;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:900}.contractCard{gap:7px;font-size:13px;line-height:1.4;display:grid}.contractCard header{justify-content:space-between;align-items:center;gap:10px;display:flex}.contractCard b{color:var(--gold)}.contractCard>strong{color:var(--cream)}.contractCard span,.contractCard small,.emptyDeals{color:var(--muted)}.contractStatus{letter-spacing:.06em;border:1px solid #ffffff1f;border-radius:999px;padding:3px 7px;font-size:10px}.status-active{color:var(--gold-2)!important}.status-completed{color:#75dda8!important}.status-defaulted,.status-cancelled{color:#ff9b93!important}.modalBackdrop{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dealBuilder{border:1px solid var(--line);background:#071b16;border-radius:18px;width:min(920px,100%);max-height:calc(100vh - 40px);padding:24px;position:relative;overflow:auto;box-shadow:0 25px 80px #000}.dealBuilder h2{margin:6px 0 18px}.dealColumns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dealSideEditor{background:#ffffff06;border:1px solid #ffffff1a;border-radius:11px;align-content:start;gap:11px;padding:15px;display:grid}.dealSideEditor h3{color:var(--gold);letter-spacing:.12em;margin:0;font-size:13px}.dealSideEditor label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;line-height:1.35;display:grid}.dealSideEditor input,.dealSideEditor select,.qaPanel input,.qaPanel select{width:100%;height:38px;color:var(--cream);background:#0a2820;border:1px solid #ffffff1f;border-radius:7px;padding:0 9px;font-size:13px}.dealFieldLabel{color:var(--muted);font-size:12px;font-weight:800}.propertyChecks{gap:6px;max-height:110px;display:grid;overflow:auto}.propertyChecks label{align-items:center;gap:7px;display:flex}.propertyChecks input{width:15px;height:15px}.rentFields,.clauseFields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.clauseSection{background:#0000001f;border:1px solid #f6c84b29;border-radius:8px}.clauseSection summary{cursor:pointer;color:var(--gold-2);letter-spacing:.07em;padding:10px;font-size:12px;font-weight:900}.clauseSection summary span{float:right;color:var(--muted);font-size:10px}.clauseSection>label,.clauseSection>div{margin:0 10px 10px}.clauseToggle{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.clauseToggle input{width:16px;height:16px}.wideField{grid-column:1/-1}.dealBuilderActions{justify-content:flex-end;gap:9px;margin-top:17px;display:flex}.dealBuilderActions button{padding:0 20px;font-size:13px}.qaPanel{z-index:15;color:#fb8;background:#231108f7;border:1px dashed #f48b49;border-radius:9px;width:min(440px,100vw - 28px);font-size:11px;position:fixed;bottom:14px;right:14px}.qaPanel summary{cursor:pointer;letter-spacing:.14em;padding:10px 12px;font-weight:950}.qaPanel>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:72vh;padding:0 10px 10px;display:grid;overflow:auto}.qaPanel label{gap:3px;display:grid}.qaPanel button{color:#ffc49a;background:#ff8c461a;border:1px solid #ffac684d;border-radius:6px;align-self:end;min-height:34px;font-size:10px;font-weight:850}.qaDice{grid-template-columns:1fr 1fr;gap:4px;display:grid}html,body{overflow-x:hidden}.gameShell{grid-template-rows:auto minmax(0,1fr) auto;align-items:center;height:100svh;min-height:0;padding:4px 8px 5px;display:grid;overflow:hidden}.roomHeader{background:linear-gradient(90deg,#0000,#08221c61 20% 80%,#0000);border-bottom:1px solid #f6c84b17;align-items:center;gap:12px;width:min(100vw - 16px,1700px);min-height:49px;margin:0 auto 3px;padding:4px 8px 5px}.roomHeader>div:first-child{flex:none}.roomHeader h1{margin-top:0;font-size:clamp(18px,1.35vw,25px);line-height:1.05}.roomHeader .eyebrow{font-size:9px}.players{flex-wrap:nowrap;flex:auto;gap:5px;overflow:hidden}.player{background:linear-gradient(145deg,#0c2b23ad,#04120fc2);border-color:#ffffff12;gap:1px 6px;min-width:0;padding:5px 8px;font-size:clamp(11px,.72vw,14px);box-shadow:inset 0 1px #ffffff06}.player small{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(9px,.6vw,11px);overflow:hidden}.player b{font-size:8px}.connectionStatus{color:var(--muted);letter-spacing:.1em;white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:9px;font-weight:900;display:inline-flex}.connectionStatus i{background:#879690;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #ffffff0a}.connection-connected i{background:#5bd69a;box-shadow:0 0 8px #5bd69a73}.connection-reconnecting i{background:#e8b94d;animation:1.2s ease-in-out infinite connectionPulse}.connection-disconnected i{background:#df655c}.homeConnection{z-index:3;position:absolute;top:14px;right:18px}@keyframes connectionPulse{50%{opacity:.35}}.board{--board-size:min(calc(100vw - 16px), calc(100svh - 72px), 1030px);width:var(--board-size);height:var(--board-size);grid-template-rows:11.5% repeat(8,minmax(0,1fr)) 11.5%;grid-template-columns:11.5% repeat(8,minmax(0,1fr)) 11.5%;gap:clamp(2px,.17vw,3px);margin:0 auto;overflow:clip}.tile{z-index:2;isolation:isolate;border-width:2px;border-radius:clamp(6px,.45vw,9px);gap:3px;padding:5px 6px 6px;overflow:visible}.tile:after,.tile:before{z-index:-1}.tile.propertyTile{background:linear-gradient(155deg, #03120f38, #03120f8c), var(--group-color)}.tileName{word-break:normal;text-wrap:balance;letter-spacing:-.01em;margin-top:13px;font-weight:900;-webkit-line-clamp:unset!important;-webkit-hyphens:none!important;hyphens:none!important;overflow-wrap:normal!important;font-size:clamp(13.5px,.76vw,15px)!important;line-height:1.12!important;display:block!important;overflow:visible!important}.tile.propertyTile .tileName{min-height:2.24em}.tileIndex{font-size:8px;font-weight:800;top:4px;left:5px;right:auto}.ownerBadge{border-width:2px;min-width:25px;height:20px;padding:0 5px;font-size:9px;top:3px;right:4px}.tile.owned{box-shadow:inset 0 0 0 3px var(--owner-color), 0 0 0 1px var(--owner-color);border-width:2px}.tile.landed{box-shadow:0 0 26px #f6c84bd1, inset 0 0 0 3px var(--owner-color,transparent);outline-width:4px}.tileEconomy{gap:1px;min-height:2.35em;font-size:clamp(12px,.67vw,14px)!important;line-height:1.12!important}.tileEconomy span{text-overflow:clip;white-space:normal;letter-spacing:.035em;max-width:100%;font-size:clamp(11px,.61vw,12.5px);overflow:visible}.tileEconomy b{font-size:clamp(12.5px,.68vw,14px)}.buildings{min-height:11px}.setBadge{font-size:7px;bottom:4px;left:auto;right:4px}.effectBadges{top:3px;left:31px}.tokens{pointer-events:none;gap:3px;max-width:none;inset:auto;overflow:visible}.tile.occupied{z-index:8}.tokens span{border:3px solid var(--player-color);background:#03110e;border-radius:10px;gap:4px;min-width:39px;height:31px;padding:3px 5px;box-shadow:0 4px 13px #000000e6}.tokens span.activeToken{outline:3px solid var(--gold);outline-offset:2px;transform:scale(1.06);box-shadow:0 0 18px #f6c84bb8,0 4px 13px #000}.tokens i{width:12px;height:12px}.tokens b{font-size:10px;font-weight:950}.side-top .tokens{flex-wrap:wrap;justify-content:center;width:123px;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.side-bottom .tokens{flex-wrap:wrap-reverse;justify-content:center;width:123px;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)}.side-right .tokens{flex-flow:column wrap;max-height:105px;top:50%;right:calc(100% + 5px);transform:translateY(-50%)}.side-left .tokens{flex-flow:column wrap;max-height:105px;top:50%;left:calc(100% + 5px);transform:translateY(-50%)}.corner-0 .tokens{justify-content:flex-start;width:123px;top:calc(100% + 5px);left:calc(100% + 5px);transform:none}.corner-9 .tokens{justify-content:flex-end;width:123px;top:calc(100% + 5px);left:auto;right:calc(100% + 5px);transform:none}.corner-18 .tokens{flex-flow:wrap-reverse;justify-content:flex-end;max-height:none;top:auto;bottom:calc(100% + 5px);right:calc(100% + 5px);transform:none}.corner-27 .tokens{justify-content:flex-start;width:123px;top:auto;bottom:calc(100% + 5px);left:calc(100% + 5px);transform:none}.tile-corner{text-align:center;justify-content:center;align-items:center}.tile-corner .tileName{min-height:0;margin:10px 3px 0;font-size:clamp(15px,.92vw,18px)!important;line-height:1.08!important}.corner-0{background:linear-gradient(145deg,#2b7a50,#17412e);border-color:#d9bd55}.corner-9{background:linear-gradient(145deg,#25766d,#123f3b);border-color:#68d3c0}.corner-18{background:linear-gradient(145deg,#69518d,#35294b);border-color:#baa3df}.corner-27{background:linear-gradient(145deg,#993c32,#4e1c1a);border-color:#ff8d78}.tile-normal_event,.tile-trouble_event,.tile-lottery,.tile-tax{text-align:center;justify-content:center;align-items:center}.tile-normal_event .tileName,.tile-trouble_event .tileName,.tile-lottery .tileName,.tile-tax .tileName{letter-spacing:.03em;margin:8px 1px 0;font-size:clamp(14px,.84vw,16px)!important}.tile-normal_event{background:linear-gradient(145deg,#3367a3,#172f58);border-color:#6baaf3}.tile-trouble_event{background:linear-gradient(145deg,#a52f32,#4d151d);border-color:#ff786d;box-shadow:inset 0 0 20px #ff59462e}.tile-lottery{background:linear-gradient(145deg,#a86f09,#533607);border-color:#ffd25b}.tile-tax{background:linear-gradient(145deg,#863618,#3f1710);border-color:#f09367}.tile-x{background:linear-gradient(145deg,#0f7370,#123d42);border-color:#45e0d2}.tile-x .tileName{color:#e3fffb}.tile-x:after{z-index:-1}.tile.mortgaged{filter:saturate(.45)brightness(.72)}.tile.mortgaged .tileEconomy span{font-size:clamp(11px,.61vw,12px)}.boardCenter{z-index:1;padding:clamp(8px,1vw,15px);position:relative;overflow:hidden}.boardCenter h2{margin:3px 0 0;font-size:clamp(21px,2vw,32px);line-height:1.05}.activeTurnLabel{color:var(--gold-2);letter-spacing:.16em;margin:2px 0 1px;font-size:9px;font-weight:900}.gameMessage{margin:5px 0 8px;font-size:clamp(12px,.78vw,14px)}.centerAction{min-height:48px}.syncNote{margin:1px 0 0;font-size:10px;line-height:12px}.gameShell{height:100svh;overflow:hidden}.boardScene{perspective:2600px;perspective-origin:50% 38%;isolation:isolate;touch-action:none;cursor:grab;width:min(100vw - 16px,1900px);height:calc(100svh - 72px);min-height:0;margin:0 auto;position:relative;overflow:clip}.boardScene.isPanning{cursor:grabbing}.boardPanLayer{--default-board-y:84px;transform:translate3d(var(--pan-x,0), calc(var(--pan-y,0px) + var(--default-board-y)), 0);will-change:transform;transition:transform .22s cubic-bezier(.2,.75,.25,1);position:absolute;inset:0}.boardScene.isPanning .boardPanLayer{transition:none}.boardZoomLayer{--board-zoom:1;transform:scale(var(--board-zoom));transform-origin:50% 48%;will-change:transform;transition:transform .24s cubic-bezier(.2,.75,.25,1);position:absolute;inset:0}.boardScene.isPanning .boardZoomLayer{transition:none}.boardViewControls{z-index:75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#143027f0,#051612f2);border:1px solid #f6c84b52;border-top-color:#ffe2828f;border-radius:10px;align-items:center;gap:2px;min-height:34px;padding:3px;display:flex;position:absolute;bottom:17px;left:50%;transform:translate(-50%);box-shadow:0 7px 18px #00000057,inset 0 1px #ffffff0f}.boardViewControls button{color:#ffe69ad1;background:0 0;border:0;border-radius:6px;min-width:29px;height:27px;padding:0 8px;font-size:17px;font-weight:850;line-height:1}.boardViewControls button:hover:not(:disabled){color:#fff0b7;background:#f6c84b1a}.boardViewControls button:disabled{opacity:.28;cursor:not-allowed}.boardViewControls output{color:#ffffffa6;text-align:center;font-variant-numeric:tabular-nums;width:42px;font-size:8px;font-weight:800}.boardViewControls .boardResetButton{letter-spacing:.1em;border-left:1px solid #f6c84b33;border-radius:0 6px 6px 0;min-width:auto;padding:0 9px;font-size:8px}.boardScene.hasPan .boardViewControls{border-color:#f6c84b85}.boardScene:before{content:"";z-index:-2;opacity:.78;background:radial-gradient(#000000b8,#00000040 50%,#0000 72%);border-radius:50%;width:min(84vw,1580px);height:62%;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.boardScene:after{content:"";z-index:-3;background:radial-gradient(#154c3d38,#0000 66%);border-bottom:1px solid #f6c84b14;border-radius:50%;position:absolute;inset:2% 3% 0}.boardPlane{--plane-size:min(49vw, calc((100svh - 76px) * .92), 940px);width:var(--plane-size);height:var(--plane-size);z-index:2;transform-style:preserve-3d;position:absolute;top:40.5%;left:50%;transform:translate(-50%,-50%)rotateX(44deg)rotate(45deg)}.boardScene .board{--board-size:100%;width:100%;height:100%;transform-style:preserve-3d;background:#0a2d25;border-radius:24px;grid-template-rows:14.25% repeat(8,minmax(0,1fr)) 14.25%;grid-template-columns:14.25% repeat(8,minmax(0,1fr)) 14.25%;gap:2px;margin:0;position:relative;overflow:visible;box-shadow:inset 0 0 0 2px #ffffff0d,inset 0 16px 30px #ffffff05}.boardScene .board:before{content:"";z-index:-3;background:linear-gradient(135deg,#fff4c04d,#0000 16% 66%,#0000007a),linear-gradient(160deg,#8f6c25,#49340f 54%,#201707);border:3px solid #85651f;border-radius:37px;position:absolute;inset:-20px;transform:translateZ(-35px);box-shadow:0 25px 44px #000000a3,inset 0 2px #fff4c742,inset 0 -8px #0000003d}.boardScene .board:after{content:"";z-index:-2;background:linear-gradient(145deg,#ffdd742b,#0000002e);border:1px solid #ffe1807a;border-radius:31px;position:absolute;inset:-11px;transform:translateZ(-12px);box-shadow:inset 0 0 0 5px #0e261ed6,0 5px #231907b3}.boardScene .tile{--tile-rise:10px;--tile-depth:-14px;--depth-shift:7px;z-index:4;isolation:auto;transform:translateZ(var(--tile-rise));transform-style:preserve-3d;background:linear-gradient(150deg,#1e4a3d,#0c2b23);border:2px solid #fff3;border-radius:11px;padding:0;transition:transform .16s,filter .16s,box-shadow .16s;display:block;overflow:visible;box-shadow:inset 0 1px #ffffff38,inset 0 -5px #0000002e,0 4px 9px #00000061}.boardScene .tile:before{content:"";z-index:-2;transform:translate3d(var(--depth-x,0), var(--depth-y,var(--depth-shift)), var(--tile-depth));pointer-events:none;background:linear-gradient(145deg,#234d40,#020b09 76%);border:1px solid #ffffff1f;border-radius:11px;position:absolute;inset:1px;box-shadow:0 8px 12px #00000094,inset 0 -5px #00000061}.boardScene .tile:after{content:"";z-index:6;pointer-events:none;background:linear-gradient(145deg,#ffffff1c,#0000 23% 72%,#00000024);border:1px solid #ffffff26;border-bottom-color:#00000052;border-radius:8px;position:absolute;inset:2px;transform:translateZ(1px)}.boardScene .side-top{--tile-rise:12px;--tile-depth:-21px;--depth-x:-2px;--depth-y:-2px}.boardScene .side-right{--tile-rise:13px;--tile-depth:-22px;--depth-x:3px;--depth-y:0}.boardScene .side-left{--tile-rise:13px;--tile-depth:-22px;--depth-x:-3px;--depth-y:0}.boardScene .side-bottom{--tile-rise:14px;--tile-depth:-23px;--depth-x:2px;--depth-y:3px}.boardScene .propertyTile:hover{z-index:12;filter:brightness(1.08);transform:translateZ(calc(var(--tile-rise) + 7px))}.boardScene .propertyTile:focus{outline:none}.boardScene .propertyTile:focus-visible{box-shadow:0 0 0 4px var(--gold), 0 8px 18px #0000007a;outline:none}.boardScene .tile.propertyTile{background:linear-gradient(150deg, #ffffff29, transparent 28%, #00000057), var(--group-color)}.boardScene .tile.owned{border-color:var(--owner-color);box-shadow:inset 0 0 0 2px var(--owner-color), inset 0 1px #fff3, 0 4px 10px #00000070;border-width:3px}.boardScene .tile.landed{z-index:14;outline:3px solid var(--gold);outline-offset:2px;box-shadow:0 0 17px #f6c84bb3, inset 0 0 0 2px var(--owner-color,transparent);transform:translateZ(calc(var(--tile-rise) + 7px))}.tileContentClip{z-index:8;transform-style:preserve-3d;pointer-events:none;border-radius:8px;position:absolute;inset:3px;overflow:hidden;transform:translateZ(3px)}.tileContent{transform-origin:50%;transform-style:preserve-3d;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;gap:1px;padding:1px 2px;display:flex;position:absolute;inset:10% 8% 8%;overflow:visible;transform:translateZ(20px)rotate(-45deg)rotateX(-44deg)scale(1.28)}.boardScene .side-right .tileContent,.boardScene .side-left .tileContent{inset:8% 8% 7%}.boardScene .tileName{color:#ffffffd1;letter-spacing:.015em;text-shadow:0 1px 2px #000000e6;z-index:1;min-height:1em;margin:2px 0 0;font-weight:750;position:relative;font-size:clamp(8.5px,.5vw,10px)!important;line-height:1!important}.boardScene .tileName>span{display:block}.boardScene .tileEconomy{white-space:nowrap;align-content:center;place-items:center;gap:0;min-height:2.15em;display:grid;font-size:clamp(10px,.55vw,11px)!important;line-height:1!important}.boardScene .tileEconomy span{color:#ffffffb8;letter-spacing:.12em;max-width:none;font-size:clamp(7px,.4vw,8px);font-weight:800}.boardScene .tileEconomy b{color:#fff5cf;letter-spacing:-.025em;text-shadow:0 2px 3px #000000c2;font-variant-numeric:tabular-nums;font-size:clamp(15px,.88vw,17px);font-weight:850}.boardScene .tileIndex{text-shadow:0 1px 2px #000;font-size:6px;top:0;left:1px}.boardScene .ownerBadge{border:2px solid #ffffffe6;border-radius:4px;min-width:22px;height:16px;font-size:7px;top:-15px;right:-3px;box-shadow:0 3px #0000006b,0 5px 8px #0000005c}.boardScene .setBadge{font-size:6px;bottom:0;right:1px}.boardScene .effectBadges{top:0;left:15px}.boardScene .tile-corner{background:linear-gradient(150deg,#8f6d22,#3b2b0d)}.boardScene .corner-0{background:linear-gradient(150deg,#329669,#12432e 78%)}.boardScene .corner-9{background:linear-gradient(150deg,#278a80,#103d38 78%)}.boardScene .corner-18{background:linear-gradient(150deg,#8063a7,#35284d 78%)}.boardScene .corner-27{background:linear-gradient(150deg,#b34a3e,#4a1a17 78%)}.boardScene .tile-normal_event{background:linear-gradient(150deg,#447fc0,#172e56 76%);border-color:#82bfff}.boardScene .tile-trouble_event{background:linear-gradient(150deg,#c33b3c,#4b1118 76%);border-color:#ff8b7c}.boardScene .tile-lottery{background:linear-gradient(150deg,#c48712,#583704 76%);border-color:#ffdd6c}.boardScene .tile-tax{background:linear-gradient(150deg,#a44922,#3d150c 76%);border-color:#f6a279}.boardScene .tile-x{background:linear-gradient(150deg,#148b83,#0c3739 78%);border-color:#55e8d9}.boardScene .tile-corner .tileContent,.boardScene .tile-normal_event .tileContent,.boardScene .tile-trouble_event .tileContent,.boardScene .tile-lottery .tileContent,.boardScene .tile-tax .tileContent{text-align:center;justify-content:center;align-items:center}.boardScene .tile-corner .tileName,.boardScene .tile-normal_event .tileName,.boardScene .tile-trouble_event .tileName,.boardScene .tile-lottery .tileName,.boardScene .tile-tax .tileName{color:#fff;letter-spacing:.045em;min-height:0;margin:0;font-weight:800;font-size:clamp(10px,.62vw,12px)!important;line-height:1.03!important}.boardScene .tile-x .tileName{text-align:center;align-items:center;min-height:1.65em;margin:1px 0 0}.boardScene .tileGlyph{z-index:0;color:#ffffff13;text-shadow:none;place-items:center;font-size:clamp(32px,2.3vw,44px);font-weight:950;line-height:1;display:grid;position:absolute;inset:0}.boardScene .tile-trouble_event .tileGlyph{color:#ffd6c417}.boardScene .tile-lottery .tileGlyph{color:#ffeb9d1a}.boardScene .tile-tax .tileGlyph{color:#ffd7b816}.boardScene .tile-normal_event,.boardScene .tile-trouble_event,.boardScene .tile-lottery,.boardScene .tile-tax,.boardScene .tile-corner{box-shadow:inset 0 1px #fff3,inset 0 -7px #0003,0 4px 9px #0000005c}.xDisplay{color:#e8fffb;text-shadow:0 2px #00000057,0 4px 9px #00000059;font-size:clamp(16px,1.05vw,20px);line-height:.7}.xNetworkLabel{color:#c6fff7;letter-spacing:.1em;margin-top:1px;font-size:6px}.xMark{z-index:-1;color:#80ffee1f;font-size:48px;font-weight:950;line-height:1;position:absolute;bottom:2px;right:2px}.boardScene .tile.mortgaged{filter:saturate(.5)brightness(.72);border-style:dashed}.boardScene .tile.mortgaged:before{content:""}.boardScene .tile.mortgaged .tileEconomy span{display:none}.mortgageStamp{z-index:10;color:#ffd3bc;letter-spacing:.08em;background:#3e130bc7;border:2px solid #ffc29e;border-radius:3px;padding:3px 5px;font-size:8px;font-weight:950;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-9deg);box-shadow:0 2px 5px #000}.boardScene .buildings{align-items:end;gap:3px;min-height:13px;position:absolute;bottom:0;left:50%;transform:translate(-50%)translateZ(7px)}.boardScene .developed .tileEconomy{padding-bottom:11px}.boardScene .house{background:linear-gradient(135deg,#f7f6e8,#a7cbb2);border:1px solid #ffffffb8;border-radius:2px 2px 1px 1px;width:10px;height:9px;position:relative;box-shadow:2px 3px #315b45,0 4px 5px #0000007a}.boardScene .house:before{content:"";clip-path:polygon(50% 0,100% 70%,100% 100%,0 100%,0 70%);background:#d9a43a;width:11px;height:6px;position:absolute;top:-4px;left:-2px}.boardScene .hotel{background:linear-gradient(145deg,#f0695b,#8f241d);border:1px solid #ffd0c8;padding:2px 7px;box-shadow:3px 4px #4a110e,0 5px 7px #0000007a}.boardCenterSurface{z-index:1;background:radial-gradient(circle,#1d654f61,#0000 58%),repeating-linear-gradient(35deg,#ffffff02 0 1px,#0000 1px 5px),linear-gradient(145deg,#0a3027,#041612 76%);border:2px solid #c69e3673;border-radius:20px;grid-area:2/2/10/10;position:relative;overflow:hidden;transform:translateZ(-8px);box-shadow:inset 0 0 0 7px #00000029,inset 0 16px 30px #0000006b,0 0 0 4px #04110ead}.boardCenterSurface:before{content:"";border:1px solid #f6c84b21;border-radius:46%;position:absolute;inset:4%;box-shadow:0 0 0 1px #00000040}.boardCenterSurface:after{content:"D&D";color:#f6c84b0b;letter-spacing:-.12em;place-items:center;font-size:clamp(74px,8vw,145px);font-weight:950;display:grid;position:absolute;inset:0;transform:rotate(-45deg)}.boardZoomLayer>.boardCenter{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none;background:linear-gradient(155deg,#0e372cd6,#041713db);border:1px solid #f6c84b40;border-radius:22px;width:min(570px,35vw);max-height:68%;padding:17px 22px 19px;position:absolute;top:41.5%;left:50%;overflow:visible;transform:translate(-50%,-52%);box-shadow:0 16px 38px #00000047,inset 0 1px #ffffff0f,inset 0 0 28px #0000001f}.boardZoomLayer>.boardCenter:before{content:"";z-index:-1;pointer-events:none;border:1px solid #f6c84b17;border-radius:17px;position:absolute;inset:5px}.boardZoomLayer>.boardCenter-lobby{width:min(470px,30vw);padding-block:20px 22px}.boardZoomLayer>.boardCenter>*{pointer-events:auto}.boardZoomLayer>.boardCenter h2{text-shadow:0 2px 8px #000000ad;margin-top:4px}.boardScene .diceReadout b{border:1px solid #fff;border-bottom:5px solid #c9c4ad;border-radius:9px;transform:translateY(-3px);box-shadow:4px 6px #5a5a4e,0 10px 18px #0006}.boardScene .tokens{z-index:25;align-items:end}.boardScene .tokens span{width:27px;min-width:27px;height:35px;box-shadow:none;transform-origin:50%;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;transform:translateZ(42px)rotate(-45deg)rotateX(-44deg)}.boardScene .tokens span:after{content:"";z-index:-2;filter:blur(2px);background:#00000094;border-radius:50%;height:7px;position:absolute;bottom:-3px;left:2px;right:2px;transform:translateY(4px)}.boardScene .pawnHead,.boardScene .pawnBody{background:linear-gradient(135deg, color-mix(in srgb, var(--player-color) 72%, #fff), var(--player-color) 50%, color-mix(in srgb, var(--player-color) 68%, #000));border:1px solid #ffffffc2;display:block;position:absolute;box-shadow:inset 2px 2px 3px #ffffff4d,inset -2px -3px 4px #00000047,0 3px 4px #00000085}.boardScene .pawnHead{z-index:3}.boardScene .pawnBody{z-index:2;clip-path:polygon(36% 0,64% 0,69% 35%,91% 78%,100% 100%,0 100%,9% 78%,31% 35%);border-radius:5px 5px 8px 8px;height:23px;bottom:3px;left:3px;right:3px}.boardScene .pawnHead{border-radius:50%;width:13px;height:13px;top:0;left:7px}.boardScene .pawn-2 .pawnHead{border-radius:3px;width:12px;height:12px;top:1px;left:7.5px;transform:rotate(45deg)}.boardScene .pawn-2 .pawnBody{clip-path:polygon(50% 0,73% 30%,62% 52%,92% 82%,100% 100%,0 100%,8% 82%,38% 52%,27% 30%)}.boardScene .pawn-3 .pawnHead{clip-path:polygon(0 0,27% 0,27% 28%,43% 28%,43% 0,59% 0,59% 28%,75% 28%,75% 0,100% 0,100% 100%,0 100%);border-radius:2px;width:16px;height:11px;top:2px;left:5.5px}.boardScene .pawn-3 .pawnBody{clip-path:polygon(20% 0,80% 0,73% 64%,100% 82%,100% 100%,0 100%,0 82%,27% 64%);border-radius:3px;left:4px;right:4px}.boardScene .pawn-4 .pawnHead{clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%);border-radius:50% 50% 42% 42%;width:14px;height:14px;top:0;left:6.5px}.boardScene .pawn-4 .pawnBody{clip-path:polygon(32% 0,68% 0,90% 28%,72% 48%,100% 100%,0 100%,28% 48%,10% 28%);border-radius:9px 9px 4px 4px}.boardScene .pawn-5 .pawnHead{border:4px solid var(--player-color);background:0 0;border-radius:50%;width:14px;height:11px;top:1px;left:6.5px;box-shadow:0 2px 3px #00000080}.boardScene .pawn-5 .pawnBody{clip-path:polygon(25% 0,75% 0,62% 43%,86% 72%,100% 100%,0 100%,14% 72%,38% 43%)}.boardScene .pawn-6 .pawnHead{clip-path:polygon(0 14%,25% 42%,50% 0,75% 42%,100% 14%,88% 100%,12% 100%);border-radius:2px 2px 5px 5px;width:16px;height:13px;top:0;left:5.5px}.boardScene .pawn-6 .pawnBody{clip-path:polygon(28% 0,72% 0,82% 50%,100% 72%,88% 100%,12% 100%,0 72%,18% 50%);border-radius:4px 4px 9px 9px}.boardScene .tokens span.activeToken{outline:2px solid var(--gold);outline-offset:3px;filter:drop-shadow(0 0 6px #f6c84bf2);border-radius:8px;transform:translateZ(50px)rotate(-45deg)rotateX(-44deg)scale(1.1)}.boardScene .tokens b{z-index:5;color:#fff;text-shadow:0 1px 2px #000;font-size:6px;font-weight:950;line-height:1;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.boardScene .side-top .tokens{flex-wrap:wrap;justify-content:center;gap:0;width:55px;top:calc(100% - 13px);bottom:auto;left:50%;transform:translate(-50%)}.boardScene .side-bottom .tokens{flex-wrap:wrap-reverse;justify-content:center;gap:0;width:55px;top:auto;bottom:calc(100% - 13px);left:50%;transform:translate(-50%)}.boardScene .side-right .tokens{flex-flow:column wrap;gap:0;max-height:65px;top:50%;left:auto;right:calc(100% - 13px);transform:translateY(-50%)}.boardScene .side-left .tokens{flex-flow:column wrap;gap:0;max-height:65px;top:50%;left:calc(100% - 13px);right:auto;transform:translateY(-50%)}.boardScene .side-top .tokens span+span,.boardScene .side-bottom .tokens span+span,.boardScene .corner-0 .tokens span+span,.boardScene .corner-9 .tokens span+span,.boardScene .corner-18 .tokens span+span,.boardScene .corner-27 .tokens span+span{margin-left:-7px}.boardScene .side-right .tokens span+span,.boardScene .side-left .tokens span+span{margin-top:-8px}.boardScene .corner-0 .tokens{flex-wrap:wrap;justify-content:center;width:55px;inset:calc(100% - 18px) auto auto 45%;transform:none}.boardScene .corner-9 .tokens{flex-wrap:wrap;justify-content:center;width:55px;inset:calc(100% - 18px) 45% auto auto;transform:none}.boardScene .corner-18 .tokens{flex-flow:wrap-reverse;justify-content:center;width:55px;max-height:none;inset:auto 45% calc(100% - 18px) auto;transform:none}.boardScene .corner-27 .tokens{flex-flow:wrap-reverse;justify-content:center;width:55px;inset:auto auto calc(100% - 18px) 45%;transform:none}.boardScene .auditZone{background:radial-gradient(#6e2a11c7,#280e08db);border:2px solid #ef8a55;border-bottom-width:6px;border-radius:50%/22%;min-width:330px;padding:10px 15px 14px;box-shadow:inset 0 8px 16px #00000059,0 12px 26px #00000061}.boardScene .auditZone>div{gap:9px}.boardScene .auditZone span{background:linear-gradient(145deg,#173c31,#071a15);border-width:3px;min-height:38px;padding:6px 10px;box-shadow:0 5px #00000080,0 8px 11px #00000059}.boardScene .auditZone i{border:2px solid #fff;width:13px;height:13px}.propertyPanel,.dealsPanel,.qaPanel,.modalBackdrop,.auctionBackdrop,.incomingNotice,.dealsToggle,.toastError{transform:none}.propertyPanel,.dealsToggle,.qaPanel,.incomingNotice{z-index:80}.dealsToggle{letter-spacing:.14em;background:linear-gradient(#133027f0,#051612f2);border-color:#ffe2826e #f6c84b45 #f6c84b45;border-radius:10px;min-height:36px;padding:0 13px;font-size:10px;bottom:17px;left:18px;box-shadow:0 7px 18px #0000004d,inset 0 1px #ffffff0d}.dealsToggle:before{content:"↔";color:#ffe69aa6;margin-right:7px;font-size:13px}.voicePlayerStatus{color:#abbeb69e}.voicePlayerStatus.listening{color:#8edcb9}.voicePlayerStatus.muted{color:#e6b664}.voicePlayerStatus.speaking{color:#71efac;text-shadow:0 0 8px #5bd69a8c}.voicePanel{z-index:82;width:270px;color:var(--cream);background:linear-gradient(155deg,#0e2f26f7,#041410fa);border:1px solid #f6c84b3d;border-radius:11px;padding:9px;position:fixed;bottom:61px;left:18px;box-shadow:0 10px 26px #00000061,inset 0 1px #ffffff0a}.voiceHeading{justify-content:space-between;align-items:center;gap:10px;display:flex}.voiceHeading strong{color:var(--gold-2);letter-spacing:.14em;font-size:9px}.voiceHeading span{color:var(--muted);font-size:9px}.voiceJoin{width:100%;min-height:31px;color:var(--gold-2);letter-spacing:.11em;background:#f6c84b1f;border:1px solid #f6c84b6b;border-radius:7px;margin-top:7px;font-size:10px;font-weight:900}.voiceWaiting{color:var(--muted);margin-top:7px;font-size:10px;display:block}.voiceActions{grid-template-columns:1.25fr 1fr .65fr;gap:4px;margin-top:7px;display:grid}.voiceActions button,.voicePeers button{color:#dcebe5;letter-spacing:.04em;background:#ffffff0e;border:1px solid #ffffff21;border-radius:6px;min-height:28px;padding:4px 6px;font-size:8px;font-weight:900}.voiceActions button.isMuted{color:#f0c46f;border-color:#e6b66480}.voiceActions .voiceLeave{color:#e89b94;border-color:#df655c47}.voicePeers{gap:3px;margin-top:7px;display:grid}.voicePeers>div{background:#0000002e;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-height:27px;padding:2px 3px 2px 7px;display:flex}.voicePeers span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex;overflow:hidden}.voicePeers span i{background:#75877f;border-radius:50%;flex:none;width:7px;height:7px}.voicePeers span.isSpeaking{color:#a8f1cb}.voicePeers span.isSpeaking i{background:#62e8a3;box-shadow:0 0 8px #62e8a3bf}.voicePeers button{min-width:43px;min-height:23px}.voiceError{color:#d9b985;margin-top:6px;font-size:9px;line-height:1.3;display:block}.voiceDiagnostics{color:#b1c4bca6;margin-top:6px;font-size:8px}.voiceDiagnostics summary{cursor:pointer;color:#f6c84b94;letter-spacing:.08em}.voiceDiagnostics span{margin-top:3px;display:block}.voicePanel audio{display:none}.qaPanel{color:#ffde8fbd;background:#071a15f5;border-color:#f6c84b33;bottom:17px;right:18px;box-shadow:0 7px 18px #0000004d}.qaPanel:not([open]){background:linear-gradient(#133027f0,#051612f2);border-style:solid;border-radius:10px;width:auto}.qaPanel:not([open]) summary{letter-spacing:.13em;align-items:center;min-height:34px;padding:0 13px;font-size:9px;display:flex}.qaPanel[open]{color:#fb8;background:#231108f7;border-color:#f48b4994}.syncNote{z-index:7;color:#b1c4bc6e;white-space:nowrap;width:auto;margin:0;font-size:8px;line-height:10px;position:fixed;bottom:3px;left:50%;transform:translate(-50%)}.syncNote strong{color:#f6c84b94}.dealsPanel{z-index:90}.modalBackdrop,.toastError{z-index:110}.auctionBackdrop{z-index:120}@media (max-height:800px) and (min-width:621px){.boardPlane{--plane-size:min(49vw, calc((100svh - 66px) * .92), 940px)}.boardScene .tileName{font-size:clamp(9px,.78vw,12px)!important}.boardScene .tileEconomy{font-size:clamp(8.5px,.68vw,10.5px)!important}.boardScene .tileEconomy b{font-size:clamp(12px,.86vw,14px)!important}.boardScene .tileEconomy span{font-size:clamp(7px,.54vw,8.5px)}.tokens span{min-width:32px;height:25px;padding:2px 4px}.tokens i{width:9px;height:9px}.tokens b{font-size:8px}}@media (prefers-reduced-motion:reduce){.shine,.logoDieLayer,.handshakeLayer,.connection-reconnecting i{animation:none}.boardPanLayer,.boardZoomLayer{transition:none}}@media (max-width:620px){.shell{padding:16px}.heroCard{border-radius:22px;padding:24px 18px}.joinRow{grid-template-columns:1fr}.secondaryButton{width:100%}.gameShell{height:auto;min-height:100svh;padding:8px;display:block;overflow-y:auto}.roomHeader{flex-direction:column;align-items:start}.players{flex-wrap:wrap;justify-content:flex-start;width:100%;overflow:visible}.connectionStatus{position:static}.board{--board-size:calc(100vw - 16px);margin-top:8px}.tile{padding:8px 2px 2px;overflow:hidden}.tile strong,.tileName{margin-top:2px;min-height:0!important;font-size:6px!important}.tileEconomy{display:none}.ownerBadge{border-width:1px;width:7px;height:7px;top:10px;right:2px}.tokens{display:none}.buildings{transform-origin:0 100%;transform:scale(.7)}.boardCenter{padding:8px}.boardCenter h2{font-size:18px}.gameMessage{margin:3px 0 6px;font-size:9px}.actionButton{width:100%;min-width:100px;height:42px}.buttonPair{width:100%}.buttonPair .actionButton{min-width:0}.propertyPanel{width:auto;max-height:70vh;inset:auto 8px 8px;overflow:auto}.dealColumns{grid-template-columns:1fr}.dealBuilder{padding:16px}.dealsToggle{bottom:8px;left:8px}.voicePanel{width:min(270px,100vw - 16px);bottom:52px;left:8px}.qaPanel{bottom:8px;right:8px}.incomingNotice{top:8px}.dealsPanel{width:auto;inset:8px}.boardScene{perspective:none;width:calc(100vw - 16px);height:calc(100vw - 16px);overflow:hidden}.boardScene:before,.boardScene:after{display:none}.boardPanLayer{--default-board-y:0px;height:100%;position:relative}.boardZoomLayer{height:100%;position:relative}.boardViewControls{min-height:30px;bottom:6px}.boardViewControls button{min-width:26px;height:25px;padding:0 6px}.boardPlane{--plane-size:calc(100vw - 16px);position:relative;top:0;left:0;transform:none}.boardScene .board{border-radius:12px}.boardScene .board:before{border-radius:15px;inset:-4px;transform:translate3d(3px,5px,-4px)}.boardScene .tile{--tile-rise:0px;--tile-depth:-3px;--depth-shift:2px;border-radius:5px;transform:none}.boardScene .tileContentClip{border-radius:4px;inset:1px;transform:none}.boardScene .tileContent{padding:1px;inset:3px;transform:none}.boardZoomLayer>.boardCenter{width:65%;max-height:65%;padding:5px;top:50%}.boardCenterSurface{border-width:1px;border-radius:8px}.boardCenterSurface:after{font-size:38px}.xDisplay{font-size:13px}.xNetworkLabel{font-size:4px}.boardScene .tokens{transform-origin:50%;display:flex;transform:scale(.72)}}
