/*
  R5.10 shared color layer. Loaded after page styles so public, authenticated,
  and fullscreen surfaces use the same Kurumi Midnight palette.
*/

.kurumi {
  --kurumi-obsidian: #17151d;
  --kurumi-charcoal: #201b29;
  --kurumi-surface: #292333;
  --kurumi-elevated: #33293a;
  --kurumi-selected: #443249;
  --kurumi-input: #211c2a;
  --kurumi-berry: #91526c;
  --kurumi-berry-hover: #98576f;
  --kurumi-berry-soft: #ad647f;
  --kurumi-berry-light: #d9a5ba;
  --kurumi-crimson: var(--kurumi-berry);
  --kurumi-crimson-deep: #744356;
  --kurumi-crimson-high: var(--kurumi-berry-hover);
  --kurumi-gold: var(--kurumi-berry-light);
  --kurumi-burgundy: #382638;
  --kurumi-ivory: #f1eaf0;
  --kurumi-ivory-muted: #bdb2c4;
  --kurumi-success: #79a18b;
  --kurumi-warning: #c4a76d;
  --kurumi-info: #8aa4b1;
  --kurumi-error: #c78682;
  --kurumi-disabled: #706779;
  --kurumi-focus: #e5b7c9;
  --kurumi-border: rgba(189, 178, 196, 0.16);
  --kurumi-border-strong: rgba(189, 178, 196, 0.3);
  --kurumi-line: rgba(189, 178, 196, 0.1);
  --kurumi-shadow: 0 10px 28px rgba(5, 3, 9, 0.34);
}

.kurumi {
  --kurumi-masthead-bg: rgba(23, 21, 29, 0.96);
  --kurumi-masthead-border: rgba(189, 178, 196, 0.16);
  --kurumi-panel-bg: rgba(32, 27, 41, 0.98);
  --kurumi-panel-shadow: 0 16px 40px rgba(5, 3, 9, 0.42);
  color-scheme: dark;
  min-height: 100vh;
  background: var(--kurumi-obsidian);
  color: var(--kurumi-ivory);
  font-family: "Source Sans 3", "Inter", "Segoe UI", system-ui, sans-serif;
}

body.kurumi[data-background-theme="dark"] {
  background-color: var(--kurumi-obsidian) !important;
  color: var(--kurumi-ivory) !important;
}

body.kurumi[data-background-theme="dark"] div.card:not(.sidenav,
.sidenav *),
body.kurumi[data-background-theme="dark"] div.card-header:not(.sidenav),
body.kurumi[data-background-theme="dark"] div.card-body:not(.sidenav,
.sidenav *) {
  color: var(--kurumi-ivory) !important;
}

body.kurumi[data-background-theme="dark"] div.card:not(.sidenav,
.sidenav *) {
  background-color: var(--kurumi-charcoal) !important;
}

body.kurumi[data-background-theme="dark"] div.card-header:not(.sidenav) {
  background-color: var(--kurumi-surface) !important;
}

body.kurumi[data-background-theme="dark"] div.card-body:not(.card):not(.sidenav,
.sidenav *) {
  background-color: transparent !important;
}

body.kurumi[data-background-theme="dark"] .nav:not(.sidenav,
.nav-item) {
  background-color: var(--kurumi-elevated) !important;
  color: var(--kurumi-ivory) !important;
}

body.kurumi[data-background-theme="dark"] .nav.nav-pills .nav-link,
body.kurumi[data-background-theme="dark"] .moving-tab .nav-link,
body.kurumi[data-background-theme="dark"] .moving-tab .nav-link.active {
  color: var(--kurumi-ivory) !important;
}

body.kurumi[data-background-theme="dark"] .nav.nav-pills .nav-link.active,
body.kurumi[data-background-theme="dark"] .kurumi-tab-bar .nav-link.active,
body.kurumi[data-background-theme="dark"] .kurumi-tool-tabs .nav-link.active,
body.kurumi[data-background-theme="dark"] .moving-tab .nav-link.active {
  background: var(--kurumi-selected) !important;
  box-shadow: none !important;
}

body.kurumi[data-background-theme="dark"] .choices__item--choice,
body.kurumi[data-background-theme="dark"] .choices[data-type="select-one"] .choices__item {
  color: var(--kurumi-ivory) !important;
  background-color: var(--kurumi-elevated) !important;
}

body.kurumi {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.kurumi body {
  background: var(--kurumi-obsidian);
  color: var(--kurumi-ivory);
}

.kurumi-fullscreen-body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 0;
  background: var(--kurumi-obsidian);
}

.kurumi-stage {
  width: 100%;
  min-height: 0;
  flex: 1 0 auto;
  padding: clamp(1rem, 2.5vw, 2.25rem);
  background: var(--kurumi-obsidian);
}

.kurumi-stage--landing {
  min-height: 0;
  padding: 0;
}

.kurumi .main-content,
.kurumi-fullscreen-body {
  background-color: var(--kurumi-obsidian);
}

.kurumi h1,
.kurumi h2,
.kurumi h3,
.kurumi h4,
.kurumi h5,
.kurumi h6,
.kurumi .card-title {
  color: var(--kurumi-ivory);
}

.kurumi a:not(.btn):not(.kurumi-megabtn):not(.kurumi-drawer__groupbtn) {
  text-decoration-color: transparent;
}

.kurumi .kurumi-megalink {
  color: var(--kurumi-ivory-muted);
}

.kurumi .kurumi-megalink:hover,
.kurumi .kurumi-megalink:focus-visible,
.kurumi .kurumi-megalink.is-active {
  color: var(--kurumi-ivory);
}

.kurumi .card,
.kurumi .modal-content,
.kurumi .popover,
.kurumi .dropdown-menu {
  color: var(--kurumi-ivory);
  background: var(--kurumi-charcoal);
  border-color: var(--kurumi-border);
  box-shadow: var(--kurumi-shadow);
}

.kurumi .card-header,
.kurumi .card-footer {
  color: var(--kurumi-ivory);
  background: var(--kurumi-surface);
  border-color: var(--kurumi-line);
}

.kurumi .form-control,
.kurumi .form-select,
.kurumi .input-group-text,
.kurumi textarea,
.kurumi select,
.kurumi input:not([type="checkbox"]):not([type="radio"]):not([type="color"]) {
  color: var(--kurumi-ivory);
  background-color: var(--kurumi-input);
  border-color: var(--kurumi-border-strong);
}

.kurumi .form-control::placeholder,
.kurumi textarea::placeholder,
.kurumi input::placeholder {
  color: var(--kurumi-ivory-muted);
  opacity: 1;
}

.kurumi .form-control:focus,
.kurumi .form-select:focus,
.kurumi textarea:focus,
.kurumi input:focus {
  color: var(--kurumi-ivory);
  background-color: var(--kurumi-input);
  border-color: var(--kurumi-focus);
  box-shadow: 0 0 0 0.18rem rgba(217, 165, 186, 0.2);
}

.kurumi .form-check-input:focus {
  border-color: var(--kurumi-focus);
  box-shadow: 0 0 0 0.18rem rgba(217, 165, 186, 0.22);
}

.kurumi .kes-editor-input {
  color: var(--kurumi-ivory);
  background-color: var(--kurumi-input);
  border-color: var(--kurumi-border-strong);
}

.kurumi .kes-editor-input:focus {
  color: var(--kurumi-ivory);
  background-color: var(--kurumi-input);
  border-color: var(--kurumi-focus);
  box-shadow: 0 0 0 0.18rem rgba(217, 165, 186, 0.22);
}

.kurumi .kes-field-row,
.kurumi .kes-aggregate-box,
.kurumi .kes-export-box {
  background-color: var(--kurumi-surface);
}

.kurumi .kes-field-row__head {
  background-color: var(--kurumi-elevated);
}

.kurumi .choices:not([data-type*="select-one"]) .choices__item:not(.choices__item--choice) {
  color: var(--kurumi-ivory);
  background-color: var(--kurumi-elevated) !important;
  border: 1px solid var(--kurumi-border-strong);
}

.kurumi [class*="bg-gradient-"]:not(.btn.bg-gradient-primary) {
  color: var(--kurumi-ivory) !important;
  background-color: var(--kurumi-elevated) !important;
  background-image: none !important;
  border: 1px solid var(--kurumi-border-strong);
  box-shadow: none;
}

.kurumi .btn.bg-gradient-primary {
  color: var(--kurumi-ivory) !important;
  background-color: var(--kurumi-berry) !important;
  background-image: none !important;
  border-color: var(--kurumi-berry);
  box-shadow: none;
}

.kurumi .btn.bg-gradient-primary:hover,
.kurumi .btn.bg-gradient-primary:focus-visible {
  color: var(--kurumi-ivory) !important;
  background-color: var(--kurumi-crimson-deep) !important;
  border-color: var(--kurumi-berry-hover);
}

.kurumi .btn-secondary,
.kurumi .btn-outline-secondary {
  color: var(--kurumi-ivory);
  background: var(--kurumi-elevated);
  border-color: var(--kurumi-border-strong);
}

.kurumi .btn-secondary:hover,
.kurumi .btn-outline-secondary:hover {
  background: var(--kurumi-selected);
  border-color: var(--kurumi-berry-light);
}

.kurumi .table,
.kurumi .table th,
.kurumi .table td {
  color: var(--kurumi-ivory);
  border-color: var(--kurumi-line);
}

.kurumi .table thead th {
  color: var(--kurumi-ivory-muted);
  background: var(--kurumi-surface);
}

.kurumi :focus-visible {
  outline-color: var(--kurumi-focus);
}

.kurumi .kurumi-gold-text,
.kurumi .kurumi-tab-icon,
.kurumi .kurumi-page-head h1,
.kurumi .kurumi-page-head h2,
.kurumi .kurumi-section-title {
  color: var(--kurumi-ivory);
}

.kurumi .kurumi-guild-card {
  color: var(--kurumi-ivory);
  background: var(--kurumi-charcoal);
  border-color: var(--kurumi-border);
}

.kurumi .kurumi-guild-card:hover,
.kurumi .kurumi-guild-card:focus-visible {
  color: var(--kurumi-ivory);
  background: var(--kurumi-surface);
  border-color: var(--kurumi-border-strong);
}

.kurumi .kurumi-tab-bar .nav-link.active,
.kurumi .kurumi-tab-bar .nav-link.show,
.kurumi .kurumi-tab-bar .nav-link.active.show {
  border-bottom-color: var(--kurumi-berry);
}

.kurumi-megabtn__dot {
  box-shadow: none;
}

.kurumi-megalink__icon,
.kurumi-iconbtn,
.kurumi-account__trigger,
.kurumi-menu__item:hover,
.kurumi-menu__item:focus-visible,
.kurumi-drawer__link:hover,
.kurumi-drawer__link:focus-visible {
  background-color: var(--kurumi-elevated);
}

.kurumi-megalink:hover,
.kurumi-megalink:focus-visible {
  background-color: var(--kurumi-selected);
  border-left-color: var(--kurumi-berry);
}

.kurumi-megalink.is-active {
  background-color: var(--kurumi-selected);
  border-left-color: var(--kurumi-berry);
}

.kurumi-switch input:checked + .kurumi-switch__track {
  background-color: var(--kurumi-berry);
  border-color: var(--kurumi-berry-hover);
}

.kurumi-drawer__link.is-active {
  border-left-color: var(--kurumi-berry);
}

.kurumi-page-head__art,
.kurumi-page-art,
.kurumi-admin-art {
  flex: 0 0 auto;
  width: 112px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--kurumi-border);
  border-radius: 8px;
  background: var(--kurumi-surface);
}

.kurumi-page-head__art img,
.kurumi-page-art img,
.kurumi-admin-art img {
  display: block;
  width: 100%;
  height: 92px;
  object-fit: cover;
}

.kurumi-page-art figcaption,
.kurumi-admin-art figcaption {
  padding: 0.3rem 0.4rem;
  color: var(--kurumi-ivory-muted);
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.kurumi-admin-art {
  margin-left: auto;
}

.kurumi-page-head--admin {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem;
}

.kurumi-page-head--admin .kurumi-admin-art {
  margin-left: 0;
}

.kurumi-guild-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, 13.75rem), min(100%, 21rem))
  );
  justify-content: start;
  gap: 1rem;
  margin-inline: 0;
}

.kurumi-guild-grid__item {
  min-width: 0;
  padding: 0;
  margin: 0 !important;
}

.kurumi-guild-grid .kurumi-guild-card {
  width: 100%;
}

.kurumi-footer {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: auto;
  padding: 1rem 0;
  color: var(--kurumi-ivory-muted);
  background: var(--kurumi-charcoal);
  border-top: 1px solid var(--kurumi-line);
}

.kurumi-footer__inner {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) minmax(0, 2.3fr) minmax(12rem, 1fr);
  align-items: center;
  gap: 0.5rem 1.25rem;
  max-width: 1480px;
  margin-inline: auto;
}

.kurumi-footer__identity {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.75rem;
}

.kurumi-footer__brand {
  width: fit-content;
  color: var(--kurumi-ivory);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 600;
  text-decoration: none;
}

.kurumi-footer__links {
  justify-content: center;
  gap: 0 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kurumi-footer__links .nav-link {
  padding: 0.35rem 0.45rem;
  color: var(--kurumi-ivory-muted);
  font-size: 0.75rem;
}

.kurumi-footer__links .nav-link:hover,
.kurumi-footer__links .nav-link:focus-visible {
  color: var(--kurumi-ivory);
}

.kurumi-footer__credits {
  color: var(--kurumi-ivory-muted);
  font-size: 0.72rem;
  text-align: right;
}

.kurumi-footer__credits a {
  color: var(--kurumi-ivory);
}

.kes-studio-shell {
  border-color: var(--kurumi-line);
  background: transparent;
}

.kes-studio-shell {
  padding-block: clamp(2.5rem, 5vw, 4.25rem);
}

.kes-studio-shell {
  background: transparent;
}

.kes-studio-header,
.kes-editor__main,
.kes-editor__right {
  min-width: 0;
}

.kes-embed[data-scheme="light"] {
  --kes-crimson: #666c6d;
  --kes-crimson-deep: #4e5354;
  --kes-crimson-high: #8b9090;
  --kes-gold: #686d6d;
  --kes-focus: #535858;
}

body.kurumi .kes-editor-input:focus {
  border-color: var(--kurumi-focus);
  box-shadow: 0 0 0 0.18rem rgba(217, 165, 186, 0.22);
}

body.kurumi .kes-btn--add-field:hover:not(:disabled) {
  border-color: var(--kurumi-berry-light);
  box-shadow: none;
}

@media (max-width: 991.98px) {
.kurumi-footer__inner {
    grid-template-columns: minmax(9rem, 1fr) minmax(0, 2fr);
  }

.kurumi-footer__inner > nav {
    grid-column: 1 / -1;
    grid-row: 2;
  }

.kurumi-footer__credits {
    text-align: right;
  }

}

@media (max-width: 767.98px) {
.kurumi-page-head__art,
.kurumi-page-art,
.kurumi-admin-art {
    width: 90px;
  }

.kurumi-page-art img,
.kurumi-admin-art img {
    height: 76px;
  }

}

@media (max-width: 575.98px) {
.kurumi-stage {
    padding: 0.75rem;
  }

.kurumi-stage--landing {
    padding: 0;
  }

.kurumi-footer__inner {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

.kurumi-footer__identity {
    align-items: center;
  }

.kurumi-footer__inner > nav {
    grid-column: 1;
    grid-row: auto;
  }

.kurumi-footer__links {
    justify-content: center;
  }

.kurumi-footer__credits {
    text-align: center;
  }

}

@media (prefers-reduced-motion: reduce) {
.kurumi *,
.kurumi *::before,
.kurumi *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

}

