.app{background:var(--wyrd-surface, #fff);color:var(--wyrd-text, #000);font-family:var(--wyrd-font-body, inherit);font-size:var(--wyrd-font-size-body, 1rem);color-scheme:var(--wyrd-color-scheme, normal);min-height:100vh;min-height:100dvh}body{margin:0;background-color:var(--wyrd-surface, #fff)}main.game{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"stage rail" "stage action";gap:var(--wyrd-space-3, 1rem);padding:var(--wyrd-space-2, .5rem);box-sizing:border-box;height:100vh;height:100dvh}.stage{grid-area:stage;display:flex;align-items:center;justify-content:center}.deck-drift{margin:0;padding:.375rem .75rem;background:var(--wyrd-surface-raised, #fdf0d5);color:var(--wyrd-danger, #7a4b00);border-bottom:1px solid var(--wyrd-danger, #e0b95e);font-size:.875rem}.board{width:auto;height:100%;max-width:100%;max-height:100%;aspect-ratio:1}.board3d{position:relative;width:100%;height:100%}.board3d>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}aside{grid-area:rail;min-width:0;overflow-y:auto;overscroll-behavior:contain}.primary-slot{grid-area:action;display:flex;align-items:center;justify-content:flex-end;min-height:44px}.primary-action{min-height:44px;min-width:44px;padding:var(--wyrd-space-2, .5rem) var(--wyrd-space-3, 1rem);font:inherit;font-weight:600;border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);background:var(--wyrd-surface-raised, #fff);color:var(--wyrd-text, #000);cursor:pointer}.primary-action:disabled{opacity:.5;cursor:default}.opponents{margin:0 0 var(--wyrd-space-3, 1rem)}.opponents h2{margin:0 0 var(--wyrd-space-2, .5rem)}.opponent-cards{list-style:none;margin:0;padding:0}.opponent-cards li{margin:0 0 var(--wyrd-space-2, .5rem)}.opponent-cards li:last-child{margin-bottom:0}.renderer-control{margin:var(--wyrd-space-3, 1rem) 0}.renderer-control button{min-height:44px}.renderer-notice{margin:0 0 var(--wyrd-space-2, .5rem);color:var(--wyrd-text-muted, #6b6b6b);font-size:.875rem}.game-clock{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--wyrd-space-2, .5rem);margin:0 0 var(--wyrd-space-2, .5rem)}.game-clock__value{font-family:var(--wyrd-font-figure, inherit);font-size:var(--wyrd-font-size-figure, 1.125rem);font-variant-numeric:tabular-nums}.game-clock__paused{padding:0 var(--wyrd-space-1, .25rem);border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius, 3px);color:var(--wyrd-text-muted, #6b6b6b);font-size:.875rem;letter-spacing:.06em;text-transform:uppercase}.ticker{max-height:14rem;overflow-y:auto;background:var(--wyrd-surface-sunken, transparent)}.choice-prompt button[data-bankruptcy=true]{border:2px solid var(--wyrd-danger, #b3402a);color:var(--wyrd-danger, #b3402a);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.card{display:grid;grid-template-columns:2fr 1fr;gap:var(--wyrd-space-2, .5rem);background:var(--wyrd-surface-raised, #fff);border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);padding:var(--wyrd-space-3, 1rem);transition:transform var(--wyrd-duration-fast, .12s) ease}.card:not(:has(.card-aside)){grid-template-columns:1fr}.card-accent{grid-column:1 / -1;height:var(--wyrd-space-1, .25rem);background:var(--wyrd-card-accent, transparent)}.card-title{margin:0 0 var(--wyrd-space-2, .5rem)}.card-aside{min-width:0;display:flex;align-items:center;justify-content:center}.deed-figures{display:flex;flex-wrap:wrap;gap:var(--wyrd-space-2, .5rem);margin:0 0 var(--wyrd-space-2, .5rem)}.deed-owner,.deed-mortgaged,.deed-group,.deed-consequence{margin:0 0 var(--wyrd-space-1, .25rem)}.player-figures{display:flex;flex-wrap:wrap;gap:var(--wyrd-space-2, .5rem);margin:0 0 var(--wyrd-space-2, .5rem)}.player-bankrupt,.player-holding,.player-cover,.player-disconnected{margin:0 0 var(--wyrd-space-1, .25rem)}.player-disconnected{color:var(--wyrd-danger, #b3402a)}.player-time-bank{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wyrd-space-1, .25rem);margin:0 0 var(--wyrd-space-1, .25rem)}.time-bank-pip{width:.55em;height:.55em;border-radius:50%;background-color:var(--wyrd-accent, #8a6a12)}.net-worth-bar{list-style:none;margin:0;padding:0}.net-worth-bar li{margin:0 0 var(--wyrd-space-2, .5rem)}.net-worth-bar li:last-child{margin-bottom:0}.net-worth-name{display:block;margin:0 0 var(--wyrd-space-1, .25rem)}.net-worth-fill{display:block;height:.5rem;border-radius:3px;background-color:var(--wyrd-line, #ccc)}.net-worth-out{opacity:.5}table.rent-ladder{width:100%;border-collapse:collapse;margin:var(--wyrd-space-2, .5rem) 0}ul.rent-ladder{margin:var(--wyrd-space-2, .5rem) 0;padding-left:1.25rem}.rent-ladder th{text-align:left;font-weight:400}.rent-ladder td{text-align:right}.tile-group{margin:0 0 var(--wyrd-space-3, 1rem);padding-left:var(--wyrd-space-2, .5rem);border-left:var(--wyrd-space-1, .25rem) solid var(--wyrd-tile-group-accent, transparent)}.tile-group:last-child{margin-bottom:0}.tile-group h3{margin:0 0 var(--wyrd-space-1, .25rem)}.tile-group ul{margin:0}.surface-trigger{display:block;width:100%;min-height:44px;margin:0 0 var(--wyrd-space-2, .5rem);padding:var(--wyrd-space-2, .5rem) var(--wyrd-space-3, 1rem);font:inherit;border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);background:var(--wyrd-surface-raised, #fff);color:var(--wyrd-text, #000);cursor:pointer}.surface-trigger:disabled{opacity:.5;cursor:default}.tile-inspect{padding:0;font:inherit;color:inherit;background:none;border:none;text-align:left;text-decoration:underline;text-underline-offset:.15em;cursor:pointer}.auction-increments{display:flex;flex-wrap:wrap;gap:var(--wyrd-space-2, .5rem)}.auction-invalid{color:var(--wyrd-danger, #b3402a)}.auction-actions{display:flex;gap:var(--wyrd-space-3, 1rem);margin-top:var(--wyrd-space-3, 1rem)}.auction-bid,.auction-pass{font:inherit;font-weight:600;border-radius:var(--wyrd-radius-card, 6px);cursor:pointer}.auction-bid:disabled,.auction-pass:disabled{opacity:.5;cursor:default}.auction-bid{flex:2;border:1px solid var(--wyrd-accent, #8a6a12);background:var(--wyrd-accent, #8a6a12);color:var(--wyrd-surface, #fff)}.auction-pass{flex:1;border:1px solid var(--wyrd-line, #ccc);background:var(--wyrd-surface, #fff);color:var(--wyrd-text, #000)}.trade-consequences{list-style:none;margin:var(--wyrd-space-1, .25rem) 0 0;padding:0;font-size:.875em}.trade-net-cash{margin:var(--wyrd-space-2, .5rem) 0 0;font-weight:600}.seat-chip{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.4em}.players-legend{list-style:none;padding:0;margin:0 0 .5em}.players-legend li{display:inline-block;margin-right:.9em}.verb-group{margin-top:.35em}.verb-label{font-size:.75em;text-transform:uppercase;color:var(--wyrd-text-muted, #6b6b6b);margin-right:.5em}@keyframes modal-enter-backdrop{0%{opacity:0}}@keyframes modal-enter{0%{opacity:0;transform:translateY(.5rem)}}.modal-backdrop{position:fixed;inset:0;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;overflow-y:auto;box-sizing:border-box;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--wyrd-backdrop, rgba(0, 0, 0, .5));color:var(--wyrd-text, #000);font-family:var(--wyrd-font-body, inherit);font-size:var(--wyrd-font-size-body, 1rem);color-scheme:var(--wyrd-color-scheme, normal);z-index:20;animation:modal-enter-backdrop var(--wyrd-duration-fast, .12s) ease}.modal{width:100%;max-width:32rem;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--wyrd-surface-raised, #fff);border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);padding:var(--wyrd-space-3, 1rem);animation:modal-enter var(--wyrd-duration-fast, .12s) ease}.modal-title{margin:0 0 var(--wyrd-space-2, .5rem)}.modal button,.modal select,.modal input:not([type=checkbox]):not([type=radio]){min-height:44px;min-width:44px}.modal-close{display:block;margin-top:var(--wyrd-space-3, 1rem)}main.lobby{max-width:60rem;margin:0 auto;padding:var(--wyrd-space-3, 1rem);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--wyrd-space-3, 1rem)}main.lobby>*{margin:0}.lobby-code{align-self:flex-start;padding:var(--wyrd-space-2, .5rem) var(--wyrd-space-3, 1rem);background:var(--wyrd-surface-raised, #fff);border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);font-family:var(--wyrd-font-figure, inherit);font-size:1.5rem;letter-spacing:.08em}.lobby-seats h2{margin:0 0 var(--wyrd-space-2, .5rem)}.lobby-seat-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--wyrd-space-2, .5rem)}.lobby-seat-markers{display:flex;flex-wrap:wrap;gap:var(--wyrd-space-2, .5rem);margin:0;color:var(--wyrd-text-muted, #6b6b6b)}.lobby-timer{color:var(--wyrd-text-muted, #6b6b6b)}.lobby-warning{padding:var(--wyrd-space-2, .5rem);border:1px solid var(--wyrd-danger, #b3402a);border-radius:var(--wyrd-radius, 3px);color:var(--wyrd-danger, #b3402a)}.lobby-refused{grid-column:1 / -1;margin:0;padding:var(--wyrd-space-2, .5rem);border:1px solid var(--wyrd-danger, #b3402a);border-radius:var(--wyrd-radius, 3px);color:var(--wyrd-danger, #b3402a)}.lobby-pending h2{margin:0 0 var(--wyrd-space-2, .5rem)}.lobby-pending ul{list-style:none;margin:0;padding:0}.lobby-pending li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wyrd-space-2, .5rem);margin:0 0 var(--wyrd-space-2, .5rem)}.lobby-controls,.lobby-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--wyrd-space-3, 1rem)}.lobby-settings{flex-direction:column;align-items:stretch;gap:var(--wyrd-space-2, .5rem)}.lobby-controls label,.lobby-settings label{display:flex;flex-direction:column;gap:var(--wyrd-space-1, .25rem);color:var(--wyrd-text-muted, #6b6b6b)}.lobby-settings label:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:var(--wyrd-space-2, .5rem);min-height:44px}.lobby-controls button,.lobby-controls select,.lobby-controls input:not([type=checkbox]):not([type=radio]){font-family:inherit;font-size:inherit;min-height:44px;min-width:44px}.lobby-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wyrd-space-2, .5rem)}.lobby-start{font-weight:600;padding:var(--wyrd-space-2, .5rem) var(--wyrd-space-3, 1rem);border:1px solid var(--wyrd-line, #ccc);border-radius:var(--wyrd-radius-card, 6px);background:var(--wyrd-surface-raised, #fff);color:var(--wyrd-text, #000);cursor:pointer}.lobby-start:disabled{opacity:.5;cursor:default}@media(max-width:640px){main.game{display:block;height:auto;padding-bottom:50vh;padding-bottom:50dvh}.board{max-width:100vw;max-height:46vh;max-height:46dvh;width:auto;height:auto}.board3d{width:100%;height:46vh;height:46dvh}aside{position:fixed;left:0;right:0;bottom:0;max-height:48vh;max-height:48dvh;overflow-y:auto;background:var(--wyrd-surface-raised, #fff);border-top:2px solid var(--wyrd-line, #ccc);padding:.5rem;min-width:0}button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px;min-width:44px}.trade-builder label{display:flex;align-items:center;gap:.375rem;min-height:44px}.game-over{overflow-x:auto}.ticker{max-height:8rem}.primary-slot{position:fixed;right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));z-index:5}body:has(.modal-backdrop) .primary-slot{display:none}}
