:root{--ink:#0a1b33;--primary:#2f7ff7;--primary-deep:#1d5fd0;--tint:#e7f0ff;--border:#e3ebf5;--border-strong:#c9ddff;--surface-alt:#e6ecf6;--panel:#eff4fb;--danger:#c4281c;--danger-bg:#fdeeec;--warning-bg:#fff6e0;--page-bg:#e9eff8;--surface:#fff;--radius:14px;--radius-lg:22px;--font-sans:var(--font-libre-franklin), system-ui, sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, monospace;--control-height:44px;--control-height-cta:54px;--input-height:52px;--shadow-sheet:0 24px 64px #0a1b3338;--shadow-card:0 10px 30px #0a1b3314}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
@font-face{font-family:libreFranklin;src:url(../media/libre_franklin_latin_400_normal-s.p.04zkaphzyuw5m.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:libreFranklin;src:url(../media/libre_franklin_latin_500_normal-s.p.32gj1l_9vp3tt.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:libreFranklin;src:url(../media/libre_franklin_latin_700_normal-s.p.0nup2epnn3vfv.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:libreFranklin Fallback;src:local(Arial);ascent-override:92.07%;descent-override:23.45%;line-gap-override:0.0%;size-adjust:104.92%}.librefranklin_56973eff-module__NjtYxW__className{font-family:libreFranklin,libreFranklin Fallback}.librefranklin_56973eff-module__NjtYxW__variable{--font-libre-franklin:"libreFranklin", "libreFranklin Fallback"}
@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_latin_400_normal-s.p.3xdfs0-p_zi4c.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_latin_500_normal-s.p.11q3guvgd1r20.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_latin_600_normal-s.p.30e0eqd5fxn92.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_38ae3013-module__IurVYa__className{font-family:plexMono,plexMono Fallback}.plexmono_38ae3013-module__IurVYa__variable{--font-plex-mono:"plexMono", "plexMono Fallback"}
.AppInstallBanner-module__ZQfKSq__banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:1000;background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:40px 1fr 32px;grid-template-areas:"mark text close""cta cta cta";align-items:center;gap:10px 12px;padding:12px 10px 12px 14px;display:grid;position:fixed}.AppInstallBanner-module__ZQfKSq__mark{background:var(--primary);width:40px;height:40px;color:var(--surface);border-radius:10px;grid-area:mark;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.AppInstallBanner-module__ZQfKSq__text{flex-direction:column;grid-area:text;gap:2px;min-width:0;display:flex}.AppInstallBanner-module__ZQfKSq__title{font-size:14px;font-weight:700}.AppInstallBanner-module__ZQfKSq__body{font-size:12px;line-height:1.35}.AppInstallBanner-module__ZQfKSq__cta{text-align:center;background:var(--primary);color:var(--surface);border-radius:var(--radius);letter-spacing:.04em;white-space:nowrap;grid-area:cta;margin-right:4px;padding:11px 12px;font-size:12px;font-weight:700;text-decoration:none}.AppInstallBanner-module__ZQfKSq__close{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-area:close;align-self:start;font-size:22px;line-height:1}
