:root {
  --rfc-night: #102a3b;
  --rfc-navy: #17485a;
  --rfc-teal: #16766f;
  --rfc-heather: #6f4d78;
  --rfc-brass: #d5a441;
  --rfc-paper: rgba(255, 253, 248, .96);
  --rfc-ink: #182a35;
  --rfc-muted: #596a73;
  --rfc-line: rgba(23, 72, 90, .18);
  --rfc-shadow: 0 18px 48px rgba(16, 42, 59, .13);
}

html { color-scheme: light; }
body {
  color: var(--rfc-ink) !important;
  background-color: #e9f0ee !important;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(227,238,235,.76)),
    repeating-linear-gradient(90deg, transparent 0 42px, rgba(111,77,120,.035) 42px 44px, transparent 44px 86px),
    repeating-linear-gradient(0deg, transparent 0 42px, rgba(213,164,65,.04) 42px 44px, transparent 44px 86px) !important;
  background-attachment: fixed !important;
}
header, .site-header, .topbar {
  background: linear-gradient(110deg, rgba(16,42,59,.98), rgba(23,72,90,.97) 62%, rgba(74,52,83,.96)) !important;
  border-bottom: 3px solid var(--rfc-brass) !important;
  box-shadow: 0 7px 24px rgba(16,42,59,.18);
}
header h1, header h1 span, header strong, .site-header .brand,
.site-header .nav-links a, .topbar .brand, .topbar .nav a,
.topbar a, nav strong, nav a { color: #fffdf7 !important; }
header p, header .subtitle { color: #d6e6e5 !important; }
.home-link { color: #f4cc75 !important; }
header a:hover, header a:focus, .site-header a:hover, .site-header a:focus,
.topbar a:hover, .topbar a:focus { color: #f4cc75 !important; }
.card, article, .panel, .tool-card, .support-card {
  border-color: var(--rfc-line) !important;
  background: var(--rfc-paper) !important;
  box-shadow: var(--rfc-shadow) !important;
}
.card, article, .panel { border-radius: 18px !important; }
h1, h2, h3, .tools-heading, .tool-card h3 { color: var(--rfc-night) !important; }
.eyebrow, .open-tool, .text-link { color: var(--rfc-teal) !important; }
.btn-primary, .cta, .btn-play {
  background: linear-gradient(135deg, var(--rfc-teal), var(--rfc-navy)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 7px 18px rgba(22,118,111,.22);
}
.btn-success {
  background: linear-gradient(135deg, var(--rfc-heather), #4d3658) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(111,77,120,.22);
}
.btn-primary:hover:not(:disabled), .cta:hover, .btn-play:hover,
.btn-success:hover:not(:disabled) { filter: brightness(1.08) saturate(1.08); transform: translateY(-1px); }
.btn-secondary, .note, .formats span, .format-badge, .quick-start-row,
.parser-status, .drop-zone {
  background: rgba(235,243,240,.88) !important;
  border-color: rgba(22,118,111,.2) !important;
}
textarea, input, select, pre {
  border-color: rgba(23,72,90,.26) !important;
  background-color: rgba(255,255,255,.9) !important;
}
textarea:focus, input:focus, select:focus {
  border-color: var(--rfc-teal) !important;
  box-shadow: 0 0 0 3px rgba(22,118,111,.13) !important;
}
.tool-card::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 5px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, var(--rfc-teal), var(--rfc-brass), var(--rfc-heather));
}
.tool-icon {
  background: linear-gradient(145deg, #e0f2ee, #eef4f7) !important;
  color: var(--rfc-navy) !important;
  border: 1px solid rgba(213,164,65,.35);
}
.audio-controls.playback-toolbar {
  background: rgba(255,253,248,.96) !important;
  border-color: rgba(23,72,90,.2) !important;
  box-shadow: 0 10px 28px rgba(16,42,59,.16) !important;
}
.play-progress > div { background: linear-gradient(90deg, var(--rfc-teal), var(--rfc-brass)) !important; }
footer { color: var(--rfc-muted) !important; }
footer a { color: var(--rfc-navy) !important; }
@media (prefers-reduced-motion: no-preference) {
  .card, .panel, .tool-card, .btn, .cta { transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
  .tool-card:hover { transform: translateY(-5px); }
}
@media (max-width: 600px) {
  body { background-attachment: scroll !important; }
  .card, article, .panel { border-radius: 14px !important; }
}
@media print { body { background: #fff !important; } }
