@font-face{font-family:'Roboto Condensed';src:url('./assets/fonts/roboto-condensed-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('./assets/fonts/roboto-condensed-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('./assets/fonts/roboto-condensed-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Roboto;src:url('./assets/fonts/roboto-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('./assets/fonts/roboto-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
/* A single coordinate system shared by the pre-rendered scene, WebGL pieces,
   Canvas property ink, and live HTML interface. No perspective is applied twice. */
html,body{width:100%;height:100%;overflow:hidden;background:#031810}body{font-family:Roboto,Arial,sans-serif}#game-viewport{position:absolute;width:1672px;height:941px;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scene-scale,1));transform-origin:50% 50%;overflow:hidden;background:#06231a;isolation:isolate}#scene-root,#app{position:absolute;inset:0;width:1672px;height:941px}#scene-root{pointer-events:none}.scene-plate,.board-ink,.scene-pieces,.scene-pieces canvas{position:absolute;inset:0;width:1672px;height:941px}.scene-plate{object-fit:fill}.scene-pieces{z-index:2}.board-ink{z-index:1}#app{z-index:3;pointer-events:none}.game-shell{width:1672px;height:941px;min-height:0;display:block;overflow:visible;padding:0;background:transparent}.game-main{display:contents}.board-area{position:absolute;inset:0 auto auto 0;width:1326px;height:838px;padding:0;margin:0;display:block;overflow:visible;background:transparent;isolation:auto}.board-area:before,.board-area:after{display:none}.scene-tile-hit,.deck-hit{position:absolute;pointer-events:auto;border:0;padding:0;background:transparent;cursor:pointer;z-index:4}.scene-tile-hit:focus-visible{background:#f6d88433;outline:none}.deck-hit:hover{background:#ffde8533;border-radius:12px}.chance-hit{left:440px;top:496px;width:170px;height:111px;transform:rotate(-8deg)}.community-hit{left:756px;top:496px;width:171px;height:111px;transform:rotate(8deg)}
.topbar{position:absolute;left:0;top:0;width:1326px;height:42px;padding:0 15px;gap:19px;background:transparent;border:0;box-shadow:none;z-index:8;pointer-events:none}.topbar button{pointer-events:auto}.brand{font-family:Roboto,sans-serif;font-size:25px;letter-spacing:.8px;gap:13px;color:#dec48b;white-space:nowrap}.brand b{color:#fff6cd}.brand img{width:32px;height:35px}.room-header{display:flex;margin:0;padding-left:15px;border-left:1px solid #bfbd9388;gap:15px;font-size:16px;letter-spacing:0;color:#faf6e6}.room-header>button{font-family:'Roboto Condensed',sans-serif;font-size:17px;letter-spacing:.2px;gap:5px;color:#efefdf;padding:0}.room-header strong{font-weight:700;color:#fff}.room-header>span{display:flex;font-family:'Roboto Condensed',sans-serif;font-size:17px;gap:6px;color:#f8f3dc;border-left:1px solid #e1ddba99;padding-left:17px}.room-header>.header-edition{display:none!important}.room-header .icon{display:none}.topbar-right{position:fixed;left:1326px;top:0;width:346px;height:62px;display:flex;align-items:flex-start;gap:0;margin:0;padding:0 6px;pointer-events:auto}.topbar-right .icon-button{display:inline-flex!important;width:47px;height:43px;border:1px solid #36715888;border-top:0;border-radius:0 0 8px 8px;min-width:0;color:#c1d0cf;background:#041f18a6}.topbar-right .icon-button:last-child{order:-2}.topbar-right .icon-button:first-of-type{order:-1}.topbar-right .icon-button .icon{width:25px;height:25px}.signature{position:absolute;right:12px;top:6px;color:#e4cb83;font-family:Georgia,serif;font-style:italic;font-size:26px;line-height:1;display:block;width:160px;text-align:center}.signature i{font-size:22px;font-style:normal;margin-left:16px}.signature small{position:absolute;right:0;top:30px;font-family:'Roboto Condensed';font-style:normal;font-size:11px;text-align:right;line-height:1.05;color:#d7e8d7;width:150px}.connection{display:flex;position:absolute;left:12px;top:48px;font-size:6px;letter-spacing:1px;margin:0;color:#8baa8b}.connection>span{width:3px;height:3px}.algeria-label{display:none}
.sidebar{position:absolute;left:1326px;top:62px;width:346px;height:879px;border:0;box-shadow:none;background:transparent;padding:0 9px 90px 14px;overflow:hidden;pointer-events:auto;z-index:7}.sidebar>.section-heading{height:44px;display:flex;align-items:center;padding:0 8px;margin:0;border:1px solid #408165;border-bottom:0;border-radius:13px 13px 0 0;background:#05291f4d}.section-heading h2{font-family:'Roboto Condensed';font-size:21px;line-height:1;font-weight:700;letter-spacing:.15px;color:#ecf1df}.section-heading h2 span{font-size:20px;margin-left:2px;color:#e0e9d7;font-weight:700}.sidebar>.section-heading>span{display:none}.roster{min-height:473px;display:flex;flex-direction:column;gap:3px;padding:4px 6px 7px;border:1px solid #408165;border-top:0;border-radius:0 0 10px 10px;background:#031e1680}.player{height:55px;min-height:55px;width:100%;display:flex;align-items:center;padding:3px 8px 3px 4px;gap:10px;border:1px solid #2f79604d;border-radius:9px;background:linear-gradient(105deg,#07432e70,#031e1888 90%);position:relative}.player.current{border:1.5px solid #dcde8b;background:linear-gradient(105deg,#16894340,#052c1b99);box-shadow:0 0 0 3px #60ef8633,inset 0 0 15px #14b35633}.avatar{width:48px;height:48px;flex-shrink:0;min-width:48px;border:0;box-shadow:none;border-radius:50%;background-image:url('./assets/reference-ui.png');background-size:1672px 941px;background-position:-1343px var(--avatar-y);background-color:transparent;overflow:hidden}.avatar .pawn{display:none}.presence{right:0;bottom:3px;width:5px;height:5px}.player-info{gap:3px;min-width:0;flex:1}.player-info strong{font-family:'Roboto Condensed';font-size:16px;font-weight:600;line-height:17px;color:#f1eee3}.player-info>span{font-family:'Roboto Condensed';font-size:16px;font-weight:400;letter-spacing:.2px;line-height:18px;color:#f3f3e7}.player-info strong small{font-size:8px;margin-left:3px;color:#99b99c}.property-count{font-family:'Roboto Condensed';font-size:13px;position:absolute;left:184px;top:23px;gap:5px;color:#b3c4b3}.property-count .icon{width:15px;height:15px;fill:#9db9a055}.turn-tag{font-family:'Roboto Condensed';font-size:12px;font-weight:600;line-height:1;padding:8px 9px;border:1px solid #e5d585;border-radius:5px;letter-spacing:.4px;color:#f4e394;margin-left:22px}.player-info strong{max-width:125px}.remove-bot{font-size:22px}.empty-seat{min-height:31px;height:31px;font-family:'Roboto Condensed';font-size:11px}.empty-seat>span{font-size:10px}.empty-seat .icon{width:14px;height:14px}.property-card{margin:1px 5px 0 5px;border:1px solid #84ba76;border-radius:8px;overflow:visible;background:#eee8d5;position:relative;height:145px}.property-title{border-radius:6px 6px 0 0;height:35px;padding:4px 9px;gap:5px;color:#f6f9df;background:linear-gradient(115deg,#219749,#067e35);border:0}.property-title h3{font-family:'Roboto Condensed';font-size:23px;font-weight:700;letter-spacing:.4px}.property-title>.icon{width:18px;height:18px;fill:#fff5}.property-title>span{display:none}.property-detail{display:flex;min-height:0;height:109px;overflow:hidden;border-radius:0 0 7px 7px}.property-picture{width:59%;flex-shrink:0;height:109px;background-size:250%;position:relative}.property-picture.oran-picture{background-image:url('./assets/reference-ui.png');background-size:1672px 941px;background-position:-1350px -619px!important}.property-picture>.icon{width:55px;height:55px;background:#f5edd699}.property-numbers{padding:9px 8px;gap:0;display:flex;flex-direction:column;justify-content:center}.property-numbers>span{font-family:'Roboto Condensed';font-size:12px;line-height:15px;color:#1b2c25}.property-numbers strong,.property-numbers b{font-family:'Roboto Condensed';font-size:24px;font-weight:700;line-height:27px;white-space:nowrap;letter-spacing:0;color:#092526;margin:0}.property-numbers b{font-size:22px}.property-numbers>span:nth-of-type(2){margin-top:6px}.property-owner{display:none}.property-actions{position:absolute;left:-1px;right:-1px;top:157px;height:45px;display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0}.property-actions>.button{font-family:'Roboto Condensed';font-size:15px;font-weight:700;text-transform:uppercase;height:45px;border-radius:7px;padding:9px 8px;gap:8px}.property-actions>.green{background:linear-gradient(100deg,#0d653c88,#104129);border:1.5px solid #6ada8c;color:#eff8e5;box-shadow:inset 0 0 10px #26954f33}.property-actions>.outline{background:linear-gradient(100deg,#133d2b,#0b251c);border:1.5px solid #e2d789;color:#e4d788}.property-actions .icon{width:22px;height:22px}.property-actions button:disabled{opacity:.7}.property-card>.text-button{position:absolute;left:0;top:157px;height:45px;color:#c5e6b7;background:#103e2b;border:1px solid #64a76d;border-radius:7px;font-size:14px}.activity{margin:66px 5px 0;border:1px solid #337853;border-radius:8px;min-height:60px;padding:8px 12px}.activity .section-heading{margin:0 0 7px;display:flex;height:auto}.activity .section-heading h2{font-family:'Roboto Condensed';font-size:12px;letter-spacing:.6px;font-weight:400;color:#d3cba4}.activity .section-heading>span{display:none}.event{margin:0;gap:8px;align-items:center}.event p{font-family:'Roboto Condensed';font-size:13px;line-height:16px;color:#e8eadc}.event>span{width:17px;height:17px;flex-shrink:0;background:#e77887;border-radius:50%;margin:0;border:1px solid #f6b3b3;box-shadow:inset 0 0 0 4px #a5404444}.sidebar-signature{position:absolute;top:790px;left:0;right:0;height:88px;display:flex;justify-content:center;align-items:center;gap:15px;color:#9fb09b}.sidebar-signature>span{font-family:Georgia;font-size:51px;color:#aeae7c}.sidebar-signature>i{font-family:'Roboto Condensed';font-size:14px;font-weight:400;line-height:19px;color:#abc0a9;text-align:center}
.actionbar{position:absolute;left:0;top:838px;width:1326px;height:103px;padding:0;border:0;background:transparent;box-shadow:none;display:flex;gap:0;z-index:9;pointer-events:none}.actionbar button{pointer-events:auto}.turn-status{position:absolute;left:22px;top:14px;width:430px;height:78px;min-width:0;gap:23px;display:flex;align-items:center;flex:none}.turn-emblem{width:61px;height:65px;min-width:61px;border:0;background:url('./assets/reference-ui.png') -22px -852px/1672px 941px;border-radius:0;display:block}.turn-emblem>*{display:none}.turn-status>div:nth-child(2){gap:5px}.turn-status strong{font-family:'Roboto Condensed';font-size:29px;font-weight:700;line-height:32px;color:#f5e8be;white-space:nowrap;max-width:350px;overflow:hidden;text-overflow:ellipsis}.turn-status>div>span{font-family:'Roboto Condensed';font-size:15px;color:#cad6c6;line-height:18px;max-width:335px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn-clock{display:block;position:absolute;right:6px;bottom:1px;font-family:'Roboto Condensed';font-size:10px;opacity:.65;border:0;background:none;padding:0;color:#b4c5a3}.primary-action{position:absolute;left:468px;top:-5px;width:318px;height:84px;min-width:0;margin:0;border-radius:48px;border:2px solid #f2da8f;padding:20px 30px;gap:13px;font-family:'Roboto Condensed';font-size:24px;letter-spacing:0;font-weight:700;text-transform:uppercase;color:#fff5cf;text-shadow:0 2px 3px #352500;background:linear-gradient(180deg,#dbc273 0%,#cfb257 14%,#a08733 48%,#857021 66%,#b49742 100%);box-shadow:0 0 0 4px #b1964166,0 0 0 7px #273f2455,inset 0 1px 3px #fffada,0 0 22px #e5bf4766,0 6px 10px #061209}.primary-action>.icon{width:40px;height:40px;filter:drop-shadow(1px 2px 2px #433304)}.primary-action.reference-roll{background-image:url('./assets/reference-ui.png');background-repeat:no-repeat;background-size:1672px 941px;background-position:-470px -833px;color:transparent;text-shadow:none;border-color:transparent;box-shadow:none}.primary-action.reference-roll>.icon{visibility:hidden}.primary-action:disabled{opacity:.68;background:linear-gradient(180deg,#74836b,#304d37);color:#d9ddc7;border-color:#87a276;box-shadow:inset 0 0 15px #b2ad5c33;text-shadow:none}.primary-action.reference-roll:disabled{background-image:url('./assets/reference-ui.png');color:transparent;filter:saturate(.4);background-position:-470px -833px;background-size:1672px 941px;border-color:transparent}.bottom-nav{position:absolute;left:820px;top:18px;display:flex;align-items:center;gap:19px;height:58px;margin:0}.nav-button{height:56px;min-height:0;border:1px solid #247454;border-radius:14px;font-family:'Roboto Condensed';font-size:15px;font-weight:700;padding:14px 20px;display:flex;gap:12px;color:#eef2e4;background:linear-gradient(115deg,#0e44334d,#061e1699);white-space:nowrap}.nav-button>span{display:inline}.nav-button .icon{width:25px;height:25px;color:#bcd0d0;fill:#afc7c544}.nav-button:nth-child(1){width:174px}.nav-button:nth-child(2){width:177px}.nav-button:nth-child(3){width:119px}.chat-button b{width:23px;height:25px;border-radius:50%;font-family:'Roboto Condensed';font-size:15px;top:-5px;right:-6px;background:#ce394d;border:1px solid #f07175}.nav-button:disabled{opacity:.45}
.lobby-screen .sidebar{overflow-y:auto;padding-bottom:20px}.lobby-screen .sidebar-signature,.welcome .sidebar-signature{display:none}.lobby-screen .invite-card{margin:16px 6px 0;padding-top:15px}.invite-card .eyebrow{font-family:'Roboto Condensed';font-size:12px}.room-code{font-family:'Roboto Condensed';font-size:39px}.invite-card p{font-family:'Roboto Condensed';font-size:14px;line-height:20px;margin:8px 0 13px}.lobby-actions{margin:14px 6px 0;gap:10px}.lobby-actions>.button,.invite-card>.button{font-family:'Roboto Condensed';font-size:16px;height:43px;padding:9px}.waiting{font-family:'Roboto Condensed';font-size:16px;margin:12px}.welcome-panel{min-height:0;width:100%;max-width:none;margin:0;padding:38px 18px 0}.welcome-flag{display:block;width:48px;height:30px;margin-bottom:30px}.welcome-panel>.eyebrow{font-family:'Roboto Condensed';font-size:10px;letter-spacing:1.5px}.welcome-panel h2{font-family:Georgia,serif;font-size:52px;line-height:1.08;margin:19px 0 20px;letter-spacing:-1px}.welcome-panel h2 br{display:inline}.welcome-panel>p{font-family:'Roboto Condensed';font-size:17px;line-height:1.7;margin:0}.welcome-panel>p br{display:inline}.feature-pills{margin:24px 0 31px;font-family:'Roboto Condensed';font-size:15px;gap:20px}.feature-pills .icon{width:18px;height:18px}.welcome-panel form label{font-family:'Roboto Condensed';font-size:11px;margin-bottom:10px}.welcome-panel input{font-family:'Roboto Condensed';font-size:17px;padding:15px;border-radius:7px}.welcome-panel form .button{font-family:'Roboto Condensed';font-size:18px;padding:15px;height:52px}.or{font-family:'Roboto Condensed';font-size:9px;margin:24px 0 18px;gap:7px;letter-spacing:1px}.join-input{border-radius:8px}.join-input input{font-size:13px}.join-input button{width:46px;font-size:24px}.welcome-footer{font-family:'Roboto Condensed';font-size:11px;margin-top:23px;padding:0}.resume-link{font-family:'Roboto Condensed';font-size:13px;margin-top:17px}.welcome .bottom-nav{display:flex}.welcome .turn-status strong{font-size:27px}.welcome .turn-status>div>span{font-size:15px}.welcome .primary-action{font-size:22px;padding:20px}
.portrait-tip{display:none;position:fixed;top:8%;left:7%;right:7%;text-align:center;font-family:'Roboto Condensed';font-size:15px;color:#b7c5a5;line-height:1.6}.portrait-tip button{display:block;margin:10px auto;background:#d8bd74;color:#1a3425;padding:9px 14px;border-radius:8px;font-size:14px}.portrait-scene .portrait-tip{display:block}.modal-backdrop{z-index:30}.modal{font-family:Roboto,sans-serif}.modal-heading h2{font-family:Georgia,serif}#toast{z-index:40;bottom:28px;font-size:14px}.fallback-pawn{position:absolute;width:23px;height:34px;border-radius:50% 50% 35% 35%;transform:translate(-50%,-100%);background:radial-gradient(circle at 30% 15%,#fff,var(--piece) 40%,#10261b);box-shadow:3px 4px 3px #07150c66}.fallback-dice{position:absolute;left:592px;top:583px;color:#1f291e;background:#efe4bd;padding:15px;font-size:27px;border-radius:9px}
@media(prefers-reduced-motion:reduce){.scene-tile-hit,.primary-action{transition:none}}
.owned-property .property-owner{position:absolute;left:0;bottom:0;width:59%;height:auto;min-height:23px;display:flex;align-items:center;gap:5px;padding:4px 7px;background:#08291dda;color:#fff4d1;border-radius:0 0 0 7px;font-family:'Roboto Condensed';font-size:12px;line-height:15px}
