/* 短链兽 - 样式（go.html & 404.html 共用） */

/* 倒计时跳转 */
.delay-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  font-family: Arial, sans-serif;
  background-color: #f5f5f5;
}
.delay-card {
  text-align: center;
  background-color: white;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  max-width: 400px;
  width: 100%;
}
.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 20px;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.delay-card p { color: #666; font-size: 16px; margin-bottom: 10px; }
.countdown { color: #3498db; font-size: 18px; font-weight: bold; }

/* iframe 跳转 */
.frame-container { height: 100vh; overflow: hidden; }
.frame-container iframe { width: 100%; height: 100%; border: none; }

/* 通用错误页 */
.error-container {
  display: flex; justify-content: center; align-items: center;
  min-height: 100vh; font-family: Arial, sans-serif; background-color: #f5f5f5;
}
.error-card {
  text-align: center; background-color: white; padding: 40px;
  border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  max-width: 400px; width: 100%;
}
.error-card h2 { color: #e74c3c; margin-bottom: 10px; }
.error-card p { color: #666; margin-bottom: 20px; }
.retry-btn {
  background-color: #3498db; color: white; border: none;
  padding: 10px 20px; border-radius: 4px; cursor: pointer; font-size: 14px;
}
.retry-btn:hover { background-color: #2980b9; }

/* 密码页 */
.password-container {
  display: flex; justify-content: center; align-items: center;
  min-height: 100vh; font-family: 'PingFang SC','Microsoft YaHei',sans-serif;
  background-color: #f5f5f5;
}
.password-card {
  background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  padding: 30px; width: 100%; max-width: 400px;
}
.password-card h1 { text-align: center; color: #333; margin-bottom: 20px; font-size: 24px; }
.password-card label { display: block; margin-bottom: 8px; color: #666; font-size: 14px; }
.password-card input[type="password"] {
  width: 100%; padding: 12px; border: 1px solid #ddd;
  border-radius: 4px; font-size: 16px; box-sizing: border-box;
}
.password-card input[type="password"]:focus { outline: none; border-color: #4CAF50; }
.password-card .error-msg { color: #f44; font-size: 14px; margin-top: 8px; }
.password-card button {
  width: 100%; padding: 12px; background: #4CAF50; color: white;
  border: none; border-radius: 4px; font-size: 16px; cursor: pointer; margin-top: 16px;
}
.password-card button:hover { background: #45a049; }
.password-card .footer { text-align: center; margin-top: 20px; font-size: 12px; color: #999; }
.password-card .footer a { color: #999; }

/* 404 页 */
.notfound-container {
  display: flex; justify-content: center; align-items: center;
  min-height: 100vh; font-family: 'Microsoft YaHei',Arial,sans-serif;
  background-color: #f8f9fa;
}
.notfound-card {
  text-align: center; background: white; padding: 60px;
  border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  max-width: 600px; width: 90%;
}
.notfound-code { font-size: 120px; font-weight: bold; color: #333; }
.notfound-title { font-size: 36px; font-weight: bold; color: #333; margin-bottom: 10px; }
.notfound-subtitle { font-size: 14px; color: #999; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 30px; }
.notfound-msg { color: #666; font-size: 16px; margin-bottom: 40px; }
.notfound-btn {
  background: linear-gradient(135deg,#4CAF50,#45a049);
  color: white; border: none; padding: 15px 40px;
  border-radius: 30px; cursor: pointer; font-size: 16px; font-weight: bold;
}

/* 开发者模式 */
.dev-container {
  max-width: 1200px; margin: 0 auto; padding: 20px;
  font-family: Consolas,Monaco,monospace;
}
.dev-container h1 { color: #3498db; text-align: center; border-bottom: 2px solid #3498db; padding-bottom: 15px; }
.dev-panel {
  background: white; border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1); padding: 20px; margin-bottom: 30px;
}
.dev-panel h2 { border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 15px; }
.code-block {
  background: #f8f8f8; border: 1px solid #eee; border-radius: 4px;
  padding: 15px; overflow-x: auto; font-size: 14px; white-space: pre-wrap; word-break: break-all;
}
.success { color: #27ae60; font-weight: bold; }
.fail { color: #e74c3c; font-weight: bold; }

/* loading */
.loading-container {
  display: flex; justify-content: center; align-items: center; min-height: 100vh;
  font-family: Arial, sans-serif; background: #f5f5f5;
}
.loading-box { text-align: center; }
.loading-box .spinner { margin: 0 auto 20px; }

/* 设备/地区禁止访问 */
.blocked-container {
  display: flex; justify-content: center; align-items: center; min-height: 100vh;
  font-family: 'PingFang SC','Microsoft YaHei',sans-serif; background: #f5f5f5;
}
.blocked-card {
  text-align: center; background: white; padding: 40px;
  border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  max-width: 400px; width: 100%;
}
.blocked-card .blocked-icon { font-size: 48px; margin-bottom: 16px; }
.blocked-card h2 { color: #e74c3c; margin-bottom: 10px; font-size: 22px; }
.blocked-card p { color: #666; margin-bottom: 10px; font-size: 14px; }
.blocked-card .blocked-detail { color: #999; font-size: 12px; margin-top: 20px; }
