/* lima-rails/app/assets/stylesheets/shared/spinner.sass, shared with the SPA.
   Kept independent of the main stylesheet so the first paint needs no bundle. */
@keyframes lima-spinner-spin { to { transform: rotate(360deg); } }
.css-spinloader { display: inline-block; width: 2.5rem; height: 2.5rem; box-sizing: border-box; border: 3px solid transparent; border-left-width: 0; border-top-color: currentColor; border-radius: 50%; animation: lima-spinner-spin 2s linear infinite; flex-shrink: 0; }
.lima-loading { display: flex; flex: 1; min-width: 0; min-height: 12rem; height: 100%; width: 100%; box-sizing: border-box; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; padding: 2rem; text-align: center; color: var(--foreground, #00364b); font: 400 .875rem/1.5 var(--font-sans, system-ui, sans-serif); }
.lima-loading .css-spinloader { color: var(--primary, #008eb5); }
.lima-loading p { margin: 0; }
.lima-loading-title { font-weight: 600; font-size: 1rem; }
.lima-loading-hint { color: var(--muted-foreground, #59666b); max-width: 26rem; }
.lima-loading-screen { position: fixed; inset: 0; z-index: 100; min-height: 100dvh; background: var(--background, #f6f7f9); }
.lima-loading-logo { display: block; width: 10rem; height: 2.5rem; margin-bottom: 1rem; background: var(--foreground, #00364b); mask: url('../design/logo.svg') center / contain no-repeat; }
.lima-loading progress { display: block; width: min(16rem, 100%); height: .375rem; border: 0; border-radius: 1rem; overflow: hidden; appearance: none; background: var(--muted, #e2e8eb); }
.lima-loading progress::-webkit-progress-bar { background: var(--muted, #e2e8eb); border-radius: 1rem; }
.lima-loading progress::-webkit-progress-value { background: var(--primary, #008eb5); border-radius: 1rem; transition: width .2s; }
.lima-loading progress::-moz-progress-bar { background: var(--primary, #008eb5); border-radius: 1rem; }
.lima-loading a, .lima-loading button { color: inherit; padding: .5rem 1rem; border: 1px solid currentColor; border-radius: .5rem; text-decoration: none; background: transparent; cursor: pointer; font: inherit; }
.lima-loading [hidden] { display: none !important; }
.lima-loading-detail { font-size: .75rem; color: var(--muted-foreground, #59666b); }
html.dark .lima-loading-screen { background: var(--background, #191c1d); color: var(--foreground, #edf4f5); }
html.dark .lima-loading-hint, html.dark .lima-loading-detail { color: var(--muted-foreground, #adb8bd); }
html.dark .lima-loading-logo { background: var(--foreground, #edf4f5); }
@media (prefers-reduced-motion: reduce) { .css-spinloader { animation: none; } .lima-loading progress::-webkit-progress-value { transition: none; } }
