:root {
  --tool-bg: #f3f5f8;
  --tool-surface: #ffffff;
  --tool-surface-muted: #f8fafc;
  --tool-border: #d9e1ea;
  --tool-text: #1f2937;
  --tool-text-muted: #5b6678;
  --tool-accent: #2563eb;
  --tool-accent-soft: #dbeafe;
  --tool-success: #16a34a;
  --tool-danger: #dc2626;
  --tool-radius: 12px;
  --tool-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

* {
  box-sizing: border-box;
}

html,
body {
  color: var(--tool-text);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif !important;
  background: var(--tool-bg) !important;
}

a {
  color: var(--tool-accent);
}

.container,
.page,
.shell {
  max-width: 1400px;
}

.hero,
.section,
.panel,
.card,
.sw-main,
.editor-section,
.preview-section,
.controls,
.control-panel,
.container {
  border-radius: var(--tool-radius);
}

.hero,
.section,
.panel,
.card,
.sw-main,
.editor-section,
.preview-section,
.controls,
.control-panel,
.sw-title,
.header,
.card-header,
.panel-header {
  box-shadow: var(--tool-shadow) !important;
}

.hero,
.section,
.panel,
.card,
.sw-main,
.editor-section,
.preview-section,
.controls,
.control-panel,
.sw-title,
.header,
.card-header,
.panel-header {
  border: 1px solid var(--tool-border);
}

h1,
h2,
h3,
.section-title,
.sw-title,
.panel-title {
  color: var(--tool-text) !important;
}

.subtitle,
.section-subtitle,
.hero p,
.header p,
label,
.result-label,
.result-title,
.tips,
.help-text,
.stats,
.info-label,
.panel-title {
  color: var(--tool-text-muted) !important;
}

input,
textarea,
select,
button,
.btn,
.btn-small,
.quick-btn,
.copy-btn,
.style-btn {
  border-radius: 10px !important;
}

input,
textarea,
select {
  border: 1px solid var(--tool-border) !important;
  background: var(--tool-surface) !important;
  color: var(--tool-text) !important;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--tool-accent) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.btn,
.btn-primary,
#confirmBtn,
#searchBtn,
#downloadBtn,
#previewBtn {
  background: var(--tool-accent) !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}

.btn:hover,
.btn-primary:hover,
#confirmBtn:hover,
#searchBtn:hover,
#downloadBtn:hover,
#previewBtn:hover {
  filter: brightness(0.95);
}

.btn-secondary,
.btn-outline,
.btn-small,
.quick-btn,
.copy-btn,
.style-btn,
#previewBtn {
  background: var(--tool-surface-muted) !important;
  color: var(--tool-text) !important;
  border: 1px solid var(--tool-border) !important;
}

.style-btn.active,
.btn-small.success {
  background: var(--tool-accent-soft) !important;
  color: #1e3a8a !important;
  border-color: #93c5fd !important;
}

.result.success,
.my-address-info,
.current-time,
.help-text,
.tips,
.result-section,
.step,
.meta {
  background: var(--tool-surface-muted) !important;
  border: 1px solid var(--tool-border) !important;
}

.error-message,
.result.error {
  border: 1px solid #fecaca !important;
  background: #fef2f2 !important;
}

table,
th,
td {
  border-color: var(--tool-border) !important;
}

th {
  background: #edf2f7 !important;
  color: #334155 !important;
}

.tool-fab-home {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  background: var(--tool-accent);
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 13px;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.tool-fab-home:hover {
  filter: brightness(0.96);
}

@media (max-width: 768px) {
  .tool-fab-home {
    right: 12px;
    bottom: 12px;
  }
}
