:root{--cream:#f4e7cf;--paper:#fbf4e6;--wood:#6f4527;--wood-soft:#a87b52;--line:#e2d3b2;--leaf:#3e7a3b;--tomato:#d4532a;--sky:#2a6fb0;--ink:#2b211a;--muted:#7a6a58;--font:"Trebuchet MS", "Lucida Grande", "DejaVu Sans", sans-serif}html,body{height:100%;font-family:var(--font);color:var(--ink);background:#2f2a26;margin:0;overflow:hidden}#scene{position:fixed;inset:0}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}.ui-root>*{pointer-events:auto}button,select{font:inherit;color:inherit}button{border:2px solid var(--wood);background:var(--paper);color:var(--wood);cursor:pointer;border-radius:6px;padding:3px 9px;font-weight:700}button:hover:not(:disabled){background:#f0dfbf}button:disabled{opacity:.45;cursor:default}button.active,button.active:hover:not(:disabled){background:var(--wood);color:var(--cream)}button.primary{background:var(--tomato);border-color:var(--tomato);color:var(--paper)}button.primary:hover:not(:disabled){background:#bf4824}button.danger{border-color:var(--tomato);color:var(--tomato)}select{border:1px solid var(--wood-soft);background:var(--paper);border-radius:5px;padding:2px 4px}.muted{color:var(--muted)}.warn{color:var(--tomato);font-weight:700}.good-text{color:var(--leaf);font-weight:700}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.topbar{background:var(--cream);border:3px solid var(--wood);max-width:calc(100vw - 24px);box-shadow:0 4px 0 var(--wood);white-space:nowrap;border-radius:10px;align-items:center;gap:14px;padding:7px 12px;font-size:14px;display:flex;position:absolute;top:10px;left:50%;overflow-x:auto;transform:translate(-50%)}.tb-clock,.tb-money{font-variant-numeric:tabular-nums;font-weight:700}.tb-status{color:var(--paper);background:#b8aa92;border-radius:6px;padding:2px 8px}.tb-status.open{background:var(--leaf)}.tb-status.locked{background:var(--tomato)}.tb-alert{background:var(--tomato);color:var(--paper);border-radius:6px;padding:2px 8px;font-weight:700}.tb-item{color:var(--muted)}.tb-goal{border-style:dashed;border-width:1px;font-weight:400}.tb-speed{gap:4px;display:flex}.tb-speed button{min-width:34px;padding:2px 6px}.tb-speed button.active,.tb-speed button.active:hover:not(:disabled){background:var(--tomato);border-color:var(--tomato);color:var(--paper)}.rail{flex-direction:column;gap:6px;width:112px;display:flex;position:absolute;top:70px;left:10px}.rail button{text-align:left;box-shadow:0 2px 0 var(--wood);position:relative}.badge{background:var(--tomato);min-width:18px;color:var(--paper);text-align:center;border-radius:9px;padding:0 4px;font-size:11px;line-height:18px;position:absolute;top:-7px;right:-7px}.panel{background:var(--cream);border:3px solid var(--wood);width:520px;box-shadow:0 4px 0 var(--wood);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:70px;bottom:12px;left:134px;overflow:hidden}.panel-head{border-bottom:2px solid var(--line);align-items:center;gap:10px;padding:6px 10px;display:flex}.panel-head h2{margin:0;font-size:16px}.panel-head>button{border-width:1px;margin-left:auto;padding:0 8px}.panel-body{padding:4px 12px 12px;font-size:13px;overflow-y:auto}.section h3{color:var(--wood);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;margin:12px 0 6px;font-size:14px;display:flex}.section h3 .muted{font-size:12px;font-weight:400}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.table{border-collapse:collapse;width:100%}.table th{color:var(--muted);text-align:left;font-size:11px;font-weight:400}.table td,.table th{border-bottom:1px solid var(--line);padding:3px 4px}.money-table .group td{padding-top:6px;font-weight:700}.money-table .indent{color:var(--muted);padding-left:16px}.row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:3px 0;display:flex}.row>:first-child{flex:1}.order-foot,.card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.inline{align-items:center;gap:6px;display:inline-flex}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper button{border-width:1px;width:24px;padding:0}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:22px}.bar{background:var(--line);border-radius:4px;flex:1;min-width:40px;height:7px;overflow:hidden}.bar-fill{border-radius:4px;height:100%}.tone-leaf{background:var(--leaf)}.tone-tomato{background:var(--tomato)}.tone-wood{background:var(--wood-soft)}.tone-sky{background:var(--sky)}.chip{background:var(--line);white-space:nowrap;border-radius:9px;padding:1px 7px;font-size:11px;display:inline-block}.chip-good{color:#2c5a2a;background:#d7e8c9}.chip-bad{color:#8e3216;background:#f6d2c4}.card,.goal{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:8px 10px}.card-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.skills{gap:2px;margin:6px 0;display:grid}.skill{grid-template-columns:96px 1fr 28px;align-items:center;gap:6px;font-size:12px;display:grid}.traits{flex-wrap:wrap;gap:4px;display:flex}.state-row{grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:grid}.slot{grid-template-columns:70px 130px 1fr 52px;align-items:center;gap:6px;margin:4px 0;display:grid}.slot .chip{grid-column:2/-1;justify-self:start}.build-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.build-item{color:var(--ink);text-align:left;border-width:1px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;font-weight:400;display:flex}.build-item.active{border-width:2px;border-color:var(--tomato);color:var(--ink);background:#f6dccd}.goal.future{opacity:.6}.goal.current{border-color:var(--leaf);border-width:2px}.goal p{margin:2px 0}.goal-progress{align-items:center;gap:8px;display:flex}.charts{margin:4px 0 8px}.chart-title{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.legend{align-items:center;gap:4px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:10px;margin-left:6px;display:inline-block}.chart{width:100%;height:auto;display:block}.axis-text{fill:var(--muted);font-size:10px}.plan-window{background:var(--cream);border:3px solid var(--wood);width:min-content;box-shadow:0 4px 0 var(--wood);border-radius:10px;position:absolute;top:70px;right:10px;overflow:hidden}.plan-window .panel-head .muted{flex:1;min-width:0;font-size:12px}.plan-canvas{cursor:crosshair;display:block}.plan-legend{color:var(--muted);flex-wrap:wrap;gap:10px;padding:5px 10px;font-size:11px;display:flex}.plan-legend i{vertical-align:-1px;width:9px;height:9px;margin-right:3px;display:inline-block}.dot{border-radius:50%}.dot.granny{background:#9a6cae}.dot.office{background:#3d5c86}.dot.family{background:#c8503a}.dot.student{background:#4f8a3c}.sq{border-radius:2px}.sq.merch{background:#2f6b2c}.sq.cashier{background:var(--wood)}.sq.admin{background:var(--ink)}.feed{flex-direction:column;gap:4px;max-width:420px;display:flex;position:absolute;bottom:12px;right:12px;pointer-events:none!important}.feed-item{color:var(--paper);border-left:4px solid var(--wood-soft);background:#2b211adb;border-radius:7px;padding:5px 10px;font-size:13px}.feed-item.tone-good{border-left-color:#7cc66d}.feed-item.tone-bad{border-left-color:var(--tomato)}.notice{background:var(--ink);color:var(--paper);border-radius:7px;padding:5px 12px;font-size:13px;position:absolute;top:62px;left:50%;transform:translate(-50%);pointer-events:none!important}.end-screen{background:#1e181499;place-items:center;display:grid;position:fixed;inset:0}.end-card{background:var(--cream);border:3px solid var(--wood);max-width:420px;box-shadow:0 6px 0 var(--wood);text-align:center;border-radius:12px;padding:20px 26px}.end-card h2{color:var(--wood);margin:0 0 8px}.prices .stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:64px}.small{font-size:11px}.markdown-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.new-game{flex-direction:column;gap:8px;display:flex}.seg{flex-wrap:wrap;gap:4px;display:flex}.shift{align-items:center;gap:6px;margin:4px 0;display:flex}
