:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#49382a}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;cursor:pointer;border:2px solid #c88d50;border-radius:13px;background:linear-gradient(#ffedbb,#f7c97d);color:#503822;font-weight:750;padding:10px 14px;box-shadow:0 3px #b98755}button:hover:not(:disabled){filter:brightness(1.04)}button:disabled{opacity:.48;cursor:not-allowed}button.selected{background:linear-gradient(#c3e9a1,#8ed18b);border-color:#5eaa70}.game-shell{position:relative;width:100%;height:100dvh;overflow:hidden;background:#9ecde8}.viewport{position:absolute;top:0;right:0;bottom:0;left:0}.viewport canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}.hud-top{position:absolute;z-index:3;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.brand,.hud-resources{pointer-events:auto;background:#fff8e8ed;border:2px solid #f2dfb7;box-shadow:0 4px 15px #354c4550;border-radius:18px;padding:9px 13px}.brand{display:flex;flex-direction:column;min-width:210px}.brand strong{font-size:18px}.brand small{font-size:11px;color:#806b53}.hud-resources{display:flex;flex-wrap:wrap;gap:7px}.hud-resources span,.stat-cards span{background:#f4e4be;border-radius:10px;padding:7px 10px;font-weight:800;white-space:nowrap}.view-tabs{position:absolute;z-index:3;top:90px;left:12px;display:flex;gap:7px}.view-tabs button{font-size:13px}.hud-message{position:absolute;z-index:3;left:50%;transform:translate(-50%);bottom:calc(92px + env(safe-area-inset-bottom));max-width:min(90vw,580px);background:#fff9e7ec;border:1px solid #dfc69b;border-radius:14px;padding:8px 14px;text-align:center;font-size:13px;box-shadow:0 3px 12px #354c4533;pointer-events:none}.bottom-bar{position:absolute;z-index:6;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:10px;background:#fff8e9ed;border:2px solid #f1d5a5;border-radius:23px;padding:9px;box-shadow:0 8px 28px #354c4555}.bottom-bar button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:90px;font-size:22px;padding:6px 12px}.bottom-bar span{font-size:12px}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;background:#263a2b3b}.game-drawer{position:absolute;z-index:8;right:14px;top:90px;bottom:110px;width:min(410px,calc(100vw - 28px));overflow-y:auto;overscroll-behavior:contain;background:#fff9e9;border:3px solid #e6c58e;border-radius:22px;padding:18px;box-shadow:0 12px 45px #293c375e}.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-heading h2{font-size:21px;margin:0}.close-btn{min-width:44px}.muted{font-size:13px;color:#796c5a}.machine-list{display:grid;gap:9px}.machine-list button{display:flex;justify-content:space-between;gap:8px;text-align:left}.machine-list small{font-size:11px;white-space:nowrap}.action-row{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.action-row button{flex:1;min-width:115px}.stat-cards{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.stat-cards span{font-size:13px}.game-drawer h3{margin:18px 0 4px}.game-drawer p{line-height:1.5}.primary-action{width:100%;background:linear-gradient(#bce9a3,#8dce8a);border-color:#65a76c}.danger{background:#ffe0d5;border-color:#cf8a78}.tutorial{background:#f5e7c9;padding:12px;border-radius:13px}.placement-toolbar{position:absolute;z-index:6;left:50%;transform:translate(-50%);top:150px;background:#fff7e7;padding:10px;display:flex;align-items:center;gap:8px;border-radius:16px;box-shadow:0 4px 20px #354c4544}.placement-toolbar span{font-size:13px;font-weight:700}@media(max-width:650px){.hud-top{top:calc(5px + env(safe-area-inset-top));left:5px;right:5px;gap:4px;flex-direction:column}.brand{min-width:0;padding:5px 10px}.brand strong{font-size:13px}.brand small{display:none}.hud-resources{gap:3px;padding:5px}.hud-resources span{font-size:11px;padding:5px}.view-tabs{top:calc(96px + env(safe-area-inset-top));left:6px}.view-tabs button{padding:7px 10px}.bottom-bar{width:calc(100% - 10px);bottom:calc(5px + env(safe-area-inset-bottom));gap:3px;justify-content:space-around;padding:5px;border-radius:16px}.bottom-bar button{min-width:0;flex:1;font-size:18px;padding:5px 2px}.bottom-bar span{font-size:10px}.hud-message{bottom:calc(79px + env(safe-area-inset-bottom));font-size:11px;padding:5px 9px}.game-drawer{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));left:5px;right:5px;width:auto;max-height:min(65dvh,560px);padding:13px;border-radius:20px}.drawer-heading h2{font-size:18px}.placement-toolbar{top:auto;bottom:calc(135px + env(safe-area-inset-bottom));max-width:96vw}.placement-toolbar span{font-size:11px}}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-drawer{scrollbar-gutter:stable;overscroll-behavior:contain}@media(max-width:380px){.hud-resources span{font-size:10px;padding:4px}.view-tabs{top:calc(88px + env(safe-area-inset-top))}.bottom-bar span{font-size:9px}.game-drawer{max-height:58dvh}}@media(max-height:480px)and (orientation:landscape){.hud-top{top:4px;left:4px;right:auto;max-width:52vw}.brand{display:none}.hud-resources{padding:4px}.view-tabs{top:47px;left:5px}.view-tabs button{padding:5px 8px}.bottom-bar{left:auto;right:calc(4px + env(safe-area-inset-right));transform:none;bottom:calc(4px + env(safe-area-inset-bottom));width:auto}.bottom-bar button{min-width:52px}.hud-message{left:5px;transform:none;bottom:6px;max-width:38vw}.game-drawer{top:5px;bottom:5px;left:auto;right:5px;width:min(390px,55vw);max-height:none}.placement-toolbar{top:45%;bottom:auto;left:50%;max-width:65vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.onboarding{position:absolute;z-index:12;top:110px;left:18px;width:min(330px,calc(100vw - 36px));padding:14px 16px;border-radius:18px;background:#fffceff5;color:#3a3326;box-shadow:0 8px 30px #2326142e;border:1px solid #eadcb9;pointer-events:auto}.onboarding strong{font-size:1rem}.onboarding p{font-size:.88rem;line-height:1.4;margin:8px 0}.onboarding .action-row{display:flex;gap:8px;flex-wrap:wrap}.onboarding button{border-radius:10px;padding:7px 12px;border:1px solid #d6c89e;background:#fffaf0;color:#342c20;cursor:pointer}@media(max-width:640px){.onboarding{top:94px;left:8px;width:min(290px,calc(100vw - 16px));padding:10px 12px}.onboarding p{font-size:.8rem}}@media(max-height:520px){.onboarding{top:64px;max-width:260px}.onboarding p{font-size:.75rem}}
