.App{display:flex;flex-direction:column;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);width:100%;padding:calc(var(--safe-top, 0px) + 8px) 0 calc(var(--safe-bottom, 0px) + 12px);margin:0;box-sizing:border-box;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.App h1{margin:1rem 0;padding:0 1rem}.canvas-container{flex:1;width:100%;min-height:0;position:relative;overscroll-behavior:none}.game-canvas{width:100%;height:100%;cursor:pointer;touch-action:none}.card{padding:2em}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.App.storage-overlay:before{content:"";position:fixed;inset:0;width:100vw;height:100dvh;background:#00000080;pointer-events:none;z-index:1}.App.storage-overlay .canvas-container{z-index:2}.App.orientation-locked .canvas-container{filter:blur(2px);pointer-events:none}.orientation-overlay{position:fixed;inset:0;padding:calc(var(--safe-top, 0px) + 16px) 16px calc(var(--safe-bottom, 0px) + 16px);display:flex;align-items:center;justify-content:center;background:#00000073;z-index:20}.orientation-card{background:#f7f0e5;color:#4a3a2a;border-radius:18px;padding:18px 20px;max-width:320px;width:100%;box-shadow:0 12px 28px #0000001f;text-align:center;line-height:1.4}.orientation-title{font-weight:700;font-size:1.1rem;margin-bottom:6px}.orientation-body{font-size:.98rem}@media(pointer:fine)and (min-width:900px){.App{max-width:520px;margin-left:auto;margin-right:auto}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#333;background-color:#f7f0e5;--app-height: 100vh;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;width:100%;min-height:var(--app-height, 100vh);height:var(--app-height, 100vh);overflow:hidden;box-sizing:border-box}html,body,#root{width:100%;height:var(--app-height, 100vh);overscroll-behavior:none}#root{margin:0;padding:0}h1{font-size:3.2em;line-height:1.1}
