:root { color-scheme: dark; font: 17px/1.5 system-ui, sans-serif; color: #e8eef1; background: #12202b; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 720px; margin: auto; padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
h1 { font-size: 2rem; line-height: 1.15; margin: 0; }
h2 { font-size: 1.25rem; }
.eyebrow { color: #8ee0ca; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; }
section { margin: 20px 0; padding: 18px; background: #1a2d39; border: 1px solid #3b5360; border-radius: 12px; }
button, input::file-selector-button { min-height: 48px; padding: 10px 16px; border: 1px solid #8ee0ca; border-radius: 8px; background: #8ee0ca; color: #102b2a; font: inherit; cursor: pointer; }
button:disabled, input:disabled { opacity: .5; cursor: wait; }
input { display: block; max-width: 100%; margin-top: 12px; font: inherit; }
button:focus-visible, input:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
#message, #storage-status, #build { overflow-wrap: anywhere; }
.error { color: #ffbcaa; }
[hidden] { display: none !important; }
