* { box-sizing: border-box; } html, body, #root { min-height: 100%; } body { margin: 0; } button, input { font: inherit; color: inherit; } h2, p { margin: 0; } .app { min-height: 100vh; display: grid; } .app-body { min-height: 0; } .app-main { min-width: 0; } .app-loading { min-height: 100vh; display: grid; place-items: center; font: var(--type-section-title); letter-spacing: var(--type-section-title-tracking); text-transform: var(--type-section-title-transform); color: light-dark(oklch(0.42 0.01 145), oklch(0.76 0.01 145)); background: light-dark(oklch(0.965 0.006 145), oklch(0.18 0.012 145)); } .app-boot { min-height: 100vh; display: grid; place-content: center; justify-items: start; gap: 14px; padding: 32px; background: light-dark(oklch(0.965 0.006 145), oklch(0.18 0.012 145)); color: light-dark(oklch(0.24 0.014 145), oklch(0.93 0.008 145)); font-family: var(--font-family-client); } .app-boot > span, .app-boot summary { color: light-dark(oklch(0.53 0.014 145), oklch(0.68 0.012 145)); font: var(--type-body); letter-spacing: var(--type-body-tracking); text-transform: var(--type-body-transform); } .app-boot h1 { max-width: 22ch; margin: 0; font: var(--type-drawer-title); letter-spacing: var(--type-drawer-title-tracking); text-transform: var(--type-drawer-title-transform); } .app-boot p { max-width: 58ch; color: light-dark(oklch(0.53 0.014 145), oklch(0.68 0.012 145)); font: var(--type-data); letter-spacing: var(--type-data-tracking); text-transform: var(--type-data-transform); } .app-boot button, .client-stale-banner button { padding: 8px 12px; border: 0; border-radius: 8px; background: light-dark(oklch(0.91 0.02 185), oklch(0.28 0.03 185)); cursor: pointer; } .app-boot button:focus-visible, .client-stale-banner button:focus-visible { outline: 2px solid oklch(0.65 0.11 185); outline-offset: 3px; } .app-boot details { max-width: min(640px, calc(100vw - 64px)); margin-top: 8px; } .app-boot summary { cursor: pointer; } .app-boot code, .app-boot pre { display: block; overflow-x: auto; margin: 12px 0 0; font: var(--type-body); letter-spacing: var(--type-body-tracking); text-transform: var(--type-body-transform); white-space: pre-wrap; } .client-stale-banner { position: fixed; top: 16px; left: 50%; z-index: 60; display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 12px; padding: 9px 10px 9px 14px; border-radius: 12px; background: color-mix(in oklch, var(--client-panel) 90%, transparent); box-shadow: 0 10px 32px oklch(0.08 0.015 145 / 0.14); backdrop-filter: blur(12px); color: var(--client-muted); font: var(--type-control); letter-spacing: var(--type-control-tracking); text-transform: var(--type-control-transform); transform: translateX(-50%); } .client-stale-banner strong { color: var(--client-text); } .client-stale-banner button { color: var(--client-text); font: var(--type-control); letter-spacing: var(--type-control-tracking); text-transform: var(--type-control-transform); }