/* === 页面整体布局 === */
:root {
  --bg: #9fb2d1;            /* base page background */
  --panel-bg: #94a7c7;       /* panel fill (slightly darker) */
  --panel-border: #f4f7ff;   /* light stroke */
  --text-primary: #f8fbff;   /* primary text */
  --text-subtle: #e9effa;    /* secondary text */
  --button-bg: #94a7c7;      /* match panel */
  --button-text: #f8fbff;    /* white text */
  --footer-bg: #ffffff;      /* white footer */
  --footer-text: #7a8597;    /* soft gray-blue */
  --footer-border: #e0e4ee;  /* subtle divider */
}

html, body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

body {
  font-family: "Helvetica Neue", Arial, sans-serif;
  color: var(--text-primary);
  text-align: center;
  background: var(--bg);
}

/* main 填充中间空间，让 footer 始终在底部 */
.main {
  flex: 1;
  padding: 20px;
  max-width: 960px;
  margin: 0 auto;
  background: transparent;
}

/* === 提示面板 === */
.panel {
  border: 3px solid var(--panel-border);
  padding: 20px;
  margin: 20px auto;
  background-color: var(--panel-bg);
  max-width: 400px;
}

.panel.loading {
  padding: 60px 110px;
}

.panel-title {
  font-size: clamp(20px, 5vw, 33px);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.5;
  margin: 0;
}

/* === 说明文字 === */
.instructions {
  margin: 60px auto 20px auto;
  color: var(--text-subtle);
  font-size: clamp(14px, 4vw, 20px);
  line-height: 1.6;
  max-width: 600px;
  text-align: left;
}

/* === 再试提示 === */
.try-again {
  margin: 60px 0 30px 0;
  font-size: clamp(14px, 4vw, 20px);
  color: var(--text-primary);
}

/* === 按钮（备用样式） === */
.action-wrap {
  margin-top: 20px;
}
.btn-refresh {
  border: 2px solid var(--panel-border);
  background: var(--button-bg);
  color: var(--button-text);
  padding: 12px 20px;
  font-size: clamp(20px, 5vw, 33px);
  font-weight: bold;
  cursor: pointer;
  border-radius: 4px;
  width: 90%;
  max-width: 400px;
}
.btn-refresh:hover {
  background: #8da0c2;
  color: #ffffff;
}

/* === Footer === */
.footer {
  background-color: var(--footer-bg);
  padding: 20px;
  border-top: 1px solid var(--footer-border);
}

.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.footer-logo img {
  height: 40px;
  width: auto;
}

.footer-copy {
  font-size: 14px;
  color: var(--footer-text);
}
