/* ═══ Dark Mode CSS — Premium Racing Intelligence ═══ */

/* Light Mode (Default) */
:root,
[data-theme="light"] {
  --dm-bg-primary: #F1F3F8;
  --dm-bg-secondary: #ffffff;
  --dm-bg-tertiary: #E8ECF3;
  --dm-text-primary: #0C1220;
  --dm-text-secondary: #536380;
  --dm-text-tertiary: #8494A7;
  --dm-border-primary: #DDE3ED;
  --dm-border-secondary: #BCC5D3;
  --dm-shadow-primary: rgba(10, 15, 28, 0.05);
  --dm-shadow-secondary: rgba(10, 15, 28, 0.08);
}

/* Dark Mode — Deep Navy (セロトニン: 信頼・安定) */
[data-theme="dark"] {
  --dm-bg-primary: #070B14;
  --dm-bg-secondary: #0D1424;
  --dm-bg-tertiary: #151E30;
  --dm-text-primary: #F0F2F7;
  --dm-text-secondary: #B8C4D6;
  --dm-text-tertiary: #6B7A8D;
  --dm-border-primary: #1A2438;
  --dm-border-secondary: #253348;
  --dm-shadow-primary: rgba(0, 0, 0, 0.4);
  --dm-shadow-secondary: rgba(0, 0, 0, 0.6);
}

/* Global Dark Mode Overrides */
[data-theme="dark"] {
  background-color: var(--dm-bg-primary);
  color: var(--dm-text-primary);
}

[data-theme="dark"] body {
  background: linear-gradient(135deg, #070B14 0%, #0D1424 50%, #070B14 100%);
  color: var(--dm-text-primary);
}

/* Cards & Containers */
[data-theme="dark"] .card,
[data-theme="dark"] .contact-form-card,
[data-theme="dark"] .contact-info-card,
[data-theme="dark"] .policy-content {
  background: var(--dm-bg-secondary);
  color: var(--dm-text-primary);
  border-color: var(--dm-border-primary);
}

/* Tables */
[data-theme="dark"] table {
  background: var(--dm-bg-secondary);
  color: var(--dm-text-primary);
}

[data-theme="dark"] th {
  background: var(--dm-bg-tertiary);
  color: var(--dm-text-secondary);
  border-color: var(--dm-border-primary);
}

[data-theme="dark"] td {
  border-color: var(--dm-border-primary);
  color: var(--dm-text-secondary);
}

/* Forms */
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background: var(--dm-bg-tertiary);
  color: var(--dm-text-primary);
  border-color: var(--dm-border-primary);
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus {
  border-color: #FFB800;
  background: rgba(255, 184, 0, 0.06);
}

[data-theme="dark"] label {
  color: var(--dm-text-primary);
}

/* Links — ドーパミンゴールドアクセント */
[data-theme="dark"] a {
  color: #3D8ECB;
}

[data-theme="dark"] a:hover {
  color: #FFB800;
}

/* Buttons */
[data-theme="dark"] button {
  background: var(--dm-bg-tertiary);
  color: var(--dm-text-primary);
  border-color: var(--dm-border-primary);
}

[data-theme="dark"] .btn-primary,
[data-theme="dark"] .submit-btn {
  background: linear-gradient(135deg, #3D8ECB, #2E6F9E);
  color: #ffffff;
}

/* FAQ & Accordion */
[data-theme="dark"] .faq-item {
  background: var(--dm-bg-secondary);
  border-color: var(--dm-border-primary);
}

[data-theme="dark"] .faq-question {
  color: var(--dm-text-primary);
}

[data-theme="dark"] .faq-answer {
  color: var(--dm-text-secondary);
}

/* Headers */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
  color: var(--dm-text-primary);
}

/* Sections — ゴールドアクセント */
[data-theme="dark"] .policy-header,
[data-theme="dark"] .contact-header,
[data-theme="dark"] .faq-header {
  background: rgba(255, 184, 0, 0.06);
  border-color: rgba(255, 184, 0, 0.15);
  color: var(--dm-text-primary);
}

/* Footer */
[data-theme="dark"] .site-footer {
  background: linear-gradient(135deg, #070B14, #0D1424);
  color: var(--dm-text-secondary);
  border-top-color: var(--dm-border-primary);
}

[data-theme="dark"] .site-footer a {
  color: #FFB800;
}

/* Toast Notifications */
[data-theme="dark"] .toast {
  background: #0D1424;
  color: #F0F2F7;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255,184,0,0.15);
}

[data-theme="dark"] .toast.error {
  background: #7F1D1D;
  border-color: rgba(239,68,68,0.3);
}

/* Auth Buttons (Dark Mode) — ゴールドプレミアム */
[data-theme="dark"] .auth-btn {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
  color: #B8C4D6;
}
[data-theme="dark"] .auth-btn:hover {
  background: rgba(255,184,0,0.10);
  border-color: rgba(255,184,0,0.25);
}
[data-theme="dark"] .auth-btn.primary {
  background: linear-gradient(135deg, #FFB800, #E5A600);
  color: #0A0F1C;
  font-weight: 700;
}
[data-theme="dark"] .auth-btn.primary:hover {
  background: linear-gradient(135deg, #FFD54F, #FFB800);
}

/* Legal Disclaimer (Dark Mode) */
[data-theme="dark"] .legal-disclaimer {
  color: #6B7A8D;
  border-top-color: #1A2438;
}

/* KPI CI (Dark Mode) */
[data-theme="dark"] .kpi-ci {
  color: #8494A7;
}

/* ═══ 投資ダッシュボード — Dark Mode ═══ */
[data-theme="dark"] .inv-roi-actual {
  background: linear-gradient(135deg, rgba(16,185,129,0.08), rgba(16,185,129,0.03));
  border-color: rgba(16,185,129,0.25);
}

[data-theme="dark"] .inv-roi-actual::before {
  background: #10B981;
}

[data-theme="dark"] .inv-roi-audit {
  background: rgba(107,122,141,0.08);
  border-color: rgba(107,122,141,0.2);
}

[data-theme="dark"] .inv-help-btn {
  border-color: var(--dm-border-primary);
  background: rgba(255,255,255,0.04);
  color: var(--dm-text-tertiary);
}

[data-theme="dark"] .inv-help-btn:hover {
  background: rgba(255,184,0,0.10);
  border-color: #FFB800;
  color: #FFB800;
}

[data-theme="dark"] .inv-help-btn .inv-tooltip {
  background: #070B14;
  color: #B8C4D6;
  box-shadow: 0 8px 30px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,184,0,0.10);
}

[data-theme="dark"] .inv-help-btn .inv-tooltip::after {
  border-top-color: #070B14;
}

[data-theme="dark"] .inv-disclaimer {
  color: var(--dm-text-tertiary);
  border-top-color: var(--dm-border-primary);
}

[data-theme="dark"] .inv-disclaimer strong {
  color: var(--dm-text-secondary);
}

[data-theme="dark"] .inv-data-meta {
  color: var(--dm-text-tertiary);
}

[data-theme="dark"] .inv-data-meta-item strong {
  color: var(--dm-text-secondary);
}

[data-theme="dark"] .inv-skeleton {
  background: linear-gradient(90deg,
    rgba(255,255,255,0.03) 25%,
    rgba(255,184,0,0.06) 50%,
    rgba(255,255,255,0.03) 75%);
  background-size: 200% 100%;
}

[data-theme="dark"] .inv-state-loading {
  color: #FFB800;
  background: rgba(255,184,0,0.08);
}

[data-theme="dark"] .inv-state-error {
  color: #f87171;
  background: rgba(239,68,68,0.1);
}

[data-theme="dark"] .inv-state-unsupported {
  color: #F59E0B;
  background: rgba(245,158,11,0.12);
}

[data-theme="dark"] .inv-state-success {
  color: #34D399;
  background: rgba(16,185,129,0.12);
}

[data-theme="dark"] .inv-failure-badge {
  color: #f87171;
  background: rgba(239,68,68,0.12);
}

[data-theme="dark"] .inv-ci {
  color: var(--dm-text-secondary);
}

[data-theme="dark"] .inv-table-wrap {
  border-color: var(--dm-border-primary);
}

[data-theme="dark"] .metric-card {
  background: rgba(13,20,36,0.8);
  border-color: rgba(255,184,0,0.10);
}

[data-theme="dark"] .metric-ring-bg {
  stroke: rgba(255,255,255,0.06);
}

[data-theme="dark"] .metric-hits {
  background: rgba(255,255,255,0.04);
  color: var(--dm-text-secondary);
}

[data-theme="dark"] .metric-desc {
  color: var(--dm-text-secondary);
}

[data-theme="dark"] .roi-stat-card {
  background: rgba(255,184,0,0.04);
  border-color: rgba(255,184,0,0.08);
}

/* ─── Auth Pages (Dark Mode) ─── */
[data-theme="dark"] .auth-card {
  background: var(--dm-bg-secondary);
  color: var(--dm-text-primary);
  box-shadow: 0 25px 60px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,184,0,0.08);
}
[data-theme="dark"] .auth-container {
  background: linear-gradient(135deg, #070B14 0%, #0D1424 50%, #070B14 100%);
}
[data-theme="dark"] .auth-logo h1 { color: #FFB800; }
[data-theme="dark"] .auth-logo p { color: var(--dm-text-tertiary); }
[data-theme="dark"] .auth-form .form-label { color: var(--dm-text-primary); }
[data-theme="dark"] .auth-form .form-input {
  background: var(--dm-bg-tertiary);
  color: var(--dm-text-primary);
  border-color: var(--dm-border-primary);
}
[data-theme="dark"] .auth-form .form-input:focus {
  border-color: #FFB800;
  background: rgba(255, 184, 0, 0.06);
}
[data-theme="dark"] .auth-links {
  border-top-color: var(--dm-border-primary);
  color: var(--dm-text-secondary);
}
[data-theme="dark"] .error-message {
  background: rgba(239, 68, 68, 0.12);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.25);
}
[data-theme="dark"] .success-message {
  background: rgba(16, 185, 129, 0.10);
  color: #6EE7B7;
  border-color: rgba(16, 185, 129, 0.25);
}
[data-theme="dark"] .info-message {
  background: rgba(61, 142, 203, 0.08);
  color: #93c5fd;
  border-color: rgba(61, 142, 203, 0.25);
}
[data-theme="dark"] .forgot-link a { color: var(--dm-text-tertiary); }
[data-theme="dark"] .forgot-link a:hover { color: #FFB800; }
[data-theme="dark"] .security-section {
  background: linear-gradient(135deg, rgba(255,184,0,0.05), rgba(255,184,0,0.02));
  border-color: var(--dm-border-primary);
}
[data-theme="dark"] .security-section-title { color: #FFB800; }

/* ─── .page-dark pages ─── */
[data-theme="light"] .page-dark {
  background: linear-gradient(135deg, #070B14 0%, #0D1424 50%, #070B14 100%);
  color: #B8C4D6;
}

/* ─── Admin Progress (Dark Mode) ─── */
[data-theme="dark"] .admin-error-banner {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.25);
}

/* ─── About Page (Dark Mode) ─── */
[data-theme="dark"] .about-section h2 { color: #FFB800; }
[data-theme="dark"] .about-body p,
[data-theme="dark"] .about-body li { color: var(--dm-text-secondary); }
[data-theme="dark"] .about-step p { color: var(--dm-text-primary); }
[data-theme="dark"] .about-note {
  background: rgba(255,184,0,0.05);
  border-color: rgba(255,184,0,0.15);
}
[data-theme="dark"] .about-note p { color: var(--dm-text-secondary); }

/* home — ガラスモーフィズムカード */
[data-theme="dark"] .step-card {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
}
[data-theme="dark"] .step-card:hover {
  background: rgba(255,255,255,0.1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
[data-theme="dark"] .engine-card {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
}
[data-theme="dark"] .engine-card:hover {
  background: rgba(255,255,255,0.12);
  box-shadow: 0 12px 35px rgba(0,0,0,0.3);
  border-color: rgba(61,142,203,0.4);
}
[data-theme="dark"] .engine-card.patent {
  background: linear-gradient(135deg, rgba(147,112,219,0.1), rgba(147,112,219,0.05));
  border-color: rgba(147,112,219,0.3);
}
[data-theme="dark"] .accuracy-section {
  background: rgba(255,255,255,0.05);
  border-color: rgba(61,142,203,0.2);
}

/* forgot_password — セキュリティ質問・ステップインジケーター */
[data-theme="dark"] .security-question-display {
  background: linear-gradient(135deg, rgba(245,158,11,0.15), rgba(245,158,11,0.1));
  border-color: rgba(245,158,11,0.4);
}
[data-theme="dark"] .security-question-display .label { color: #fbbf24; }
[data-theme="dark"] .security-question-display .question { color: #fde68a; }
[data-theme="dark"] .step-indicator .step { background: var(--dm-border); }
[data-theme="dark"] .new-password-section {
  background: linear-gradient(135deg, rgba(34,197,94,0.1), rgba(34,197,94,0.05));
  border-color: rgba(34,197,94,0.4);
}
[data-theme="dark"] .new-password-section div[style] { color: #86efac !important; }
[data-theme="dark"] .new-password-section p[style] { color: #4ade80 !important; }

/* Why Multi-Perspective Section */
[data-theme="dark"] .why-multi-section {
  background: rgba(13, 20, 36, 0.95) !important;
  border-color: rgba(61, 142, 203, 0.25) !important;
}
[data-theme="dark"] .why-multi-section h3 { color: #F0F2F7 !important; }
[data-theme="dark"] .why-multi-section p { color: #8494A7 !important; }
[data-theme="dark"] .why-multi-section strong { color: #B8C4D6 !important; }
[data-theme="dark"] .why-multi-section ul { color: #B8C4D6 !important; }

/* Main Tabs */
[data-theme="dark"] .main-tabs {
  background: linear-gradient(180deg, #0D1424 0%, #0D1424 100%) !important;
  border-bottom-color: #1A2438 !important;
}
[data-theme="dark"] .main-tab {
  background: #151E30 !important;
  border-color: #253348 !important;
  color: #B8C4D6 !important;
}
[data-theme="dark"] .main-tab:hover {
  background: #1A2438 !important;
  border-color: #3D8ECB !important;
  color: #F0F2F7 !important;
}
[data-theme="dark"] .main-tab.active {
  background: linear-gradient(135deg, #3D8ECB 0%, #3D8ECB 100%) !important;
  border-color: #3D8ECB !important;
  color: #ffffff !important;
}

/* Transitions */
html {
  transition: background-color 0.3s ease, color 0.3s ease;
}

[data-theme="dark"] * {
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  html,
  [data-theme="dark"] * {
    transition: none !important;
  }
}
