:root{color:#173317;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#83d97a;font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#game-shell{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px}#game-shell{isolation:isolate;position:relative}#game{position:absolute;inset:0}#game canvas{width:100%;height:100%;display:block}#loading{color:#244126;z-index:4;background:#bce986;place-items:center;font-size:1rem;font-weight:700;display:grid;position:absolute;inset:0}#loading[hidden]{display:none}#controls{left:0;right:0;bottom:max(20px, env(safe-area-inset-bottom));z-index:3;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:0 18px;display:flex;position:absolute}.timelineControl{color:#301903;pointer-events:auto;background:linear-gradient(#fff0a6 0%,#f7c75d 54%,#db8a2a 100%);border:2px solid #5f3715;border-radius:16px;align-items:center;gap:10px;width:min(880px,100vw - 36px);min-height:54px;padding:0 14px;display:flex;box-shadow:0 8px #8a4d1e,0 16px 26px #21251342}.controlButton{color:#301903;cursor:pointer;width:40px;height:34px;font:inherit;letter-spacing:0;background:#fff8d8;border:2px solid #5f3715;border-radius:10px;flex:none;font-size:1.2rem;font-weight:900;line-height:1;box-shadow:0 3px #8a4d1e}.controlButton--wide{text-transform:uppercase;width:78px;font-size:.86rem}.controlButton:hover{filter:brightness(1.05)saturate(1.05)}.controlButton:active{transform:translateY(2px);box-shadow:0 1px #8a4d1e}.controlButton:focus-visible,.timelineControl__range:focus-visible,.frameRange__input:focus-visible{outline-offset:4px;outline:4px solid #ffffffe6}.timelineControl__range{accent-color:#6f9ecd;cursor:pointer;flex:auto;min-width:170px}.frameCounter{color:#301903;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;white-space:nowrap;flex:0 0 64px;font-size:.95rem;font-weight:900}.frameRange{flex:none;align-items:center;gap:8px;display:flex}.frameRange__field{color:#301903;letter-spacing:0;text-transform:uppercase;align-items:center;gap:5px;font-size:.78rem;font-weight:900;display:inline-flex}.frameRange__input{color:#301903;width:54px;height:34px;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;background:#fff8d8;border:2px solid #5f3715;border-radius:10px;padding:0 5px;font-size:.9rem;font-weight:900}.equipmentControls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.equipmentControl{color:#301903;pointer-events:auto;min-height:54px;font:inherit;letter-spacing:0;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff0a6 0%,#f7c75d 54%,#db8a2a 100%);border:2px solid #5f3715;border-radius:16px;align-items:center;gap:12px;padding:0 18px 0 14px;font-size:1rem;font-weight:900;display:inline-flex;box-shadow:0 8px #8a4d1e,0 16px 26px #21251342}.equipmentControl:hover{filter:brightness(1.05)saturate(1.05)}.equipmentControl__input{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.equipmentControl__switch{background:#8fc66b;border:2px solid #5f3715;border-radius:999px;flex:none;width:48px;height:28px;position:relative;box-shadow:inset 0 2px 4px #30190347}.equipmentControl__switch:after{content:"";background:#fff8d8;border-radius:50%;width:18px;height:18px;transition:transform .12s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #30190352}.equipmentControl__input:checked+.equipmentControl__switch{background:#6f9ecd}.equipmentControl__input:checked+.equipmentControl__switch:after{transform:translate(20px)}.equipmentControl__input:focus-visible+.equipmentControl__switch{outline-offset:4px;outline:4px solid #ffffffe6}.equipmentControl__text{line-height:1}@media (width<=520px){#controls{bottom:max(14px, env(safe-area-inset-bottom));gap:10px;padding:0 14px}.timelineControl{border-radius:14px;flex-wrap:wrap;gap:8px;width:calc(100vw - 28px);min-height:50px;padding:0 10px}.controlButton{width:36px;height:32px}.controlButton--wide{width:66px;font-size:.76rem}.timelineControl__range{min-width:90px}.frameCounter{flex-basis:52px;font-size:.82rem}.frameRange{justify-content:center;width:100%}.frameRange__input{width:50px;height:32px}.equipmentControl{border-radius:14px;min-height:50px;padding:0 14px}}
