/* The whole page's CSS. The CSP's style-src has no 'unsafe-inline' (deploy/Caddyfile),
   so nothing may come from a <style> element or a style="" attribute; scripts set
   styles only through the CSSOM (element.style.x = ...), which the CSP allows. */
html,body{margin:0;width:100%;height:100%;overflow:hidden}
canvas{display:block;width:100%;height:100%}

/* Boot screen and on-screen startup errors (boot.js, start.js). */
#sh-boot{position:fixed;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;font:14px system-ui;color:#555}
#sh-boot-errors{display:none;position:fixed;left:0;right:0;bottom:0;max-height:60%;overflow:auto;margin:0;padding:12px;background:#fff3f3;color:#900;font:12px ui-monospace,monospace;white-space:pre-wrap;z-index:2147483647}

/* DOM layer over the canvas (crates/economics-web/src/dom.rs). */
#sh-overlay{position:fixed;left:0;top:0;width:0;height:0;z-index:10}
#sh-overlay>*{position:absolute;box-sizing:border-box;margin:0}
#sh-overlay iframe{border:1px solid #d6d3d1;background:#fff}
#sh-overlay input{font:14px/20px 'IBM Plex Sans',system-ui,sans-serif;padding:0 12px;border:1px solid #a8a29e;border-radius:6px;background:#fff;color:#1c1917}
#sh-overlay input:focus{outline:2px solid #1b5e4b;outline-offset:1px}
#sh-a11y,#sh-live{position:fixed;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
