:root{--ink:#2a1f3d;--paper:#f6e7c8;--paper-dark:#e8d3a8;--wood:#8e5a2e;--wood-dark:#5e3a20;--gold:#ffd23f;--green:#4f9a3c;--pixel:3px}*{box-sizing:border-box}html,body,#root{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#2f6b33;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.pixel{image-rendering:pixelated}.loading{color:var(--paper);padding:24px}.game{height:100%;display:flex}.park-wrap{flex:1;min-width:0;position:relative}canvas.park{cursor:none;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.panel{background:var(--paper);border-left:calc(var(--pixel) * 2) solid var(--wood);width:300px;box-shadow:inset calc(var(--pixel) * 2) 0 0 var(--paper-dark);flex-direction:column;flex:none;gap:10px;padding:12px;display:flex;overflow-y:auto}.title{justify-content:space-between;align-items:center;display:flex}h1{letter-spacing:1px;color:var(--wood-dark);text-transform:uppercase;margin:0;font-size:20px}.toggles{gap:4px;display:flex}.toggles button{background:var(--paper-dark);border:var(--pixel) solid var(--wood);opacity:.55;width:32px;height:28px;padding:0}.toggles button.on{opacity:1}.money{background:var(--ink);color:var(--gold);border:var(--pixel) solid var(--wood-dark);align-items:center;gap:10px;padding:6px 10px;display:flex}.money img{width:28px;height:28px}.coins{font-size:30px;font-weight:700}.coins.bump{animation:.18s ease-out bump;display:inline-block}@keyframes bump{0%{transform:scale(1.18)}to{transform:scale(1)}}.rating{justify-content:space-between;align-items:center;gap:8px;display:flex}.stars{gap:2px;display:flex}.star{width:27px;height:27px;position:relative}.star img{width:27px;height:27px;display:block}.star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden}.guests{color:var(--wood);text-align:right;font-size:11px}.minimap{width:100%;image-rendering:pixelated;border:var(--pixel) solid var(--wood-dark);cursor:pointer;touch-action:none}.job,.rank{background:var(--paper-dark);border:var(--pixel) solid var(--wood);padding:8px 10px}.job h2{letter-spacing:1px;text-transform:uppercase;color:var(--wood);margin:0 0 4px;font-size:11px}.job-what{margin:0 0 6px;font-size:14px;font-weight:700}.job-reward{color:var(--wood-dark);margin:6px 0 0;font-size:11px}.bar{background:var(--ink);border:2px solid var(--wood-dark);height:16px;position:relative}.bar>span{background:linear-gradient(var(--gold) 0 50%, #e8a02d 50%);transition:width .2s ease-out;position:absolute;inset:0 auto 0 0}.bar>em{text-align:center;color:#fff6e8;text-shadow:1px 1px 0 var(--ink);font-size:11px;font-style:normal;font-weight:700;line-height:12px;position:absolute;inset:0}.bar.thin{height:8px}.bar.thin>span{background:#2fb3a0}.milestones{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.milestones li{border:1px solid var(--wood);background:#c9b898;flex:1;height:6px}.milestones li.done{background:var(--gold)}.milestones li.now{background:#fff6e8;animation:.9s steps(2,end) infinite blink}@keyframes blink{50%{background:var(--gold)}}.rank-name{justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.rank-name small{color:var(--wood);font-size:10px;font-weight:400}.shop{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item{text-align:left;background:var(--paper-dark);border:var(--pixel) solid var(--wood);width:100%;box-shadow:0 var(--pixel) 0 var(--wood-dark);opacity:.6;align-items:center;gap:8px;padding:6px 8px;display:flex}.item.afford{opacity:1;background:#fff6e8}.item.afford:hover{transform:translateY(-1px)}.item.afford:active{box-shadow:0 0 0 var(--wood-dark);transform:translateY(2px)}.item.maxed{opacity:.8}.item.locked{opacity:.45;box-shadow:none;border-style:dashed}.item .icon{object-fit:contain;flex:none;place-items:center;width:36px;height:36px;font-size:22px;font-weight:700;display:grid}.what{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.name{font-size:13px;font-weight:700}.level{color:var(--paper);background:var(--green);margin-left:6px;padding:0 4px;font-size:10px}.text{color:var(--wood);font-size:11px}.cost{align-items:center;gap:3px;font-size:13px;font-weight:700;display:flex}.cost img{width:14px;height:14px}.help{color:var(--wood);margin:auto 0 0;font-size:11px}
