    html, body { margin: 0; height: 100%; overflow: hidden; background: #0b0d12; }
    #keel { display: block; width: 100vw; height: 100vh; height: 100dvh; touch-action: none; outline: none; }
    #keel-status { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; padding: 12px 16px;
      font: 14px/1.4 var(--keel-font-ui, system-ui, sans-serif); color: #f2f4f8; background: rgba(0, 0, 0, 0.72); }
    #keel-status:empty { display: none; }
    #keel-poster { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh;
      object-fit: cover; pointer-events: none; }
    #keel-splash { position: fixed; inset: 0; z-index: 1; display: flex; flex-direction: column;
      align-items: center; justify-content: center; gap: 12px; padding: 24px; box-sizing: border-box;
      background: #0b0d12; color: #f2f4f8; text-align: center;
      font: 16px/1.5 var(--keel-font-ui, system-ui, sans-serif); }
    #keel-splash.keel-over-poster { background: transparent; justify-content: flex-end; padding-bottom: 48px; }
    #keel-splash.keel-gone { display: none; }
    #keel-splash-icon { width: 96px; height: 96px; border-radius: 22px; }
    #keel-splash-name { margin: 0; font-size: 22px; font-weight: 700; }
    #keel-bar { width: min(280px, 70vw); height: 6px; border-radius: 3px; overflow: hidden;
      background: rgba(127, 127, 127, 0.3); }
    #keel-bar-fill { height: 100%; background: #f2f4f8; transform: scaleX(0); transform-origin: left;
      transition: transform 0.2s linear; }
    #keel-splash p { margin: 0; max-width: 32em; }
    #keel-progress, #keel-details { font-size: 13px; opacity: 0.75; font-variant-numeric: tabular-nums; }
    #keel-progress:empty, #keel-message:empty, #keel-details:empty { display: none; }
    #keel-splash[data-state="failed"] #keel-bar, #keel-splash[data-state="failed"] #keel-progress { display: none; }
    #keel-stuck { display: none; }
    html:not([data-keel-booting]) #keel-stuck { display: block; opacity: 0;
      animation: keel-stuck 0.3s 30s forwards; }
    @keyframes keel-stuck { to { opacity: 1; } }
    #keel-retry { font: inherit; font-weight: 700; color: #0b0d12; background: #f2f4f8; border: 0;
      border-radius: 999px; padding: 10px 28px; cursor: pointer; }
    #keel-retry[hidden] { display: none; }
    #keel-splash:not(.keel-gone) ~ #keel-status { display: none; }
    @media (prefers-reduced-motion: reduce) { #keel-bar-fill { transition: none; } }
/* keel: the families keel.toml [fonts] declares, drawn by keel pack */
@font-face{font-family:"Nunito ExtraLight";font-style:normal;font-weight:400;font-display:optional;src:url("./assets/fonts/Nunito-Regular.ttf") format("truetype")}
@font-face{font-family:"Nunito ExtraLight";font-style:normal;font-weight:700;font-display:swap;src:url("./assets/fonts/Nunito-Bold.ttf") format("truetype")}
@font-face{font-family:"Nunito ExtraLight Fallback";font-style:normal;font-weight:400 700;font-display:optional;src:local("Arial"),local("Helvetica"),local("Roboto"),local("Liberation Sans");size-adjust:113.85%;ascent-override:88.80%;descent-override:31.01%;line-gap-override:0.00%}
@font-face{font-family:"jf-openhuninn-2.1";font-style:normal;font-weight:400;font-display:swap;src:url("./assets/fonts/Huninn-Display.ttf") format("truetype")}
@font-face{font-family:"jf-openhuninn-2.1 Fallback";font-style:normal;font-weight:400;font-display:swap;src:local("Arial"),local("Helvetica"),local("Roboto"),local("Liberation Sans");size-adjust:117.88%;ascent-override:72.16%;descent-override:12.68%;line-gap-override:0.00%}
:root{--keel-font-ui:"Nunito ExtraLight","Nunito ExtraLight Fallback",system-ui, sans-serif;--keel-font-display:"jf-openhuninn-2.1","jf-openhuninn-2.1 Fallback",system-ui, sans-serif;}
@layer keel.base{html,body{font-family:var(--keel-font-ui,inherit)}}
