/* Páginas propias del runtime (lanzador y portada) y avisos del puente. */
:root { --navy: #0d2233; --accent: #1e6e82; --warm: #faf7f1; --graphite: #3f4a57; }
body { margin: 0; background: var(--warm); color: var(--navy); font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif; }
.launcher { max-width: 40rem; margin: 12vh auto; padding: 0 1rem; }
.launcher .brand { font: 600 0.75rem/1 ui-monospace, monospace; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); }
.launcher h1 { font-size: 1.6rem; line-height: 1.25; margin: 0.75rem 0; }
.launcher p { color: var(--graphite); }
.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.button { display: inline-block; border: 1px solid var(--navy); border-radius: 999px; padding: 0.6rem 1.2rem; color: var(--navy); text-decoration: none; font-weight: 600; }
.button.primary { background: var(--navy); color: var(--warm); }
.button:focus-visible, .qlabs-standalone a:focus-visible, .qlabs-standalone button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.qlabs-standalone { position: fixed; left: 12px; bottom: 34px; z-index: 10000; display: flex; align-items: center; gap: 0.75rem; max-width: calc(100vw - 24px); padding: 0.4rem 0.5rem 0.4rem 0.9rem; border-radius: 999px; background: var(--navy); color: var(--warm); font: 13px/1.4 system-ui, sans-serif; box-shadow: 0 4px 16px rgba(13, 34, 51, 0.25); }
.qlabs-standalone a { color: var(--warm); font-weight: 600; text-decoration: none; white-space: nowrap; }
.qlabs-standalone span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qlabs-standalone button { border: 0; background: transparent; color: var(--warm); font-size: 18px; line-height: 1; cursor: pointer; padding: 0.2rem 0.4rem; }
