/*! Stake-Only | (c) 2026 Kcalb Ltd. All rights reserved. | Powered by KcalbApp | https://kcalbapp.com */
.kcalb-loader-overlay { position: fixed; inset: 0; z-index: 6000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: transparent; opacity: 1; transition: opacity 350ms ease; }
.kcalb-loader-overlay[data-done] { opacity: 0; pointer-events: none; }
.kcalb-loader-overlay { padding-bottom: 12vh; box-sizing: border-box; }
body:has(.kcalb-loader-overlay:not([data-done])) .site-footer { visibility: hidden; }
.kcalb-loader { position: relative; width: 96px; height: 96px; border: 3px solid var(--color-border-soft); overflow: hidden; border-radius: 50%; box-shadow: -4px -4px 5px rgba(255,255,255,.05), 8px 8px 10px rgba(0,0,0,.4), inset -4px -4px 5px rgba(255,255,255,.08), inset 8px 8px 10px rgba(0,0,0,.4); }
.kcalb-loader:before { content: ""; position: absolute; inset: 16px; z-index: 10; background: var(--background-dark); border-radius: 50%; border: 2px solid var(--color-border-soft); box-shadow: inset -2px -2px 5px rgba(255,255,255,.1), inset 3px 3px 5px rgba(0,0,0,.5); }
.kcalb-loader span { position: absolute; width: 100%; height: 100%; border-radius: 50%; background-image: linear-gradient(-225deg, #8b7cf6 0%, #5ad1e6 50%, #6be2b2 100%); filter: blur(16px); animation: kcalb-spin 0.6s linear infinite; }
.kcalb-loader-text { font-size: var(--font-size-12); letter-spacing: .22em; text-transform: uppercase; background: var(--background-secondary); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: var(--font-weight-850); }
@keyframes kcalb-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.role-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; min-height: 340px; color: var(--color-text-muted); font-size: var(--font-size-15); }
.role-loading .kcalb-loader { width: 96px; height: 96px; }
.role-loading .kcalb-loader:before { inset: 16px; }
.role-loading .kcalb-loader span { filter: blur(12px); }
.role-loading .kcalb-loader-text { letter-spacing: .14em; }
.kcalb-loader--sm { display: inline-block; vertical-align: middle; flex: 0 0 auto; width: 16px; height: 16px; border-width: 2px; }
.kcalb-loader--sm:before { inset: 3px; border-width: 1px; }
.kcalb-loader--sm span { filter: blur(3px); }
.kcalb-module-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 88px; padding: 10px 0; }
.kcalb-module-loading .kcalb-loader { width: 34px; height: 34px; border-width: 2px; flex: 0 0 auto; }
.kcalb-module-loading .kcalb-loader:before { inset: 6px; border-width: 1px; }
.kcalb-module-loading .kcalb-loader span { filter: blur(6px); }
.kcalb-module-loading .kcalb-loader-text { font-size: var(--font-size-11); letter-spacing: .16em; }
