@font-face{font-family:Ember Ledger Display;src:url(./ember-ledger-display-BO0AJTg9.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0024,U+002C-002E,U+0030-0039,U+0041-005A}:root{color-scheme:dark;--display: "Ember Ledger Display", "Superclarendon", Rockwell, Georgia, serif;--body: "Arial Narrow", "Avenir Next Condensed", "Franklin Gothic Medium", system-ui, sans-serif;--paper: #ead8ac;--paper-light: #f5e8c7;--ink: #24180d;--ink-soft: #58442a;--walnut: #25150d;--walnut-2: #4b2c18;--brass: #c69a48;--brass-light: #f0ce78;--river: #315f62;--moss: #213b31;--red: #8b3025;--green: #285d45;--shadow: 0 10px 34px #05040399;font-family:var(--body);background:#0a100e}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:960px;min-height:650px;background:#07100e}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff0a6;outline-offset:2px}.game-shell{width:100%;height:100dvh;min-height:650px;display:grid;grid-template-rows:58px minmax(320px,55vh) minmax(272px,1fr);color:var(--paper-light);background:#10211d;isolation:isolate}.topbar{position:relative;z-index:30;display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(5,minmax(104px,.72fr)) auto;align-items:center;gap:1px;padding:0 10px;border-bottom:2px solid #c0954d;background:linear-gradient(180deg,#5d3c22 0 8%,#301b10 14% 86%,#1a0d08),repeating-linear-gradient(90deg,transparent 0 90px,#ffffff07 91px 92px);box-shadow:0 5px 15px #050301aa}.brand-lockup{min-width:0;display:flex;align-items:baseline;gap:12px;padding-left:7px}.brand-title{margin:0;font-family:var(--display);font-size:clamp(20px,2vw,32px);font-weight:400;letter-spacing:.065em;color:#ffe9aa;text-shadow:0 2px #4a210b,0 0 14px #f4c65f44;white-space:nowrap}.brand-version{color:#c6ad7a;font:700 10px/1 var(--body);letter-spacing:.17em}.status-cell{height:40px;display:grid;align-content:center;justify-items:center;padding:2px 8px;border-left:1px solid #c89c5038;min-width:0}.status-label{color:#baaa88;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.status-value{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#fff1c4;font-family:var(--display);font-size:14px;letter-spacing:.045em;white-space:nowrap}.top-actions{display:flex;gap:5px;padding-left:8px}.plate-button{position:relative;min-height:34px;border:1px solid #d9b45e;border-radius:5px;padding:0 12px;color:#ffebae;font-family:var(--display);font-size:11px;letter-spacing:.08em;background:linear-gradient(180deg,#6f4b25,#432714 45%,#29150c);box-shadow:inset 0 1px #fff4bd3b,inset 0 -2px #140905,0 2px 6px #0008;cursor:pointer}.plate-button:hover{filter:brightness(1.15);transform:translateY(-1px)}.plate-button:active{transform:translateY(1px)}.plate-button[aria-pressed=true],.plate-button.active{color:#1b1207;background:linear-gradient(#f0cf79,#b98231)}.plate-button:disabled{cursor:not-allowed;filter:grayscale(.7) brightness(.72);opacity:.65;transform:none}.plate-button.icon{min-width:38px;padding:0 9px;font-family:var(--body);font-size:17px}.world-scene{position:relative;overflow:hidden;background:#6ea0a1;user-select:none;border-bottom:5px solid #362014}.panorama{position:absolute;inset:0;background-position:center 52%;background-repeat:no-repeat;background-size:cover;filter:saturate(1.02) contrast(1.02);transform:scale(1.01)}.panorama:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0a120d59 0,transparent 7%,transparent 93%,#0a120d59 100%),linear-gradient(180deg,#ffd99012,transparent 35%,#082f3838 100%);mix-blend-mode:multiply}.sky-variation{position:absolute;z-index:1;inset:0 0 43%;pointer-events:none;opacity:0;background-position:center;background-repeat:no-repeat;background-size:cover;transition:opacity 3s ease,filter 3s ease;-webkit-mask-image:linear-gradient(to bottom,#000 0 74%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 74%,transparent 100%)}.sky-variation.sunrise{opacity:.72;filter:saturate(1.08) brightness(1.04)}.sky-variation.sunset{opacity:.76;filter:saturate(1.1) contrast(1.03)}.water-shimmer{position:absolute;z-index:2;inset:63% -2% -2%;pointer-events:none;opacity:.24;background-position:center;background-repeat:no-repeat;background-size:cover;animation:river-drift 24s ease-in-out infinite alternate;mix-blend-mode:soft-light;transform:scale(1.03);transform-origin:center;will-change:transform,opacity}.water-shimmer.golden{opacity:.38;filter:sepia(.18) saturate(1.16) brightness(1.08);mix-blend-mode:screen}@keyframes river-drift{to{transform:translate3d(-1.2%,.7%,0) scale(1.055);opacity:.3}}.morning-fog{position:absolute;z-index:7;inset:35% -15% 18%;pointer-events:none;opacity:var(--fog-opacity, 0);transition:opacity 2s;overflow:hidden;filter:blur(7px)}.morning-fog i{position:absolute;left:-20%;top:22%;width:80%;height:36%;border-radius:50%;background:#e8eee6c8;animation:fog-drift 28s linear infinite}.morning-fog i:nth-child(2){left:28%;top:38%;width:70%;opacity:.72;animation-delay:-11s;animation-duration:36s}.morning-fog i:nth-child(3){left:65%;top:15%;width:55%;opacity:.58;animation-delay:-20s;animation-duration:31s}@keyframes fog-drift{to{transform:translate(28vw) scale(1.08)}}.night-layer{position:absolute;z-index:3;inset:0 0 43%;pointer-events:none;opacity:var(--night-opacity, 0);overflow:visible;background-position:center;background-repeat:no-repeat;background-size:cover;transition:opacity 3s linear}.night-layer:before{content:"";position:absolute;top:100%;right:0;left:0;height:76%;background:#071722b8;mix-blend-mode:multiply}.star-glints{position:absolute;inset:0;opacity:.08;background-position:center;background-repeat:no-repeat;background-size:cover;animation:star-glint 20s ease-in-out infinite alternate;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to bottom,#000 0 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 78%,transparent 100%)}@keyframes star-glint{to{opacity:.26;filter:brightness(1.12)}}.weather-layer{position:absolute;z-index:19;inset:0;pointer-events:none;opacity:0;overflow:hidden;background-position:center;background-repeat:no-repeat;background-size:cover;transition:opacity 4s ease;mix-blend-mode:multiply}.weather-layer.storm{opacity:.52}.rain-curtain{position:absolute;inset:-3%;opacity:.3;background-position:center;background-repeat:no-repeat;background-size:cover;animation:rain-drift 12s ease-in-out infinite alternate;mix-blend-mode:screen;will-change:transform}.lightning-veil{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 56% 12%,#f5f6e8d4 0 8%,#d8e5f066 24%,transparent 58%);mix-blend-mode:screen}.weather-layer.lightning .lightning-veil{animation:lightning-bloom 1.6s ease-out 1 both}@keyframes rain-drift{to{transform:translate3d(-.8%,1.4%,0) scale(1.015)}}@keyframes lightning-bloom{0%,7%,17%,27%,to{opacity:0}10%{opacity:.48}21%{opacity:.22}}.distant-fire{position:absolute;z-index:3;left:79%;bottom:54%;width:25px;height:38px;pointer-events:none;filter:blur(.2px) drop-shadow(0 0 7px #e76b1d)}.distant-fire:before{content:"";position:absolute;left:8px;bottom:0;width:12px;height:18px;border-radius:55% 45%;background:radial-gradient(circle at 50% 70%,#ffe69c 0 20%,#e46b22 22% 58%,#7a2517 60%);animation:fire-flicker .48s ease-in-out infinite alternate}.distant-fire i{position:absolute;left:8px;bottom:17px;width:10px;height:10px;border-radius:50%;background:#555b5480;animation:far-smoke 4.5s ease-out infinite}.distant-fire i:nth-child(2){animation-delay:-1.5s}.distant-fire i:nth-child(3){animation-delay:-3s}.distant-campfire{position:absolute;z-index:4;left:var(--camp-left);bottom:var(--camp-bottom);width:12px;height:13px;pointer-events:none;filter:drop-shadow(0 0 5px #ff9a3d);animation:camp-glimmer 2.4s ease-in-out infinite alternate;animation-delay:var(--camp-delay)}.distant-campfire:before{content:"";position:absolute;left:3px;bottom:0;width:7px;height:8px;border-radius:60% 40% 55% 45%;background:radial-gradient(circle at 50% 70%,#fff2a4 0 18%,#d97025 25% 65%,transparent 70%)}.distant-campfire i{position:absolute;left:4px;bottom:7px;width:5px;height:5px;border-radius:50%;background:#777b7680;filter:blur(1px);animation:camp-smoke 3.8s ease-out infinite}@keyframes camp-glimmer{to{transform:translateY(-1px) scale(.82,1.2);filter:drop-shadow(0 0 8px #ffbd5c)}}@keyframes camp-smoke{to{transform:translate(8px,-20px) scale(2);opacity:0}}@keyframes fire-flicker{to{transform:scale(.78,1.18) translate(2px);filter:brightness(1.35)}}@keyframes far-smoke{to{transform:translate(16px,-46px) scale(2.5);opacity:0}}.rare-stork{position:absolute;z-index:6;left:9%;bottom:48%;width:52px;height:29px;pointer-events:none;animation:stork-journey 22s linear infinite;transform-origin:center bottom}.rare-stork[data-flight=left]{animation-direction:reverse}.stork-body{position:absolute;left:10px;top:7px;width:24px;height:12px;border-radius:60% 60% 45% 55%;background:#e6dfcb;box-shadow:inset -8px -2px #3d3a35}.stork-body:before{content:"";position:absolute;left:19px;top:-10px;width:5px;height:15px;border:solid #ddd4bd;border-width:3px 3px 0 0;border-radius:0 8px 0 0;transform:rotate(-18deg)}.stork-body:after{content:"";position:absolute;left:31px;top:-12px;width:17px;height:3px;background:#9d5e34;transform:rotate(-8deg);transform-origin:left center}.stork-legs{position:absolute;left:23px;top:18px;width:15px;height:11px;border-left:2px solid #a66e49;border-right:2px solid #a66e49;transform:skew(-8deg)}@keyframes stork-journey{0%{transform:translate(-18vw,-14vh) rotate(-5deg) scale(.8)}35%{transform:translate(32vw,-3vh) rotate(2deg) scale(.9)}48%,70%{transform:translate(52vw,9vh) rotate(0) scale(1)}55%{transform:translate(55vw,9vh) rotate(0) scale(1)}82%{transform:translate(72vw,-2vh) rotate(-3deg) scale(.9)}to{transform:translate(105vw,-16vh) rotate(2deg) scale(.75)}}.rare-wildlife{position:absolute;z-index:6;left:16%;bottom:45%;width:34px;height:22px;pointer-events:none;animation:wildlife-wander 16s ease-in-out infinite alternate}.rare-wildlife>i:first-child{position:absolute;inset:6px 7px 4px 0;border-radius:55% 45% 40%;background:#6d5034;box-shadow:16px -4px 0 -7px #5b4029}.rare-wildlife.deer>i:first-child:before{content:"";position:absolute;right:-8px;top:-10px;width:7px;height:14px;background:#72543a;border-radius:60% 60% 30% 30%}.rare-wildlife.fox>i:first-child{background:#9b532b}.rare-wildlife.fox>i:first-child:after{content:"";position:absolute;left:-14px;top:0;width:18px;height:9px;border-radius:70% 20%;background:#9b532b;transform:rotate(18deg)}.rare-wildlife.otter{bottom:13%}.rare-wildlife.otter>i:first-child{background:#4d3929;transform:scale(.8,.6)}.rare-wildlife.geese{left:70%;bottom:57%;animation:geese-cross 18s linear infinite}.rare-wildlife.geese i{position:absolute;width:12px;height:6px;border:solid #423c31;border-width:2px 0 0 2px;transform:rotate(35deg);background:transparent}.rare-wildlife.geese i:nth-child(2){left:18px;top:8px}.rare-wildlife.geese i:nth-child(3){left:34px;top:1px}@keyframes wildlife-wander{to{transform:translate(20vw) translateY(3px)}}@keyframes geese-cross{0%{transform:translate(-85vw)}to{transform:translate(35vw)}}.scene-hud{position:absolute;z-index:24;top:10px;left:12px;display:flex;gap:7px;pointer-events:none}.scene-chip{max-width:300px;padding:6px 10px;border:1px solid #f0d58b80;border-radius:5px;color:#ffefc4;background:#1a1a14c7;box-shadow:0 3px 12px #0009;font-size:11px;letter-spacing:.04em;backdrop-filter:blur(5px)}.meeting-invite{max-width:260px;min-height:48px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:7px;padding:3px 8px 3px 3px;border:1px solid #f0d58b;border-radius:5px;color:#fff0c6;background:#29180de8;box-shadow:0 4px 14px #0009;pointer-events:auto;cursor:pointer;text-align:left}.meeting-invite span{min-width:0}.meeting-invite b,.meeting-invite small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-invite b{font:10px/1.1 var(--display)}.meeting-invite small{color:#d4c5a2;font-size:9px;margin-top:3px}.portrait-mini{width:40px;height:40px;border:1px solid #d2ad63;border-radius:4px;background-size:calc(var(--portrait-columns) * 100%) calc(var(--portrait-rows) * 100%);background-position:var(--sprite-position)}.plot-layer{position:absolute;z-index:8;inset:0;display:grid;grid-template-columns:repeat(5,1fr);pointer-events:none}.plot{position:relative;height:45%;align-self:end;border-left:1px dashed #ffe1a029;pointer-events:auto}.plot:last-child{border-right:1px dashed #ffe1a029}.plot.untouched{border-color:transparent;background:none;box-shadow:none}.plot.untouched:last-child{border-right-color:transparent}.plot.untouched:after{content:none}.world-scene.land-market-closed .plot.untouched{pointer-events:none}.world-scene.land-market-open .plot.untouched{pointer-events:auto}.plot.untouched .acreage-label{top:auto;bottom:6px;opacity:.72;border:1px solid #d6bd8270;color:#f2e5c6;background:#172019a8;text-transform:none}.plot.drop-ready{background:#e2bc5533;box-shadow:inset 0 0 0 3px #ffd86b}.plot-label{position:absolute;z-index:7;left:50%;bottom:53%;transform:translate(-50%);min-width:44px;height:22px;display:grid;place-items:center;padding:0 8px;border:1px solid #c9974d;border-radius:3px;color:#ffefc7;font:400 10px/1 var(--display);letter-spacing:.08em;background:#2e180dcc;box-shadow:0 2px 7px #0008}.plot-name{position:absolute;z-index:7;left:50%;top:0;transform:translate(-50%);max-width:92%;padding:3px 7px;border-radius:3px;color:#fff3cf;background:#18231db8;font-size:9px;letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap}.facility-sprite{position:absolute;z-index:2;left:4%;right:4%;bottom:58%;height:78%;background-repeat:no-repeat;background-size:calc(var(--sprite-columns, 4) * 100%) calc(var(--sprite-rows, 3) * 100%);background-position:var(--sprite-position);filter:drop-shadow(0 5px 3px #0006);transition:filter .2s,transform .3s,opacity .3s}.facility-sprite.market-garden-sprite{left:12%;right:12%;bottom:54%;height:48%}.facility-sprite.working-windmill-sprite{left:8%;right:8%;bottom:49%;height:96%;overflow:visible}.windmill-rotor{position:absolute;z-index:2;inset:-26% 0 26%;display:block;background-position:100% 0;background-repeat:no-repeat;background-size:200% 100%;transform-origin:50% 50%;animation:windmill-turn 18s linear infinite}.construction .windmill-rotor{animation-play-state:paused}@keyframes windmill-turn{to{transform:rotate(360deg)}}.plot[data-plot="3"] .facility-sprite{z-index:3;transform:scale(1.08);transform-origin:50% 100%}.plot[data-plot="3"]{cursor:pointer}.plot[data-plot="3"]:hover .facility-sprite{filter:drop-shadow(0 5px 3px #0006) brightness(1.04)}.plot.derelict .facility-sprite{filter:grayscale(.58) sepia(.26) brightness(.7) drop-shadow(0 5px 3px #0007)}.construction .facility-sprite{opacity:var(--build-opacity, .25);filter:sepia(.3) drop-shadow(0 5px 3px #0006);clip-path:inset(var(--build-clip, 50%) 0 0)}.scaffold{position:absolute;z-index:5;inset:18% 8% 12%;opacity:.9;background:repeating-linear-gradient(90deg,transparent 0 28px,#43220b 29px 33px),repeating-linear-gradient(0deg,transparent 0 25px,#5a3213 26px 29px);border:4px solid #3f210d;animation:scaffold-rattle .45s steps(2) infinite}.construction-badge{position:absolute;z-index:9;left:50%;bottom:28px;transform:translate(-50%);min-width:130px;padding:5px 8px;border:1px solid #f5ce6c;border-radius:4px;color:#fff1b7;background:#40250ee6;font:10px/1.2 var(--display);text-align:center}.deed-stake{position:absolute;z-index:8;left:50%;bottom:38%;transform:translate(-50%) rotate(-2deg);width:68px;padding:7px 3px 18px;border:3px solid #4d2b13;color:#45270f;background:#d9b879;box-shadow:0 4px 8px #0007;font:9px/1.25 var(--display);text-align:center}.deed-stake:after{content:"";position:absolute;left:29px;top:100%;width:5px;height:34px;background:#4d2b13}.plot.for-sale:after{content:"";position:absolute;inset:12% 4% 14%;border:1px dashed #d8ac6370;background:#2b1a0a1f}.build-delivery{position:absolute;z-index:7;inset:42% 7% 10%;pointer-events:none}.delivery-cart{position:absolute;left:4%;bottom:0;width:42px;height:18px;border:3px solid #4b2b13;border-radius:2px 2px 8px 8px;background:repeating-linear-gradient(90deg,#825127 0 6px,#643815 7px 9px);animation:delivery-roll 4.2s ease-in-out infinite}.delivery-cart:before,.delivery-cart:after{content:"";position:absolute;bottom:-10px;width:13px;height:13px;border:3px solid #3c2514;border-radius:50%;background:#a3733a}.delivery-cart:before{left:2px}.delivery-cart:after{right:2px}.material-pile{position:absolute;right:5%;bottom:0;width:52px;height:28px;filter:drop-shadow(0 3px 2px #0006)}.material-pile.crates{background:linear-gradient(#885b2f 0 0) 2px 8px/22px 20px,linear-gradient(#70441e 0 0) 27px 0/23px 28px;background-repeat:no-repeat;border-bottom:3px solid #3d250f}.material-pile.timber{height:25px;background:repeating-linear-gradient(0deg,#4b2a13 0 3px,#956130 4px 8px,transparent 9px 11px);border-radius:12px 3px 3px}.material-pile.stone{background:radial-gradient(ellipse at 20% 80%,#81715d 0 12px,transparent 13px),radial-gradient(ellipse at 55% 70%,#9a856c 0 15px,transparent 16px),radial-gradient(ellipse at 83% 80%,#675a4c 0 11px,transparent 12px)}.material-pile.machinery{border:3px solid #4a3625;border-radius:50%;background:repeating-conic-gradient(#6e5943 0 10deg,#2e261d 11deg 20deg)}.phase-1 .material-pile{animation:material-unload 1.4s ease-in-out infinite alternate}.phase-3 .delivery-cart,.phase-4 .delivery-cart{opacity:.32;transform:translate(36px)}.builder-crew{position:absolute;z-index:8;inset:0;pointer-events:none}.builder-crew i{position:absolute;bottom:10%;width:9px;height:25px;border-radius:50% 50% 3px 3px;background:#38200f;animation:worker-walk 3.5s ease-in-out infinite alternate}.builder-crew i:after{content:"";position:absolute;top:-4px;left:-2px;width:13px;height:4px;border-radius:50%;background:#5b3215}.builder-crew i:nth-child(2){bottom:17%;animation-delay:-1.4s;animation-duration:4.3s;background:#57321a}.builder-crew i:nth-child(3){bottom:7%;animation-delay:-2.6s;animation-duration:5.1s;background:#2c3b34}@keyframes worker-walk{0%{left:20%;transform:rotate(-2deg)}to{left:72%;transform:rotate(3deg)}}@keyframes scaffold-rattle{50%{transform:translate(1px)}}@keyframes delivery-roll{0%,25%{transform:translate(-12px)}70%,to{transform:translate(48px)}}@keyframes material-unload{to{transform:translateY(-3px) rotate(1deg)}}.accessory-sprite{position:absolute;z-index:6;width:clamp(34px,5vw,88px);aspect-ratio:1;transform:translate(-50%,-100%);background-repeat:no-repeat;background-size:calc(var(--sprite-columns, 4) * 100%) calc(var(--sprite-rows, 4) * 100%);background-position:var(--sprite-position);filter:drop-shadow(0 3px 2px #0007);pointer-events:auto;cursor:grab}.accessory-sprite:hover,.accessory-sprite.selected{outline:2px dashed #ffe48a;outline-offset:2px}.accessory-sprite:active{cursor:grabbing}.horticulture-sprite{width:clamp(46px,7vw,108px);transform-origin:50% 100%;animation:garden-breathe 9s ease-in-out infinite alternate}.lifecycle-tree{width:clamp(54px,8vw,126px);aspect-ratio:.75;transform:translate(-50%,-100%) scale(var(--lifecycle-scale, 1));animation:tree-breathe 14s ease-in-out infinite alternate}.tree-stage-snag,.tree-stage-fallen{animation:none}.tree-stage-decline{filter:sepia(.2) saturate(.8) drop-shadow(0 3px 2px #0007)}@keyframes garden-breathe{to{transform:translate(-50%,-100%) rotate(.5deg) scale(1.01)}}@keyframes tree-breathe{to{transform:translate(-50%,-100%) rotate(.35deg) scale(calc(var(--lifecycle-scale, 1) + .008))}}.property-damage{position:absolute;z-index:5;left:calc(50% + var(--damage-offset,0px));bottom:61%;width:62%;height:63%;transform:translate(-50%);background-repeat:no-repeat;background-size:400% 400%;background-position:var(--sprite-position);filter:drop-shadow(0 3px 3px #0008);pointer-events:none}.damage-anchor-roof{bottom:75%;height:48%}.damage-anchor-ground{bottom:38%;height:44%;z-index:7}.damage-anchor-foundation{bottom:48%;height:42%}.damage-fire-scorch:after{content:"";position:absolute;left:48%;top:13%;width:12px;height:12px;border-radius:50%;background:#4d4c48aa;filter:blur(2px);animation:far-smoke 5s ease-out infinite}.dock-treatment{position:absolute;z-index:8;width:clamp(32px,4.5vw,74px);aspect-ratio:1;transform:translate(-50%,-100%);pointer-events:auto;cursor:grab;filter:drop-shadow(0 3px 2px #0007)}.dock-treatment:active{cursor:grabbing}.dock-treatment i{position:absolute;display:block}.treatment-dock-pilings i{bottom:0;width:7px;height:74%;border-radius:2px;background:#5d3518}.treatment-dock-pilings i:nth-child(1){left:12%}.treatment-dock-pilings i:nth-child(2){left:46%}.treatment-dock-pilings i:nth-child(3){right:10%}.treatment-crane-gear{border-left:5px solid #523015;border-top:5px solid #523015}.treatment-crane-gear:after{content:"";position:absolute;right:0;top:2px;width:25px;height:25px;border:2px solid #3d2b1c;border-radius:50%;background:repeating-conic-gradient(#7b532b 0 10deg,transparent 11deg 24deg)}.treatment-crane-gear i{right:4px;top:18px;width:1px;height:43px;background:#3b2b22}.treatment-crane-gear i:after{content:"";position:absolute;left:-7px;bottom:0;width:15px;height:9px;background:#76512f}.treatment-passenger-canopy{width:clamp(45px,6vw,94px);height:38px;border-top:6px solid #49301e;background:repeating-linear-gradient(90deg,#d9c38e 0 10px,#6c776e 11px 20px);clip-path:polygon(4% 0,96% 0,100% 72%,0 72%)}.treatment-passenger-canopy i:nth-child(1),.treatment-passenger-canopy i:nth-child(2){bottom:0;width:3px;height:26px;background:#4b2e18}.treatment-passenger-canopy i:nth-child(1){left:8%}.treatment-passenger-canopy i:nth-child(2){right:8%}.treatment-cargo-nets{border:2px solid #755836;background:repeating-linear-gradient(45deg,transparent 0 6px,#7a6245aa 7px 8px),repeating-linear-gradient(-45deg,transparent 0 6px,#7a6245aa 7px 8px);border-radius:5px 5px 50% 50%}.treatment-dock-lamps i{bottom:0;width:3px;height:70%;background:#442c19}.treatment-dock-lamps i:nth-child(1){left:25%}.treatment-dock-lamps i:nth-child(2){right:25%}.treatment-dock-lamps i:before{content:"";position:absolute;left:-5px;top:-5px;width:12px;height:12px;border:1px solid #6b4b24;background:#ffd272;box-shadow:0 0 9px #ffbd52}.treatment-ice-landing{height:28px;background:linear-gradient(150deg,#dcefeecc,#9dc8cbbb);clip-path:polygon(5% 45%,28% 15%,46% 30%,70% 0,96% 48%,80% 95%,38% 84%)}.treatment-fish-cleaning-table{height:36px;border-top:8px solid #80512a}.treatment-fish-cleaning-table:before,.treatment-fish-cleaning-table:after{content:"";position:absolute;top:5px;width:4px;height:28px;background:#553319}.treatment-fish-cleaning-table:before{left:18%}.treatment-fish-cleaning-table:after{right:18%}.treatment-fish-cleaning-table i{left:42%;top:-13px;width:18px;height:7px;border-radius:50%;background:#9aada6;transform:rotate(-10deg)}.treatment-ornate-railing{width:clamp(50px,7vw,110px);height:30px;border:4px double #5a3a1f;background:repeating-radial-gradient(circle at 8px 25px,transparent 0 6px,#5a3a1f 7px 9px,transparent 10px 17px)}.anim-water-bob{animation:dock-bob 3.5s ease-in-out infinite alternate}.anim-load-swing i{animation:load-swing 5.5s ease-in-out infinite alternate;transform-origin:top}.anim-cloth-flutter{animation:cloth-flutter 2.8s ease-in-out infinite alternate}.anim-net-sway{animation:net-sway 4.2s ease-in-out infinite alternate}.anim-flame-flicker i:before{animation:window-lamplight .8s ease-in-out infinite alternate}.anim-ice-glint{animation:ice-glint 3.5s ease-in-out infinite alternate}.anim-working-table i{animation:worker-table 1.5s steps(2) infinite}.anim-water-reflection{animation:railing-glint 4.5s ease-in-out infinite alternate}@keyframes dock-bob{to{transform:translate(-50%,calc(-100% + var(--dock-amplitude)))}}@keyframes load-swing{to{transform:rotate(9deg)}}@keyframes cloth-flutter{to{filter:drop-shadow(0 3px 2px #0007) brightness(1.12);transform:translate(-50%,-100%) skew(2deg)}}@keyframes net-sway{to{transform:translate(-50%,-100%) rotate(2deg)}}@keyframes ice-glint{to{filter:brightness(1.45) drop-shadow(0 3px 2px #0007)}}@keyframes worker-table{to{transform:translate(4px) rotate(6deg)}}@keyframes railing-glint{to{filter:brightness(1.35) drop-shadow(0 3px 2px #0007)}}.traffic-layer{position:absolute;z-index:11;inset:0;pointer-events:none;overflow:hidden}.traffic-actor{position:absolute;left:var(--actor-x, -12%);width:var(--actor-w);height:var(--actor-h);opacity:1;transform:translate3d(-50%,0,0) scaleX(var(--facing));transform-origin:center bottom;background-repeat:no-repeat;background-size:400% 300%;background-position:var(--sprite-position);filter:drop-shadow(0 5px 3px #06151377);transition:left .55s linear,filter .6s ease,opacity .6s ease;will-change:left,transform}.traffic-actor.river{bottom:3%}.traffic-actor.road{bottom:24%}.traffic-actor.stopped{filter:drop-shadow(0 5px 4px #061513aa) saturate(1.06)}.traffic-actor.river.stopped{animation:vessel-berth 6.5s ease-in-out infinite alternate}.traffic-actor.mobile-actor.scheduled,.traffic-actor.mobile-actor.passing,.traffic-actor.mobile-actor.stopped,.traffic-actor.mobile-actor.outgoing{opacity:1}.traffic-actor.staged-group.stopped{animation:staged-arrive .85s ease-out both}.traffic-actor.staged-group.outgoing{animation:staged-leave .85s ease-in both}.vehicle-cutout-wheels,.boat-crew,.paddle-wheel{position:absolute;inset:0;pointer-events:none}.traffic-actor.generated-vehicle-cutout{background-position:center bottom;background-size:contain}.vehicle-cutout-wheels i{position:absolute;z-index:2;left:var(--wheel-left);top:var(--wheel-top);width:var(--wheel-size);aspect-ratio:1;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 1px 1px #0007);transform:translate(-50%,-50%);animation:wheel-turn 1.8s linear infinite}.traffic-actor.stopped .vehicle-cutout-wheels i{animation-play-state:paused}.traffic-actor.travel-left .vehicle-cutout-wheels i{animation-direction:reverse}.paddle-wheel i{position:absolute;left:var(--paddle-left);top:var(--paddle-top);width:var(--paddle-size);aspect-ratio:1;border:clamp(1px,.12vw,2px) solid #46301e;border-radius:50%;background:repeating-conic-gradient(#8f6538 0 7deg,transparent 8deg 29deg);box-shadow:inset 0 0 0 2px #b8874c88,0 1px 2px #0008;transform:translate(-50%,-50%);animation:wheel-turn 2.8s linear infinite}.traffic-actor.travel-left .paddle-wheel i{animation-direction:reverse}.traffic-actor.stopped .paddle-wheel i{animation-play-state:paused}.boat-crew i{position:absolute;left:var(--crew-left);bottom:37%;width:14%;height:43%;background-repeat:no-repeat;background-size:400% 300%;background-position:var(--crew-position);filter:drop-shadow(0 2px 1px #06151388);transform:translate(-50%);transform-origin:center bottom}.traffic-actor.river.stopped .boat-crew i{animation:crew-settle 6s ease-in-out infinite alternate}@keyframes vessel-berth{to{transform:translate3d(-50%,-1px,0) scaleX(var(--facing))}}@keyframes staged-arrive{0%{opacity:0;filter:blur(2px) drop-shadow(0 5px 3px #06151355)}}@keyframes staged-leave{to{opacity:0;filter:blur(1px) drop-shadow(0 5px 3px #06151355)}}@keyframes wheel-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes crew-settle{to{transform:translate(-50%) rotate(.7deg)}}.fishing-line{position:absolute;z-index:10;left:48%;bottom:18%;width:3px;height:4px;background:#3b2a1b;transform:scaleX(var(--facing));transform-origin:left bottom}.fishing-line:before{content:"";position:absolute;left:1px;bottom:2px;width:40px;height:30px;border:solid #d7d1b6aa;border-width:1px 1px 0 0;border-radius:0 100% 0 0;transform:rotate(-22deg);transform-origin:left bottom;animation:cast-line 4.8s ease-in-out infinite}.fishing-line i{position:absolute;left:38px;bottom:-27px;width:5px;height:3px;border-radius:50%;background:#dce9d8;animation:bobber 1.1s ease-in-out infinite alternate}.dock-angler{position:absolute;z-index:9;left:65%;bottom:20%;width:7px;height:20px;border-radius:5px 5px 2px 2px;background:#2b392d;pointer-events:none}.dock-angler:before{content:"";position:absolute;left:0;top:-5px;width:7px;height:7px;border-radius:50%;background:#836145}.dock-angler:after{content:"";position:absolute;left:4px;top:2px;width:46px;height:35px;border:solid #ddd4b5aa;border-width:1px 1px 0 0;border-radius:0 100% 0 0;transform:rotate(-18deg);transform-origin:left top;animation:cast-line 5.6s ease-in-out infinite}.dock-angler i{position:absolute;left:45px;top:35px;width:5px;height:3px;border-radius:50%;background:#e4e5cb;animation:bobber 1s ease-in-out infinite alternate}.plot-window-glow{position:absolute;z-index:4;left:39%;bottom:72%;width:38%;height:24%;pointer-events:none;filter:blur(.4px) drop-shadow(0 0 6px #ffb83f);opacity:.68}.plot-window-glow i{position:absolute;width:8px;height:7px;border:1px solid #5e351b;background:#ffd46f;animation:window-lamplight 3.8s ease-in-out infinite alternate}.plot-window-glow i:nth-child(1){left:5%;top:20%}.plot-window-glow i:nth-child(2){left:47%;top:8%;animation-delay:-1.5s}.plot-window-glow i:nth-child(3){right:4%;top:30%;animation-delay:-2.4s}.plot-window-glow.glow-1 i:nth-child(2),.plot-window-glow.glow-2 i:nth-child(1){opacity:0}.plot-window-glow.glow-2 i:nth-child(3){top:4px}@keyframes window-lamplight{to{opacity:.76;filter:brightness(1.25)}}@keyframes cast-line{0%,20%{transform:rotate(-35deg) scaleX(.7)}45%,to{transform:rotate(-12deg) scaleX(1)}}@keyframes bobber{to{transform:translateY(3px)}}.ambient-person{position:absolute;z-index:10;bottom:25%;left:var(--x);width:7px;height:25px;border-radius:5px 5px 2px 2px;background:var(--coat, #44311e);box-shadow:0 3px 3px #0007;pointer-events:none;animation:ambient-stroll var(--pace, 24s) linear infinite alternate}.ambient-person:before{content:"";position:absolute;left:1px;top:-6px;width:6px;height:7px;border-radius:50%;background:#8c633d}.ambient-person.resting{height:12px;animation:breathe 3s ease-in-out infinite alternate}@keyframes ambient-stroll{to{transform:translate(85px)}}@keyframes breathe{to{transform:scaleY(.94)}}.living-vignette{position:absolute;z-index:13;left:var(--vignette-left);bottom:23%;width:70px;height:48px;pointer-events:none;filter:var(--vignette-filter) drop-shadow(0 3px 2px #0008)}.living-vignette>i{position:absolute;left:calc(var(--actor-index) * 25px);bottom:0;width:42px;height:48px;background-repeat:no-repeat;background-size:400% 300%;background-position:var(--sprite-position);transform-origin:50% 100%}.vignette-tipsy>i{animation:tipsy-step 2.1s ease-in-out infinite alternate}.vignette-sleeper>i{bottom:-6px;transform:rotate(82deg) scale(.72)}.vignette-scuffle>i:first-child,.vignette-argument>i:first-child{animation:scuffle-left 1.1s steps(2) infinite alternate}.vignette-scuffle>i:nth-child(2),.vignette-argument>i:nth-child(2){transform:scaleX(-1);animation:scuffle-right 1.1s steps(2) infinite alternate}.vignette-lamplighter>b,.vignette-night-watch>b{position:absolute;left:33px;top:5px;width:8px;height:8px;border:1px solid #5b381b;border-radius:50%;background:#ffd574;box-shadow:0 0 10px #ffbe51;animation:window-lamplight .8s ease-in-out infinite alternate}.vignette-fiddler>i:first-child{animation:fiddler-bow .7s ease-in-out infinite alternate}.vignette-fiddler>i:nth-child(2){transform:scale(.8)}.vignette-stuck-cart>b,.vignette-crate-drop>b{position:absolute;left:27px;bottom:2px;width:31px;height:17px;border:3px solid #5e351c;background:#8b5d2e;transform:rotate(-8deg)}.vignette-stuck-cart>b:after{content:"";position:absolute;left:-3px;bottom:-8px;width:9px;height:9px;border:3px solid #3e2718;border-radius:50%;box-shadow:23px 0 0 -3px #7b522c,23px 0 #3e2718}.vignette-barrel-chase>b{position:absolute;left:30px;bottom:0;width:15px;height:18px;border:3px double #4c2e19;border-radius:50%;background:#8a592c;animation:barrel-roll var(--vignette-pace) linear infinite}.vignette-woodchopper>i{animation:wood-chop 1.4s ease-in-out infinite}.vignette-woodchopper>b{position:absolute;left:34px;bottom:0;width:20px;height:9px;background:#67401f}.vignette-sweeper>i{animation:sweep-step 2.2s ease-in-out infinite alternate}.vignette-dog-chase>i{width:34px;height:34px;bottom:-1px;transform:rotate(90deg) scale(.65);animation:dog-dash var(--vignette-pace) linear infinite}.vignette-horse-water>i:first-child{width:64px;height:55px;transform:scale(1.25) rotate(9deg)}.vignette-horse-water>i:nth-child(2){left:46px;transform:scale(.75)}.vignette-hoop-game>b{position:absolute;left:38px;bottom:1px;width:19px;height:19px;border:2px solid #51331e;border-radius:50%;animation:hoop-roll 5s linear infinite}.vignette-laundry>b{position:absolute;left:17px;top:3px;width:47px;height:24px;border-top:1px solid #e4cf9f;background:linear-gradient(125deg,transparent 0 18%,#d9c18f 19% 38%,transparent 39% 50%,#667f83 51% 72%,transparent 73%);animation:laundry-flap 1.8s ease-in-out infinite alternate}@keyframes tipsy-step{0%{transform:rotate(-7deg) translate(-3px)}to{transform:rotate(9deg) translate(9px,-1px)}}@keyframes scuffle-left{to{transform:translate(9px) rotate(5deg)}}@keyframes scuffle-right{to{transform:translate(-9px) scaleX(-1) rotate(5deg)}}@keyframes fiddler-bow{to{transform:rotate(5deg) translateY(-2px)}}@keyframes barrel-roll{to{transform:translate(70px) rotate(720deg)}}@keyframes wood-chop{45%{transform:rotate(-13deg)}}@keyframes sweep-step{to{transform:translate(18px) rotate(4deg)}}@keyframes dog-dash{to{transform:translate(90px) rotate(90deg) scale(.65)}}@keyframes hoop-roll{to{transform:translate(55px) rotate(720deg)}}@keyframes laundry-flap{to{transform:skew(5deg) translateY(1px);filter:brightness(1.1)}}.bird-activity{position:absolute;z-index:7;left:-8%;top:var(--bird-y);width:112%;height:42px;pointer-events:none;animation:bird-cross var(--bird-speed) linear infinite}.bird-activity i{position:absolute;left:calc(var(--bird-index) * 27px);top:calc((var(--bird-index) % 3) * 9px);width:15px;height:7px;border:solid #2d302c;border-width:2px 0 0 2px;transform:rotate(35deg) scale(.85);animation:bird-wing .7s ease-in-out infinite alternate;animation-delay:var(--bird-delay)}.birds-gulls i{border-color:#e6e0ce;filter:drop-shadow(0 1px #4a4a40)}.birds-swallows i{transform:rotate(28deg) scale(.62)}.birds-owl{animation-duration:13s}.birds-owl i{width:26px;height:10px;border-width:4px 0 0 4px;border-color:#65503a}.birds-bats i{transform:rotate(35deg) scale(.55);border-color:#161918}@keyframes bird-cross{to{transform:translate(118vw)}}@keyframes bird-wing{to{transform:rotate(15deg) scaleY(-.7)}}.smoke-stack{position:absolute;z-index:14;width:8px;height:8px;pointer-events:none}.smoke-puff{position:absolute;width:calc(7px + var(--smoke-size, 1) * 4px);height:calc(7px + var(--smoke-size, 1) * 4px);border-radius:50%;background:#dad4c6b8;filter:blur(1.5px);opacity:0;animation:smoke-rise calc(2.6s + var(--smoke-size, 1) * .35s) ease-out infinite;animation-delay:var(--delay)}@keyframes smoke-rise{0%{opacity:0;transform:translateY(2px) scale(.35)}16%{opacity:.72}to{opacity:0;transform:translate(calc(var(--wind, 1) * 34px),-58px) scale(2.2)}}.ledger-deck{position:relative;z-index:25;min-height:0;display:grid;grid-template-columns:minmax(660px,1.75fr) minmax(310px,.8fr);gap:8px;padding:8px;color:var(--ink);background:#21140d}.ledger-panel,.arrival-panel{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #c59a53;border-radius:7px;box-shadow:inset 0 0 0 1px #fff2bd44,var(--shadow);background-color:var(--paper);background-position:center;background-size:cover}.ledger-panel:after,.arrival-panel:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;box-shadow:inset 0 0 34px #4f2d1c4f}.ledger-panel{display:grid;grid-template-rows:40px 1fr}.ledger-tabs{position:relative;z-index:3;display:flex;align-items:end;gap:3px;padding:5px 8px 0;border-bottom:1px solid #71522b80;background:#d8c18e88;overflow-x:auto}.ledger-tab{height:33px;flex:0 0 auto;border:1px solid #7f5c2c;border-bottom:0;border-radius:5px 5px 0 0;padding:0 13px;color:#4b321a;font:10px/1 var(--display);letter-spacing:.06em;background:linear-gradient(#efdfb4,#c9ad72);cursor:pointer}.ledger-tab:hover{filter:brightness(1.06)}.ledger-tab.active{height:36px;color:#fff4c8;background:linear-gradient(#5d3a1d,#2d190d);box-shadow:inset 0 1px #f3c96866}.ledger-content{position:relative;z-index:2;min-height:0;padding:8px 10px 9px;overflow:auto;scrollbar-color:#745128 #e0ca98}.tab-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:6px}.tab-heading h2{margin:0;color:#382510;font:400 16px/1 var(--display);letter-spacing:.07em}.tab-heading p{margin:0;color:#715937;font-size:11px}.market-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.market-table th{position:sticky;top:-8px;z-index:2;height:24px;color:#654621;background:#e6d19f;font-size:8px;letter-spacing:.11em;text-align:left;text-transform:uppercase}.market-table th,.market-table td{padding:3px 5px;border-bottom:1px solid #68471f2d}.market-table tbody tr{transform:none;transition:background-color .18s ease}.market-table tbody tr:hover{background-color:#fff4d45c;transform:none}.market-table tr.locked{opacity:.45}.market-table .good-cell{width:23%;font-weight:800}.market-table .quantity{width:7%;font-family:var(--display)}.market-table .market{width:10%}.market-table .display{width:8%;text-align:center}.market-table input[type=number]{width:84px;height:25px;border:1px solid #8b693d;border-radius:3px;padding:0 5px;color:#24170c;background:#fff7dfcc;font-family:var(--display);font-size:10px;font-variant-numeric:tabular-nums}.market-table input[type=checkbox]{width:17px;height:17px;accent-color:#76501f}.deed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px}.deed-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 8px;padding:7px 9px;border:1px solid #79552c78;border-radius:4px;background:#f0dbab73}.deed-card>span{font:9px/1 var(--display);color:#6f4924}.deed-card>b{font:10px/1 var(--display);color:#402912}.deed-card small{grid-column:1/-1;font-size:8px;color:#765d3d}.deed-card button{grid-row:1/3;grid-column:2;min-height:27px;padding:3px 7px;border:1px solid #5e3d1d;border-radius:3px;color:#f7e8c2;background:linear-gradient(#82582a,#4d2f15);font:8px/1 var(--display);cursor:pointer}.deed-card button:disabled{opacity:.55;cursor:not-allowed}.deed-card.owned{box-shadow:inset 3px 0 #527552;background:#dce4b77a}.build-block{display:block;margin-top:3px;color:#8a3a27;font-size:8px}.property-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 9px}.property-card{min-height:68px;display:grid;gap:3px;align-content:start;padding:6px;border:1px solid #77552e66;border-radius:4px;color:#3f2a16;background:#edddb5b8}.property-card.derelict{border-color:#8a392d;background:#e3c09eb8}.property-card span{color:#76532d;font:8px/1 var(--display)}.property-card b{font:9px/1 var(--display)}.property-card small{min-height:18px;color:#745c3e;font-size:8px}.property-card em{color:#356044;font:8px/1 var(--display)}.property-card button{min-height:22px;border:1px solid #67431f;border-radius:3px;color:#fff0bf;background:#5a3218;font:7px/1 var(--display)}.section-heading,.staff-heading{margin-top:13px;padding-top:8px;border-top:2px double #76542c55}.empty-state.compact{height:54px}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.employee-card{min-height:132px;display:grid;grid-template-columns:86px 1fr;grid-template-rows:1fr auto;gap:7px 9px;padding:8px;border:1px solid #70502d;border-radius:5px;color:#3b2713;background:#efddb0c9;box-shadow:inset 0 0 0 1px #fff2ca77}.employee-card.candidate{min-height:118px}.employee-portrait{grid-row:1/-1;min-height:104px;border:2px solid #674522;border-radius:4px;background-repeat:no-repeat;background-size:calc(var(--portrait-columns) * 100%) calc(var(--portrait-rows) * 100%);background-position:var(--sprite-position);box-shadow:inset 0 0 9px #0005}.employee-card h3{margin:3px 0;font:13px/1 var(--display)}.employee-card p{margin:2px 0;color:#654d30;font-size:9px}.employee-card small{display:block;color:#786345;font-size:8px}.employee-card label{grid-column:2;display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;color:#6b4a27;font:8px/1 var(--display)}.employee-card select{min-width:0;height:25px;border:1px solid #795933;color:#382510;background:#fff0c5;font-size:9px}.employee-actions{grid-column:2;display:flex;gap:5px}.employee-card button{min-height:26px;border:1px solid #67431e;border-radius:3px;padding:3px 6px;color:#fff0bd;background:#523016;font:8px/1 var(--display)}.employee-card button.ghost{color:#654522;background:transparent}.meeting-filter{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px;border:1px solid #79552c70;border-radius:4px;background:#f0dbab73}.meeting-filter label{color:#5d3b1d;font:9px/1 var(--display);letter-spacing:.06em}.meeting-filter select{margin-left:8px;min-width:150px;height:28px;border:1px solid #7b5931;color:#34210f;background:#fff1cc}.meeting-filter p{margin:0;color:#755b36;font-size:10px}.meeting-grid{display:grid;gap:8px}.meeting-card{min-height:160px;display:grid;grid-template-columns:132px 1fr;gap:10px;padding:8px;border:1px solid #74542f;border-radius:6px;background:#f0ddb2dc;box-shadow:inset 0 0 0 1px #fff4d094}.meeting-card.highlighted{border-color:#a66c1e;box-shadow:inset 4px 0 #b78025,inset 0 0 0 1px #fff4d094}.vendor-portrait{min-height:144px;border:2px solid #6e4a27;border-radius:5px;background-repeat:no-repeat;background-size:calc(var(--portrait-columns) * 100%) calc(var(--portrait-rows) * 100%);background-position:var(--sprite-position);box-shadow:inset 0 0 12px #0005}.meeting-copy{min-width:0;display:grid;grid-template-rows:auto auto auto 1fr;gap:4px}.meeting-name span{color:#7b5427;font:8px/1 var(--display);letter-spacing:.08em}.meeting-name h3{display:inline;margin:0 8px 0 0;color:#33200f;font:16px/1.1 var(--display)}.meeting-name small{color:#7b6546}.meeting-copy blockquote{margin:2px 0;color:#49331c;font:italic 13px/1.25 Georgia,serif}.offer-terms{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:baseline;color:#56391c;font-size:10px}.offer-terms b{font-family:var(--display)}.offer-terms time{margin-left:auto;color:#815c2e}.meeting-block{margin:0;color:#8d2e23;font-size:9px}.barter-controls{display:grid;grid-template-columns:72px minmax(130px,1fr) 78px 70px;gap:6px;align-items:end}.barter-controls label{color:#70502b;font-size:8px}.barter-controls input{display:block;width:100%;height:27px;margin-top:2px;border:1px solid #806038;border-radius:3px;background:#fff6da}.barter-controls button{height:28px;border:1px solid #65431d;border-radius:3px;color:#fff0bc;background:#513117;font:9px/1 var(--display);cursor:pointer}.barter-controls button.ghost{color:#603c1c;background:transparent}.barter-controls button:disabled{opacity:.45;cursor:not-allowed}.meeting-history-heading{margin-top:12px}.trend.up{color:#8f2b1f}.trend.down{color:#276143}.margin-negative{color:#992c20;font-weight:900}.lock-note{font-size:9px;font-style:italic}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:7px}.ledger-card{position:relative;min-height:92px;display:grid;grid-template-rows:auto 1fr auto;gap:4px;border:1px solid #7c5d32;border-radius:5px;padding:7px;background:#f1e1b6cc;box-shadow:inset 0 0 0 1px #fff9dd88,0 2px 4px #53331633}.ledger-card.locked{filter:grayscale(.8);opacity:.55}.ledger-card h3{margin:0;color:#3b2713;font:400 11px/1.1 var(--display);letter-spacing:.05em}.ledger-card p{margin:0;color:#664e30;font-size:10px;line-height:1.25}.ledger-card .price{color:#3b2713;font-family:var(--display);font-size:10px}.ledger-card button{height:27px;border:1px solid #79511e;border-radius:3px;color:#fff0bd;background:#4c2d15;font:9px/1 var(--display);cursor:pointer}.ledger-card button:disabled{cursor:not-allowed;opacity:.5}.drag-card{cursor:grab}.drag-card:after{content:"DRAG TO A PLOT";position:absolute;right:6px;top:6px;color:#8c6a3e;font-size:7px;letter-spacing:.08em}.drag-card.selected{outline:3px solid #9d6622;background:#ffeec5}.order-card{overflow:hidden}.order-description{min-width:0;display:grid;gap:2px}.order-card .order-price{color:#37210f;font-weight:800}.order-card .order-block{color:#852e24}.order-controls{min-width:0;display:grid;grid-template-columns:minmax(128px,1fr) 82px;gap:6px}.order-quantity-control{min-width:0;display:grid;grid-template-columns:30px minmax(52px,1fr) 30px;gap:3px}.order-quantity-control label{min-width:0;display:grid;grid-template-rows:8px minmax(0,1fr);align-items:center;color:#62421f;text-align:center;font:6px/1 var(--display);letter-spacing:.08em}.order-quantity-control input{width:100%;min-width:0;height:25px;margin:0;border:1px solid #70491f;border-radius:3px;padding:0 4px;appearance:textfield;color:#28170b;caret-color:#28170b;background:#fffaf0;text-align:center;font:800 14px/1 Georgia,serif;opacity:1}.order-quantity-control input::-webkit-inner-spin-button,.order-quantity-control input::-webkit-outer-spin-button{margin:0;appearance:none}.ledger-card .order-step{min-width:0;height:33px;align-self:end;padding:0;font:800 16px/1 Georgia,serif}.ledger-card .order-submit{height:33px;align-self:end;padding:0 4px}.order-future{margin-top:11px;border:1px solid #73502b78;border-radius:5px;background:#e7d3a27a}.order-future summary{min-height:34px;display:flex;align-items:center;padding:6px 9px;color:#4b3017;cursor:pointer;font:8px/1.2 var(--display);letter-spacing:.05em}.order-future>p{margin:0;padding:0 9px 8px;color:#765b38;font-size:9px}.order-future-list{display:grid;gap:5px;padding:0 8px 8px}.order-future-row{min-width:0;display:grid;grid-template-columns:128px minmax(0,1fr);gap:8px;align-items:center;padding:7px;border-top:1px solid #76532d3d;opacity:.72}.order-future-row h3{margin:0 0 2px;color:#3c2815;font:9px/1.1 var(--display)}.order-future-row p{margin:0;color:#765b3b;font-size:8px;line-height:1.25}.route-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;border-radius:99px;color:#fff3c6;background:#315449;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.route-badge.cuba{background:#7f3427}.receipt-list{display:grid;gap:3px}.receipt-row{display:grid;grid-template-columns:72px 1fr auto;gap:8px;padding:5px 6px;border-bottom:1px solid #68471f38;font-size:10px}.receipt-row .amount{font-family:var(--display);font-size:9px}.receipt-row .amount.positive{color:#236146}.receipt-row .amount.negative{color:#8f2c21}.empty-state{display:grid;place-items:center;height:120px;color:#775f3c;text-align:center;font-style:italic}.opening-market .plate-button{margin-top:12px}.shop-heading{margin-bottom:6px}.shop-scene-overlay{position:absolute;z-index:40;inset:0;overflow:hidden;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:100% 100%;box-shadow:inset 0 0 44px #0009;transition:opacity .55s ease}.shop-scene-overlay.active{opacity:1;pointer-events:auto}.shop-scene-overlay:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;transition:background .8s ease}.shop-scene-overlay.interior-night:after{background:radial-gradient(circle at 28% 35%,#d9913926,transparent 24%),linear-gradient(#0a17365e,#110b0830)}.shop-scene-overlay.interior-sunrise:after{background:linear-gradient(105deg,#ffbf5538,transparent 42%)}.shop-scene-overlay.interior-sunset:after{background:linear-gradient(105deg,#e36b3438,transparent 48%)}.shop-scene-overlay.interior-storm:after{background:linear-gradient(#15233052,#12171926);animation:interior-lightning 24s steps(1,end) infinite}@keyframes interior-lightning{0%,94%,96%,to{filter:none}95%{filter:brightness(1.34)}95.4%{filter:brightness(.96)}}.shop-interior{position:relative;width:100%;min-height:285px;aspect-ratio:16 / 9;overflow:hidden;border:2px solid #6f4a25;border-radius:6px;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 0 34px #0008,0 3px 10px #4e301f44}.shop-stock{position:absolute;z-index:2;inset:0}.shop-scene-overlay .shop-good{width:clamp(34px,7.4vh,74px)}.shop-good{position:absolute;left:var(--shop-x);top:var(--shop-y);width:clamp(34px,6.2vw,82px);aspect-ratio:1;border:0;padding:0;background:transparent;transform:translate(-50%,-72%);transition:opacity .7s ease,transform .7s ease;cursor:pointer}.shop-sprite{position:absolute;inset:0;background-image:var(--shop-image);background-position:var(--sprite-position);background-repeat:no-repeat;background-size:var(--shop-atlas-size, 700% 600%);filter:drop-shadow(0 3px 2px #000b)}.shop-sprite.copy-2{transform:translate(-14%,5%) scale(.94);filter:brightness(.92) drop-shadow(0 3px 2px #000b)}.shop-sprite.copy-3{transform:translate(14%,7%) scale(.9);filter:brightness(.86) drop-shadow(0 3px 2px #000b)}.shop-good.back-stock{transform:translate(-50%,-69%) scale(.86);filter:saturate(.78) brightness(.88)}.shop-good:hover,.shop-good:focus-visible{z-index:5;transform:translate(-50%,-76%) scale(1.08);filter:brightness(1.14);outline:2px solid #f4d98c;outline-offset:2px}.interior-object{position:absolute;left:var(--interior-x);top:var(--interior-y);width:clamp(48px,10vh,105px);aspect-ratio:1;border:0;padding:0;background:transparent;transform:translate(-50%,-70%) scale(var(--interior-scale));transform-origin:50% 100%;cursor:pointer}.interior-object i{position:absolute;inset:0;background:var(--interior-image) no-repeat var(--sprite-position)/var(--interior-atlas-size);filter:drop-shadow(0 4px 3px #000a)}.interior-object:hover,.interior-object:focus-visible{z-index:5;outline:2px solid #f4d98c;outline-offset:2px;filter:brightness(1.12)}.interior-stock-livery .interior-object{width:clamp(88px,19vh,190px)}.interior-stock-art-gallery .interior-object{width:clamp(54px,12vh,124px)}.interior-opportunity-panel{position:absolute;z-index:8;left:14px;bottom:14px;width:min(46%,510px);max-height:calc(100% - 28px);overflow:auto;padding:13px;border:2px solid #d8b760;border-radius:6px;color:#f8e8bf;background:linear-gradient(155deg,#26170eea,#100b08e8);box-shadow:0 8px 22px #000c,inset 0 1px #fff2bb33}.interior-opportunity-panel h2{margin:2px 0 10px;color:#ffe9a8;font:14px/1.05 var(--display);letter-spacing:.035em}.interior-opportunity-kicker{margin:0;color:#d4b46f;font:8px/1 var(--display);letter-spacing:.1em}.interior-opportunity-last,.interior-opportunity-wait{margin:7px 0;color:#e7d3a9;font-size:10px;line-height:1.35}.interior-opportunity-last b{color:#f3ca6f;font:8px/1 var(--display);letter-spacing:.08em}.interior-opportunity-choices{display:grid;gap:7px}.interior-choice{padding:8px;border:1px solid #a9844b;border-radius:4px;background:#3a261bcf}.interior-choice.blocked{opacity:.73}.interior-choice h3{margin:0 0 4px;color:#fff0bd;font:10px/1.05 var(--display)}.interior-choice p{margin:0 0 5px;color:#e6d2ae;font-size:9px;line-height:1.3}.interior-choice small{display:block;color:#cbb27e;font-size:8px}.interior-choice details{margin:5px 0;color:#cfb77f;font-size:8px}.interior-choice summary{cursor:pointer}.interior-choice ul{margin:5px 0 0;padding-left:15px}.interior-choice button{width:100%;min-height:30px;border:1px solid #dfbd68;border-radius:3px;color:#fff0bd;background:#633817;font:8px/1.15 var(--display);letter-spacing:.035em;cursor:pointer}.interior-choice button:disabled{color:#af9b79;border-color:#796347;background:#29211a;cursor:not-allowed}.interior-opportunity-panel.cooling{width:min(38%,410px)}@media(max-width:720px){.interior-opportunity-panel{width:calc(100% - 174px);max-height:calc(100% - 20px);left:10px;bottom:10px;padding:9px}.interior-opportunity-panel h2{font-size:11px}.interior-choice p,.interior-choice details{display:none}.interior-choice{padding:6px}.interior-opportunity-panel.cooling{width:calc(100% - 174px)}}.enter-poker-table{position:absolute;z-index:7;left:50%;bottom:14%;transform:translate(-50%);min-width:170px;min-height:38px;border:2px solid #d8b760;border-radius:5px;color:#fff0bd;background:#32170ee8;box-shadow:0 5px 14px #000b,inset 0 1px #fff6bd55;font:11px/1 var(--display);letter-spacing:.08em;cursor:pointer}.enter-poker-table:disabled{opacity:.55;cursor:not-allowed}.poker-buy-in-card{max-width:520px}.poker-buy-in-card>p{color:#5e4529;line-height:1.5}.poker-buy-in-card label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;margin:18px 0;color:#4c3118;font:11px/1.2 var(--display)}.poker-buy-in-card label span{justify-self:end;color:#7b5b31;font:10px/1 var(--body)}.poker-buy-in-card input{grid-column:1 / -1;min-height:42px;border:2px solid #805927;border-radius:4px;padding:0 12px;color:#2d1b0e;background:#fff3cc;font:18px/1 var(--display)}.casino-overlay{position:fixed;z-index:1000;inset:0;overflow:hidden;background:#080704}.casino-overlay iframe{display:block;width:100%;height:100%;border:0;background:#080704}.casino-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;gap:10px;color:#ead9a7;background:radial-gradient(circle at 50% 42%,#48250f,#080704 58%);text-align:center}.casino-loading b{font:22px/1 var(--display);letter-spacing:.08em}.casino-loading span{color:#bda879;font-size:12px}.shop-empty-note{position:absolute;left:50%;bottom:18%;transform:translate(-50%);padding:6px 10px;border-radius:4px;color:#f1dab0;background:#21160cbd;font:9px/1.2 var(--display)}.shop-dust{position:absolute;z-index:4;left:8%;top:10%;width:42%;height:62%;opacity:.22;pointer-events:none;background:radial-gradient(circle,#ffe8af 0 1px,transparent 1.5px) 0 0/41px 37px;animation:shop-dust-drift 18s ease-in-out infinite alternate}@keyframes shop-dust-drift{to{transform:translate(24px,-12px);opacity:.13}}.riverfront-pip{position:absolute;z-index:6;right:14px;bottom:14px;width:clamp(132px,20vw,238px);aspect-ratio:16 / 9;overflow:hidden;border:3px solid #d9bd79;border-radius:5px;color:#fff1be;background-position:center;background-size:cover;box-shadow:0 5px 16px #000b,inset 0 0 0 1px #3f2815;cursor:pointer}.riverfront-pip span{position:absolute;right:6px;bottom:5px;padding:4px 6px;border-radius:3px;background:#23170dcc;font:9px/1 var(--display);letter-spacing:.08em}.riverfront-pip:hover,.riverfront-pip:focus-visible{border-color:#fff0b4;filter:brightness(1.08);outline:2px solid #fff0b4;outline-offset:2px}.market-table tr.focused-stock-row{outline:3px solid #b47b2c;outline-offset:-3px;background:#ffeab7;animation:stock-row-focus 2.4s ease-out both}@keyframes stock-row-focus{70%{background:#ffeab7}to{background:transparent}}.soundtrack-choice{display:grid;grid-template-columns:auto minmax(180px,260px);align-items:center;justify-content:center;gap:12px;margin:14px auto 0;color:#f0d598;font:10px/1 var(--display)}.soundtrack-choice select{height:34px;border:1px solid #c79c4f;border-radius:4px;padding:0 8px;color:#2e1b0d;background:#eed9a7}.town-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.town-stat{padding:8px;border:1px solid #72543155;border-radius:5px;background:#f4e4bccc}.town-stat b{display:block;color:#3a2612;font:400 14px/1 var(--display)}.town-stat span{color:#715936;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.charter-list{margin:8px 0 0;padding-left:18px;color:#4f3b24;font-size:11px;line-height:1.5}.arrival-panel{display:grid;grid-template-rows:38px 104px 1fr}.arrival-title{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #74532666;color:#3b2916;background:#dec79699}.arrival-title h2{margin:0;font:400 13px/1 var(--display);letter-spacing:.07em}.arrival-title span{font-size:9px;color:#7b5c36}.route-map{position:relative;z-index:2;margin:6px 9px 2px;border:1px solid #795a2c66;border-radius:5px;overflow:hidden;background:#ead6a1a6}.route-map:before,.route-map:after{content:"";position:absolute;left:8px;right:8px;height:3px;border-radius:50%}.route-map:before{top:28px;background:#4b777a;box-shadow:0 2px #a6d4cc88}.route-map:after{bottom:27px;background:#896544;box-shadow:0 2px #d5b884}.route-label{position:absolute;left:8px;color:#685034;font-size:7px;letter-spacing:.13em;text-transform:uppercase}.route-label.river{top:7px}.route-label.road{bottom:7px}.town-marker{position:absolute;z-index:3;left:50%;top:7px;bottom:7px;width:2px;background:#8b3327}.town-marker:after{content:"POST";position:absolute;left:50%;top:39px;transform:translate(-50%);padding:2px 4px;color:#fff3c6;background:#733126;font:7px/1 var(--display)}.map-contact{position:absolute;z-index:4;left:var(--map-x);top:var(--map-y);width:10px;height:10px;border:2px solid #442b13;border-radius:50%;background:var(--contact-color, #3f6e6f);transform:translate(-50%,-50%);box-shadow:0 0 0 2px #f1dfad88}.map-contact.large{width:15px;height:15px}.map-contact.departing{opacity:.45}.map-contact.silhouette{background:#77705f}.arrival-list{position:relative;z-index:2;min-height:0;overflow:auto;padding:4px 8px 8px}.arrival-row{display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:center;padding:5px 3px;border-bottom:1px solid #71542e38;color:#3a2815;font-size:9px}.arrival-icon{width:28px;height:24px;border-radius:3px;display:grid;place-items:center;color:#f3e3b6;background:#3d625b;font-size:14px}.arrival-row.road .arrival-icon{background:#735337}.arrival-row b{display:block;font-size:10px}.arrival-row small{color:#715a3a}.arrival-row time{font-family:var(--display);font-size:9px;color:#5d3a1f}.toast-stack{position:fixed;z-index:90;right:14px;top:70px;display:grid;gap:7px;width:290px;pointer-events:none}.toast{padding:9px 11px;border:1px solid #d0aa5f;border-radius:5px;color:#fff1c4;background:#2d1b10ed;box-shadow:var(--shadow);font-size:11px;animation:toast-in .24s ease-out}.toast.good{border-color:#8cce9e;background:#18382ced}.toast.bad{border-color:#d47566;background:#4c1d18ed}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}.modal-backdrop,.start-screen{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:24px;background:#09100dda;backdrop-filter:blur(8px)}.modal-card,.start-card{width:min(720px,92vw);max-height:88vh;overflow:auto;border:2px solid #d2aa55;border-radius:9px;padding:22px;color:#2d1c0d;background:#ead6a8;box-shadow:0 24px 80px #000b,inset 0 0 45px #7f4e2938}.start-card{text-align:center}.start-card h1,.modal-card h2{margin:0 0 10px;color:#412812;font:400 34px/1 var(--display);letter-spacing:.08em}.start-card .eyebrow{margin:0 0 8px;color:#8c612f;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.start-card p{max-width:580px;margin:8px auto;color:#5e472b;line-height:1.45}.start-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}.start-actions .plate-button{min-height:43px;min-width:160px;font-size:12px}.how-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0;text-align:left}.how-card{padding:10px;border:1px solid #75532d55;border-radius:5px;background:#f3e4bf}.how-card b{display:block;margin-bottom:4px;font:400 11px/1 var(--display)}.modal-close{float:right}.start-screen{isolation:isolate;overflow:hidden;padding:0;background:#15201c;backdrop-filter:none}.start-art{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;pointer-events:none;user-select:none}.start-screen:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#f2d7a722 0 46%,transparent 66%,#07141485 100%);pointer-events:none}.start-day-night{position:absolute;z-index:2;inset:0;pointer-events:none;background:#0b2442d8;mix-blend-mode:multiply;animation:loading-day-night 72s ease-in-out infinite}.start-stars,.start-water,.start-birds{display:none}.start-fire{position:absolute;z-index:5;left:52.65%;bottom:32.5%;width:18px;height:30px;filter:drop-shadow(0 0 9px #ff9a35)}.start-fire:before{content:"";position:absolute;left:4px;bottom:0;width:10px;height:15px;border-radius:55% 45% 60% 40%;background:radial-gradient(circle at 50% 72%,#fff6b7 0 18%,#e67825 24% 62%,#8d291b 64%);animation:fire-flicker .55s ease-in-out infinite alternate}.start-fire i{position:absolute;left:7px;bottom:14px;width:8px;height:8px;border-radius:50%;background:#50565088;filter:blur(1px);animation:start-smoke 5s ease-out infinite}.start-fire i:nth-child(2){animation-delay:-1.65s}.start-fire i:nth-child(3){animation-delay:-3.3s}.start-screen .start-card{position:absolute;z-index:8;inset:0;width:auto;max-height:none;display:flex;flex-direction:column;align-items:center;overflow:hidden;border:0;border-radius:0;padding:clamp(24px,5vh,58px) 5vw clamp(18px,4vh,42px);background:transparent;box-shadow:none}.start-screen .start-card h1{margin:2px 0 7px;color:#34200f;font-size:clamp(38px,5.5vw,82px);letter-spacing:.09em;text-shadow:0 2px #f4ddab,0 5px 18px #f2ca7466}.start-screen .start-card .eyebrow{color:#56391c;font-size:clamp(9px,1vw,13px);text-shadow:0 1px #f3ddb0}.start-subtitle{margin:0!important;padding:5px 12px;border-radius:3px;color:#3f2c19!important;background:#eed9a3a6;font:italic clamp(11px,1.1vw,15px)/1.3 Georgia,serif!important;box-shadow:0 2px 10px #1b130c33}.start-loading{position:relative;width:min(640px,70vw);height:40px;margin-top:auto;display:grid;grid-template-columns:1fr auto;align-items:start;gap:10px;color:#f4e5bb;font:9px/1 var(--display);letter-spacing:.08em;text-shadow:0 2px 3px #000}.start-loading>i{position:absolute;left:0;right:0;bottom:0;height:13px;border:2px solid #caa65d;background:#18140eaa;box-shadow:inset 0 0 0 2px #0006,0 2px 10px #0008}.start-loading>i:after{content:"";display:block;width:var(--load-progress);height:100%;background:repeating-linear-gradient(90deg,#b77b31 0 20px,#e1bb65 21px 38px,#8f5f27 39px 42px);transition:width .35s ease}.start-screen.ready .start-loading>i:after{filter:brightness(1.18)}.start-screen .start-actions{margin-top:13px}.start-screen .start-actions .plate-button{min-width:180px;box-shadow:inset 0 1px #fff4bd66,inset 0 -3px #160a04,0 5px 16px #000a}@keyframes loading-day-night{0%,18%{opacity:0}43%,62%{opacity:.86}84%,to{opacity:0}}@keyframes loading-stars{0%,24%,80%,to{opacity:0}42%,65%{opacity:.95}}@keyframes start-water-current{to{background-position:-190px 62px}}@keyframes start-smoke{to{transform:translate(18px,-48px) scale(2.6);opacity:0}}@keyframes start-bird-cross{to{transform:translate(116vw)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1120px){.game-shell{grid-template-rows:54px minmax(300px,52vh) minmax(290px,1fr)}.topbar{grid-template-columns:minmax(210px,1.1fr) repeat(4,minmax(85px,.6fr)) auto}.status-cell:nth-of-type(6){display:none}.ledger-deck{grid-template-columns:minmax(620px,1.55fr) minmax(300px,.75fr)}.market-table th,.market-table td{padding-left:3px;padding-right:3px}.market-table input[type=number]{width:72px}}@media(max-height:760px){.game-shell{grid-template-rows:52px minmax(290px,53vh) minmax(262px,1fr)}.topbar{height:52px}.ledger-content{padding-top:5px}.market-table th,.market-table td{padding-top:2px;padding-bottom:2px}.ledger-card{min-height:78px}}@media(max-aspect-ratio:4 / 3){.start-art{object-position:50% 47%}}@media(min-aspect-ratio:2 / 1){.start-art{object-position:50% 52%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:760px),(max-height:500px)and (max-width:950px){html,body,#app{min-width:0;min-height:0;overscroll-behavior:none}body{min-width:0;min-height:0}button,input,select,summary{touch-action:manipulation}.game-shell{min-width:0;min-height:0;height:100dvh}.topbar{height:50px;grid-template-columns:minmax(88px,1fr) 54px auto;gap:0;padding:env(safe-area-inset-top) max(4px,env(safe-area-inset-right)) 0 max(4px,env(safe-area-inset-left))}.brand-lockup{gap:0;padding-left:3px}.brand-title{font-size:clamp(14px,4.3vw,19px);letter-spacing:.035em}.brand-version,.status-cell{display:none}.status-cell:nth-of-type(4){height:44px;display:grid;padding:0 2px;border-left:1px solid #c89c5038}.status-cell:nth-of-type(2){position:fixed;z-index:28;top:calc(57px + env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right));width:auto;height:28px;display:grid;padding:3px 7px;border:1px solid #f0d58b80;border-radius:4px;color:#fff1c4;background:#21170dcc;box-shadow:0 2px 8px #0008;pointer-events:none}.status-label{display:none}.status-value{font-size:9px;letter-spacing:.025em}.top-actions{gap:2px;padding-left:2px}.top-actions .plate-button,.top-actions .plate-button.icon{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:14px}.top-actions [data-action=speed]{font-size:9px}.world-scene{min-width:0;min-height:0}.panorama{background-position:center 52%;transform:scale(1.005)}.scene-hud{top:7px;left:7px;right:64px;gap:5px;flex-wrap:wrap}.scene-chip{max-width:min(190px,65vw);padding:5px 7px;font-size:9px}.meeting-invite{width:min(196px,calc(100vw - 78px));min-height:44px;grid-template-columns:36px 1fr;padding:3px 6px 3px 3px}.portrait-mini{width:34px;height:34px}.meeting-invite b{font-size:9px}.meeting-invite small{font-size:8px}.plot-label{bottom:50%;min-width:38px;height:20px;padding:0 4px;font-size:8px}.plot-name{max-width:98%;padding:2px 4px;overflow:hidden;text-overflow:ellipsis;font-size:7px}.construction-badge{min-width:90px;max-width:96%;font-size:8px}.ledger-deck{min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);gap:5px;padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}.ledger-panel{grid-template-rows:48px minmax(0,1fr)}.ledger-tabs{min-width:0;gap:4px;padding:4px 5px 0;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:none}.ledger-tabs::-webkit-scrollbar{display:none}.ledger-tab{height:44px;min-width:72px;padding:0 13px;scroll-snap-align:center;font-size:9px}.ledger-tab.active{height:44px}.ledger-content{min-width:0;padding:9px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.tab-heading{display:block;margin-bottom:8px}.tab-heading h2{font-size:15px}.tab-heading p{margin-top:4px;font-size:10px;line-height:1.25}.arrival-panel{grid-template-rows:28px minmax(0,1fr)}.arrival-title{padding:0 7px}.arrival-title h2{font-size:10px}.arrival-title span{font-size:7px}.route-map{margin:4px 6px 5px}.route-map:before{top:18px}.route-map:after{bottom:17px}.route-label.river{top:3px}.route-label.road{bottom:3px}.town-marker:after{top:20px}.arrival-list{display:none}.opening-market.empty-state{height:auto;min-height:150px;padding:12px 3px;line-height:1.45}.opening-market .plate-button{width:min(100%,240px);min-height:46px}.market-table,.market-table tbody{width:100%;display:block}.market-table thead{display:none}.market-table tr{width:100%;display:grid;grid-template-columns:1.2fr .9fr .9fr;grid-template-areas:"good good good" "quantity market trend" "buy sell display" "margin margin margin";margin-bottom:9px;overflow:hidden;border:1px solid #79552c78;border-radius:5px;background:#f0ddb2bf;box-shadow:inset 0 0 0 1px #fff4d080}.market-table th,.market-table td{border-bottom:0}.market-table td{min-width:0;min-height:50px;display:grid;align-content:center;gap:4px;padding:6px;border-right:1px solid #68471f2d;border-bottom:1px solid #68471f2d;font-size:12px}.market-table td:before{content:attr(data-label);display:block;color:#75552f;font:7px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.market-table .good-cell{grid-area:good;width:auto;min-height:42px;font-size:14px}.market-table .quantity{grid-area:quantity;width:auto}.market-table .market{grid-area:market;width:auto}.market-table .trend{grid-area:trend}.market-table td:nth-child(5){grid-area:buy}.market-table td:nth-child(6){grid-area:sell}.market-table .display{grid-area:display;width:auto;text-align:left}.market-table td:nth-child(8){grid-area:margin;min-height:40px;border-bottom:0}.market-table input[type=number]{width:100%;height:44px;padding:0 8px;font-size:16px}.market-table input[type=checkbox]{width:28px;height:28px}.cards-grid{grid-template-columns:minmax(0,1fr);gap:9px}.ledger-card{min-height:108px;gap:7px;padding:10px}.ledger-card h3{padding-right:108px;font-size:12px}.ledger-card p{font-size:11px;line-height:1.35}.ledger-card button,.order-controls input,.order-controls button{min-height:44px;font-size:16px}.order-card{min-height:184px;gap:9px;padding:12px}.order-card h3{padding-right:0;font-size:19px;letter-spacing:.01em}.order-card p{font-size:13px;line-height:1.28}.order-card .order-price{margin-top:2px;font-size:14px}.order-controls{grid-template-columns:minmax(0,1fr);gap:8px}.order-quantity-control{grid-template-columns:48px minmax(80px,1fr) 48px;gap:6px}.order-quantity-control label{grid-template-rows:12px 44px;gap:2px;font-size:8px}.order-quantity-control input{height:44px;border-width:2px;border-radius:7px;padding:0 8px;color:#241408;background:#fffdf5;box-shadow:inset 0 1px 2px #50331525;font-size:20px}.ledger-card .order-step{height:56px;border-radius:7px;color:#fff6d6;background:linear-gradient(#795029,#492a13);font-size:25px}.ledger-card .order-submit{width:100%;height:48px;border-radius:7px;font-size:12px;letter-spacing:.04em}.order-future{margin-top:12px}.order-future summary{min-height:48px;padding:9px 11px;font-size:9px}.order-future>p{padding:0 11px 10px;font-size:11px;line-height:1.3}.order-future-list{gap:0;padding:0 10px 10px}.order-future-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 2px}.order-future-row .route-badge{width:max-content;max-width:100%}.order-future-row h3{font-size:12px}.order-future-row p{font-size:10px}.drag-card:after{content:"TAP, THEN CHOOSE A PLOT"}.deed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.deed-card{padding:9px}.deed-card button,.property-card button{min-height:44px}.property-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.property-card{min-height:92px;padding:8px}.town-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-stat{min-height:64px}.receipt-row{grid-template-columns:64px minmax(0,1fr) auto;gap:6px;padding:8px 4px;font-size:10px}.meeting-filter{grid-template-columns:1fr;padding:9px}.meeting-filter label{display:grid;gap:6px;font-size:9px}.meeting-filter select{width:100%;min-width:0;height:44px;margin:0;padding:0 8px;font-size:16px}.meeting-card{min-height:0;grid-template-columns:92px minmax(0,1fr);gap:8px;padding:8px}.vendor-portrait{min-height:112px}.meeting-name h3{display:block;margin:3px 0;font-size:14px}.meeting-copy blockquote{font-size:12px}.offer-terms time{width:100%;margin-left:0}.barter-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.barter-controls label{grid-column:1 / -1;font-size:9px}.barter-controls input,.barter-controls button{height:44px;font-size:16px}.barter-controls button.ghost,.opening-required{grid-column:1 / -1}.employee-grid{grid-template-columns:minmax(0,1fr)}.employee-card{min-height:0;grid-template-columns:76px minmax(0,1fr);padding:8px}.employee-portrait{min-height:96px}.employee-card select,.employee-card button{min-height:44px;font-size:16px}.employee-actions{display:grid;grid-template-columns:1fr}.modal-backdrop,.start-screen{padding:8px}.modal-card,.start-card{width:100%;max-height:calc(100dvh - 16px);padding:16px}.modal-card h2{font-size:24px}.modal-close{min-width:72px;min-height:44px}.how-grid{grid-template-columns:1fr}.soundtrack-choice{grid-template-columns:1fr;gap:7px}.soundtrack-choice select{min-height:44px;font-size:16px}.start-actions .plate-button{min-height:48px}.toast-stack{top:calc(56px + env(safe-area-inset-top));right:7px;width:calc(100vw - 14px)}.riverfront-pip{right:8px;bottom:8px;width:118px;border-width:2px}.riverfront-pip span{font-size:8px}.interior-opportunity-panel,.interior-opportunity-panel.cooling{left:8px;bottom:78px;width:calc(100% - 16px);max-height:calc(100% - 88px);padding:9px}.interior-choice button,.enter-poker-table{min-height:44px}.shop-empty-note{width:min(80%,280px);text-align:center}}@media(max-width:760px){.game-shell{grid-template-rows:50px clamp(205px,36dvh,310px) minmax(0,1fr)}.ledger-deck{grid-template-rows:minmax(0,1fr) 92px}.start-screen .start-card{padding:max(18px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.start-screen .start-card h1{font-size:clamp(31px,10vw,48px)}.start-subtitle{font-size:11px!important}.start-loading{width:calc(100vw - 24px)}.start-screen .start-actions{width:100%}.start-screen .start-actions .plate-button{min-width:0;flex:1 1 0}}@media(max-width:410px){.brand-title{font-size:14px}.status-cell:nth-of-type(4){width:50px}.meeting-card{grid-template-columns:78px minmax(0,1fr)}.vendor-portrait{min-height:98px}.receipt-row{grid-template-columns:54px minmax(0,1fr) auto}}@media(max-height:500px)and (max-width:950px){.game-shell{grid-template-columns:44% 56%;grid-template-rows:50px minmax(0,1fr)}.topbar{grid-column:1 / -1;grid-template-columns:minmax(130px,1fr) 92px 54px auto}.status-cell:nth-of-type(2){position:static;width:auto;height:44px;border:0;border-left:1px solid #c89c5038;border-radius:0;padding:0 4px;background:transparent;box-shadow:none}.world-scene{grid-column:1;grid-row:2;border-right:4px solid #362014;border-bottom:0}.ledger-deck{grid-column:2;grid-row:2;grid-template-rows:minmax(0,1fr) 82px}.scene-hud{right:7px}.meeting-invite{width:min(176px,calc(44vw - 14px))}.plot-label{display:none}.ledger-content{padding:7px}.ledger-panel{grid-template-rows:46px minmax(0,1fr)}.ledger-tab{height:44px;min-width:68px}.ledger-tab.active{height:44px}.arrival-panel{grid-template-rows:24px minmax(0,1fr)}.arrival-title{height:24px}.modal-card,.start-card{max-height:calc(100dvh - 10px);padding:12px}.start-screen .start-card{padding:8px 18px}.start-screen .start-card h1{font-size:clamp(30px,9vw,46px)}.start-subtitle{display:none}.start-loading{width:min(560px,70vw);height:36px}.start-screen .start-actions{margin-top:7px}.start-screen .start-actions .plate-button{min-height:44px}.toast-stack{right:5px;width:calc(56vw - 10px)}}
