/* LOAD02: shared pre-JavaScript, startup and pane loading surface. */
.sm-loading {box-sizing:border-box; display:grid; place-items:center; min-width:0; color:var(--text-primary,#d9eaf2); font-family:Inter,Segoe UI,system-ui,sans-serif; padding:24px; background:radial-gradient(ellipse at 15% 100%,#08747b25,transparent 65%),var(--app-bg,#061b28);}
.sm-loading--full {min-height:100vh; position:fixed; inset:0; z-index:10;}
.sm-loading--pane {min-height:240px; height:100%;}
.sm-loading-card {box-sizing:border-box; width:min(100%,480px); padding:32px; border:1px solid var(--border-color,#28495a); border-radius:16px; background:var(--panel-bg,#0a2331); box-shadow:0 16px 60px #0002;}
.sm-loading-brand {display:flex; align-items:center; gap:9px; font-size:19px; font-weight:650; letter-spacing:-.4px; margin-bottom:30px;}
.sm-loading-brand img {width:30px; height:30px;}
.sm-loading h1 {font-size:21px; line-height:1.35; margin:0 0 10px; font-weight:600;}
.sm-loading-phase {font-size:14px; line-height:1.5; margin:0 0 24px; overflow-wrap:anywhere; color:var(--text-secondary,#a9c4d1);}
.sm-loading-track {height:3px; border-radius:4px; background:#254657; overflow:hidden;}
.sm-loading-track span {display:block; width:42%; height:100%; border-radius:4px; background:#3bd3e0; animation:sm-loading-progress 1.8s ease-in-out infinite; will-change:transform;}
.sm-loading-meta {display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:12px; color:var(--text-secondary,#a9c4d1); margin-top:14px;}
.sm-loading-hint {font-size:12px; line-height:1.5; color:var(--text-secondary,#8daab8); margin:20px 0 0;}
@keyframes sm-loading-progress {from {transform:translateX(-110%)} to {transform:translateX(350%)}}
@media(prefers-reduced-motion:reduce) {.sm-loading-track span {animation:none; transform:translateX(70%);}}
