/* Offline-first startup: fonts are bundled by Flutter, not Google Fonts. */
@font-face { font-family: 'SC Roboto'; src: url('assets/assets/fonts/Roboto-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'SC Roboto'; src: url('assets/assets/fonts/Roboto-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'SC Noto Sans'; src: url('assets/assets/fonts/NotoSans-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'SC Noto Sans'; src: url('assets/assets/fonts/NotoSans-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
html,body { margin:0; padding:0; min-height:100%; background:#f6f8fb; font-family: "SC Roboto", "SC Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
#sc-startup { position:fixed; z-index:9999; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:12px; padding:28px; background:#f6f8fb; color:#183350; }
#sc-startup h1 { font-size:23px; font-weight:650; margin:0; }
#sc-startup p { max-width:330px; font-size:15px; line-height:1.5; margin:4px 0; }
#sc-startup small { position:absolute; bottom:calc(24px + env(safe-area-inset-bottom)); left:25px; right:25px; color:#627386; line-height:1.4; }
#sc-retry { color:white; background:#285a8b; border:0; border-radius:12px; padding:12px 24px; font-size:16px; }
#sc-retry[hidden] { display:none; }
@media(prefers-color-scheme:dark) { html,body,#sc-startup {background:#111b28;color:#f4f7fc;} #sc-startup small {color:#9dabba;} }

#sc-offline-panel {position:fixed; z-index:10002; left:12px; right:12px; bottom:calc(8px + env(safe-area-inset-bottom)); max-width:560px; margin:auto; padding:10px 14px; background:#183950; color:#fff; box-shadow:0 3px 16px #111b2838; border-radius:12px; font-size:12px; font-family:Arial, sans-serif;}
#sc-offline-panel[hidden] {display:none;}
.sc-offline-top {display:flex; justify-content:space-between; gap:10px; align-items:center;}
#sc-offline-message {font-size:12px; font-weight:650;}
#sc-offline-detail {font-size:11px; white-space:nowrap;}
#sc-offline-progress {display:block; width:100%; height:6px; margin-top:8px; accent-color:#4ce7a0;}
#sc-offline-panel[data-state="ready"] {background:#176045;}
#sc-offline-panel[data-state="ready"] #sc-offline-progress {display:none;}
#sc-offline-panel[data-state="error"] {background:#633d19;}
#sc-offline-panel button {margin-top:8px; padding:7px 13px; border:0; border-radius:9px; color:#173a58; background:white; font-weight:bold; cursor:pointer;}
#sc-offline-panel button[hidden] {display:none;}
@media(prefers-color-scheme:dark){#sc-offline-panel {box-shadow:0 2px 15px #0009}}
