/*
 * Night theme overrides (single source of truth)
 * Style: deep gradient + colorful dark cards
 */

body.theme-dark {
  --ink: #ece8ff;
  --sub: #9f9abf;
  --line: rgba(108, 101, 166, 0.46);
  background:
    radial-gradient(820px 280px at 10% -8%, rgba(56, 154, 120, 0.14), transparent 66%),
    radial-gradient(780px 320px at 100% 0%, rgba(88, 106, 255, 0.18), transparent 70%),
    radial-gradient(760px 300px at 100% 100%, rgba(201, 69, 129, 0.14), transparent 72%),
    radial-gradient(760px 320px at 0% 100%, rgba(35, 166, 186, 0.12), transparent 74%),
    linear-gradient(165deg, #080713 0%, #070613 52%, #060510 100%) !important;
}

body.theme-dark::before,
body.theme-dark::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

body.theme-dark::before {
  background:
    radial-gradient(2px 2px at 7% 10%, rgba(255, 228, 146, 0.42), transparent 62%),
    radial-gradient(1.8px 1.8px at 92% 16%, rgba(255, 225, 133, 0.36), transparent 62%);
}

body.theme-dark::after {
  background:
    radial-gradient(760px 280px at 14% 0%, rgba(72, 186, 133, 0.10), transparent 74%),
    radial-gradient(760px 300px at 100% 0%, rgba(102, 114, 255, 0.14), transparent 74%),
    radial-gradient(760px 320px at 0% 100%, rgba(191, 78, 154, 0.10), transparent 76%);
}

body.theme-dark .app {
  position: relative;
  z-index: 1;
}

body.theme-dark .bar,
body.theme-dark .editor,
body.theme-dark .vault,
body.theme-dark .foot {
  border-color: rgba(88, 83, 132, 0.45) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.theme-dark .bar,
body.theme-dark .foot,
body.theme-dark .editor-head,
body.theme-dark .vault-head {
  background: linear-gradient(180deg, rgba(21, 17, 47, 0.9), rgba(16, 13, 37, 0.82)) !important;
  color: #b8b2dd !important;
}

body.theme-dark .title {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #efeaff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45), 0 0 8px rgba(155, 132, 255, 0.2);
}

body.theme-dark .editor {
  background:
    radial-gradient(540px 220px at 0% 0%, rgba(175, 118, 255, 0.16), transparent 68%),
    radial-gradient(560px 220px at 100% 0%, rgba(86, 112, 255, 0.14), transparent 70%),
    radial-gradient(620px 260px at 100% 100%, rgba(194, 70, 142, 0.10), transparent 74%),
    linear-gradient(176deg, #12102e 0%, #100f27 58%, #0c0b20 100%) !important;
}

body.theme-dark textarea {
  color: #ece8ff;
  border-color: rgba(76, 70, 122, 0.72);
  background: linear-gradient(160deg, rgba(22, 19, 54, 0.97) 0%, rgba(20, 18, 46, 0.96) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.32),
    inset 0 0 0 1px rgba(33, 30, 62, 0.7),
    0 2px 10px rgba(0, 0, 0, 0.35) !important;
}

body.theme-dark .btn-main {
  background: linear-gradient(160deg, #c67dca 0%, #a56ad8 52%, #8b63e3 100%) !important;
  border-color: rgba(224, 169, 232, 0.72) !important;
}

body.theme-dark .btn-ghost {
  background: linear-gradient(160deg, rgba(26, 22, 58, 0.96) 0%, rgba(21, 18, 46, 0.95) 100%) !important;
  border-color: rgba(109, 101, 171, 0.62) !important;
}

body.theme-dark .btn-main .gtext,
body.theme-dark .btn-ghost .gtext {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #f4f0ff !important;
}

body.theme-dark .vault {
  background:
    radial-gradient(560px 220px at 0% 0%, rgba(94, 168, 124, 0.12), transparent 70%),
    radial-gradient(600px 240px at 100% 0%, rgba(96, 104, 235, 0.18), transparent 72%),
    radial-gradient(680px 280px at 100% 100%, rgba(206, 72, 134, 0.12), transparent 74%),
    radial-gradient(620px 260px at 0% 100%, rgba(37, 164, 181, 0.10), transparent 76%),
    linear-gradient(160deg, #0e0d24 0%, #0b0a1d 62%, #090918 100%) !important;
}

body.theme-dark .vault-head {
  color: #cbc6ee !important;
  border-bottom: 1px dashed rgba(114, 108, 176, 0.45) !important;
}

body.theme-dark .foot {
  color: #aba6d1 !important;
}

body.theme-dark .install-banner {
  border-color: rgba(104, 94, 167, 0.66);
  background: linear-gradient(180deg, rgba(23, 19, 48, 0.96), rgba(16, 14, 35, 0.94));
  color: #c9c2f3;
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.38);
}

body.theme-dark .install-modal {
  background: rgba(8, 7, 21, 0.58);
}

body.theme-dark .install-dialog {
  border-color: rgba(92, 84, 150, 0.66);
  background: linear-gradient(180deg, rgba(26, 22, 57, 0.98), rgba(17, 15, 38, 0.96));
}

body.theme-dark .install-title {
  color: #d2cbff;
}

body.theme-dark .install-text {
  color: #b5addf;
}

body.theme-dark .editor-search {
  border-color: rgba(78, 72, 124, 0.7);
  background: linear-gradient(180deg, rgba(26, 23, 52, 0.95), rgba(18, 16, 38, 0.96));
  box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  color: #c8c1f1;
}

body.theme-dark .editor-search::placeholder {
  color: rgba(165, 155, 211, 0.62);
}
