:root{--ink:#f2e8b6;--muted:#b9c5aa;--shadow:#06100e;--panel:#081612b3;--edge:#f2e8b62e;--north:#a8d8ff;--south:#f2633d;--east:#9ee7e5;--west:#b4d06f;--font-display:"Palatino Linotype", "Book Antiqua", "Georgia", serif;--font-ui:"Trebuchet MS", "Segoe UI", sans-serif;color:var(--ink);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#071312}*{box-sizing:border-box}html,body,#app-shell,#game-root{overscroll-behavior:none;touch-action:none;width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}html,body{width:100vw;height:100dvh;position:fixed;inset:0}body{min-width:320px;min-height:100dvh}#app-shell{isolation:isolate;background:radial-gradient(circle at 50% 42%,#f2e8b614,#0000 22rem),linear-gradient(145deg,#071312,#10251f 52%,#060c0b);width:100vw;height:100dvh;min-height:100dvh;position:fixed;inset:0}#game-root{z-index:2;position:absolute;inset:0}#game-root canvas{image-rendering:crisp-edges;image-rendering:pixelated;display:block}.pwa-update-prompt{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:30;max-width:560px;color:var(--ink);pointer-events:auto;background:#10251ffa;border:1px solid #f2e8b66b;justify-content:space-between;align-items:center;gap:14px;margin:0 auto;padding:12px;display:flex;position:fixed;box-shadow:0 12px 28px #030706a3}.pwa-update-prompt__copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pwa-update-prompt__copy strong{font-family:var(--font-display);font-size:17px;font-weight:700}.pwa-update-prompt__copy span{color:var(--muted);font-size:13px;line-height:1.25}.pwa-update-prompt__actions{flex:none;gap:8px;display:flex}.pwa-update-prompt__button{min-height:42px;color:var(--ink);font-family:var(--font-ui);background:#071312f0;border:1px solid #f2e8b66b;padding:0 13px;font-size:13px;font-weight:700}.pwa-update-prompt__button--primary{color:#071312;background:#f2e8b6}.pwa-update-prompt__button--secondary{color:var(--muted)}@media (width<=420px){.pwa-update-prompt{flex-direction:column;align-items:stretch}.pwa-update-prompt__actions{justify-content:flex-end}}
