.ddla-sanctum,
.ddla-sanctum * {
  box-sizing: border-box;
}

.ddla-sanctum {
  width: 100%;
  color: var(--ddla-text-main, #ece4d4);
  font-family: var(--ddla-font-body, inherit);
}

.ddla-sanctum-page .ddla-page-content,
.ddla-sanctum-page .entry-content {
  max-width: none;
}

.ddla-sanctum__status {
  position: fixed;
  right: clamp(1rem, 3vw, 2.5rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 10060;
  max-width: min(420px, calc(100vw - 2rem));
  min-height: 0;
  padding: 0;
  color: var(--ddla-gold-light, #f4dfab);
  background: rgba(3, 8, 17, 0.96);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.58);
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  transition: padding 180ms ease, border 180ms ease;
}

.ddla-sanctum__status:not(:empty) {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(201, 168, 93, 0.52);
}

.ddla-sanctum__status.is-error {
  color: #f3b4ae;
  border-color: rgba(217, 139, 132, 0.58);
}

.ddla-sanctum__nav {
  position: sticky;
  top: 0.75rem;
  z-index: 25;
  display: flex;
  gap: 0.35rem;
  margin: 0 0 clamp(1.4rem, 3vw, 2.4rem);
  padding: 0.5rem;
  overflow-x: auto;
  border: 1px solid rgba(201, 168, 93, 0.28);
  background: rgba(3, 8, 17, 0.9);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.34);
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px);
  scrollbar-width: thin;
}

.ddla-sanctum__tab {
  position: relative;
  flex: 1 0 auto;
  min-height: 2.8rem;
  padding: 0.65rem 1rem;
  border: 1px solid transparent;
  border-radius: 0;
  color: var(--ddla-text-muted, #9ea8ab);
  background: transparent;
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
  font: inherit;
  font-family: var(--ddla-font-title, Georgia, serif);
  font-size: 0.78rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, filter 180ms ease;
}

.ddla-sanctum__tab:hover,
.ddla-sanctum__tab:focus-visible,
.ddla-sanctum__tab.is-active {
  border-color: rgba(201, 168, 93, 0.52);
  color: var(--ddla-gold-light, #f4dfab);
  background: linear-gradient(180deg, rgba(201, 168, 93, 0.11), rgba(201, 168, 93, 0.025));
  filter: drop-shadow(0 0 10px rgba(201, 168, 93, 0.14));
  outline: none;
}

.ddla-sanctum__view {
  display: none;
}

.ddla-sanctum__view.is-active {
  display: block;
  animation: ddlaSanctumReveal 260ms ease both;
}

@keyframes ddlaSanctumReveal {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.ddla-sanctum__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.ddla-sanctum .ddla-panel {
  --ddla-panel-min-height: 0px;
  --ddla-panel-padding: clamp(1.25rem, 2.5vw, 2rem);
}

.ddla-sanctum__panel--continue {
  grid-column: span 8;
}

.ddla-sanctum__panel--summary {
  grid-column: span 4;
}

.ddla-sanctum__panel--half {
  grid-column: span 6;
}

.ddla-sanctum__panel--full {
  grid-column: 1 / -1;
}

.ddla-sanctum__locked-surface {
  display: grid;
  justify-items: start;
  gap: 0.35rem;
}

.ddla-sanctum__section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.ddla-sanctum__section-head .ddla-panel__title {
  margin-bottom: 0.3rem;
}

.ddla-sanctum__actions,
.ddla-sanctum__filters,
.ddla-sanctum__row-actions,
.ddla-sanctum__card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.ddla-sanctum__actions {
  margin-top: 1.2rem;
}

.ddla-sanctum .ddla-button.ddla-sanctum__button {
  --ddla-button-min-width: 0px;
  --ddla-button-padding-x: 1rem;
  --ddla-button-padding-y: 0.55rem;
  --ddla-button-cut-local: 8px;
  --ddla-button-gap: 0.55rem;
  --ddla-button-icon-size: 1.15rem;
  min-width: 0;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.ddla-sanctum .ddla-button.ddla-sanctum__button .ddla-button__inner {
  min-width: 0;
  min-height: 2.55rem;
  padding: 0.55rem 1rem;
}

.ddla-sanctum__metrics {
  display: grid;
  gap: 0.7rem;
  margin-top: 1.1rem;
}

.ddla-sanctum__metrics span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(201, 168, 93, 0.14);
  color: var(--ddla-text-muted, #9ea8ab);
}

.ddla-sanctum__metrics b {
  color: var(--ddla-gold-light, #f4dfab);
  font-family: var(--ddla-font-title, Georgia, serif);
  font-size: 1.15rem;
}

.ddla-sanctum__years {
  display: grid;
  gap: 0;
}

.ddla-sanctum__year-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(130px, 1.4fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.ddla-sanctum__year-row:last-child {
  border-bottom: 0;
}

.ddla-sanctum__year-row > div:first-child {
  display: grid;
  gap: 0.15rem;
}

.ddla-sanctum__year-row strong,
.ddla-sanctum__year-row b {
  color: var(--ddla-gold-light, #f4dfab);
  font-family: var(--ddla-font-title, Georgia, serif);
  font-weight: 500;
}

.ddla-sanctum__year-row small {
  color: var(--ddla-text-muted, #9ea8ab);
  font-size: 0.72rem;
}

.ddla-sanctum__year-track {
  position: relative;
  height: 4px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.07);
  clip-path: polygon(3px 0, 100% 0, calc(100% - 3px) 100%, 0 100%);
}

.ddla-sanctum__year-track span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--ddla-gold, #c9a85d), var(--ddla-blue-soft, #00d2ff));
  box-shadow: 0 0 10px rgba(201, 168, 93, 0.28);
}

.ddla-sanctum__mini-grid,
.ddla-sanctum__collection-grid,
.ddla-sanctum__notes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.ddla-sanctum .ddla-card {
  --ddla-card-min-height: 0px;
  --ddla-card-padding: 1.15rem;
}

.ddla-sanctum .ddla-card__surface {
  grid-template-rows: 1fr;
}

.ddla-sanctum__mini-card .ddla-card__body,
.ddla-sanctum__note-card .ddla-card__body {
  align-content: start;
}

.ddla-sanctum__mini-card .ddla-card__title,
.ddla-sanctum__note-card .ddla-card__title {
  font-size: 1.15rem;
}

.ddla-sanctum__text-action {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}

.ddla-sanctum__note-preview {
  display: grid;
  gap: 0.8rem;
}

.ddla-sanctum__note-preview article {
  padding-left: 0.9rem;
  border-left: 1px solid rgba(var(--ddla-blue-soft-rgb, 0, 210, 255), 0.42);
}

.ddla-sanctum__note-preview strong {
  color: var(--ddla-blue-light, #a4efff);
  font-family: var(--ddla-font-title, Georgia, serif);
  font-weight: 500;
}

.ddla-sanctum__note-preview p {
  margin: 0.35rem 0 0;
  color: var(--ddla-text-muted, #9ea8ab);
  font-size: 0.84rem;
}

.ddla-sanctum__filters,
.ddla-sanctum__form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.ddla-sanctum__filters {
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto;
  align-items: end;
}

.ddla-sanctum__form-grid label,
.ddla-sanctum__filters label {
  display: grid;
  gap: 0.42rem;
}

.ddla-sanctum__form-grid label > span,
.ddla-sanctum__filters label > span {
  color: var(--ddla-gold-soft, #e6cc87);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ddla-sanctum__form-grid .is-full {
  grid-column: 1 / -1;
}

.ddla-sanctum input,
.ddla-sanctum select,
.ddla-sanctum textarea,
.ddla-sanctum__reading-row select,
.ddla-sanctum__collection-item select {
  width: 100%;
  min-height: 2.9rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(201, 168, 93, 0.28);
  border-radius: 0;
  color: var(--ddla-text-main, #ece4d4);
  background: rgba(0, 0, 0, 0.3);
  clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
  font: inherit;
}

.ddla-sanctum textarea {
  resize: vertical;
}

.ddla-sanctum input:focus,
.ddla-sanctum select:focus,
.ddla-sanctum textarea:focus {
  border-color: rgba(var(--ddla-blue-soft-rgb, 0, 210, 255), 0.62);
  outline: none;
  box-shadow: 0 0 0 1px rgba(var(--ddla-blue-soft-rgb, 0, 210, 255), 0.18), 0 0 18px rgba(var(--ddla-blue-rgb, 47, 111, 255), 0.1);
}

.ddla-sanctum__reading-list,
.ddla-sanctum__collection-items {
  display: grid;
  gap: 0.55rem;
}

.ddla-sanctum__reading-row,
.ddla-sanctum__collection-item {
  display: grid;
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.075);
  background: rgba(255, 255, 255, 0.018);
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}

.ddla-sanctum__reading-row {
  grid-template-columns: minmax(0, 1fr) auto minmax(150px, 0.3fr);
}

.ddla-sanctum__collection-item {
  grid-template-columns: auto minmax(0, 1fr) minmax(140px, 0.35fr) auto;
}

.ddla-sanctum__reading-row > div,
.ddla-sanctum__collection-item > div:nth-child(2) {
  display: grid;
  gap: 0.2rem;
}

.ddla-sanctum__reading-row a,
.ddla-sanctum__collection-item a {
  color: var(--ddla-text-main, #ece4d4);
  font-family: var(--ddla-font-title, Georgia, serif);
  text-decoration: none;
}

.ddla-sanctum__reading-row a:hover,
.ddla-sanctum__collection-item a:hover {
  color: var(--ddla-gold-light, #f4dfab);
}

.ddla-sanctum__reading-row small,
.ddla-sanctum__collection-item small,
.ddla-sanctum__date {
  color: var(--ddla-text-muted, #9ea8ab);
  font-size: 0.7rem;
}

.ddla-sanctum__state {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.24rem 0.55rem;
  border: 1px solid rgba(201, 168, 93, 0.25);
  color: var(--ddla-gold-soft, #e6cc87);
  background: rgba(201, 168, 93, 0.035);
  clip-path: polygon(5px 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%, 0 5px);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ddla-sanctum__state--read {
  border-color: rgba(201, 168, 93, 0.58);
  color: var(--ddla-gold-light, #f4dfab);
}

.ddla-sanctum__state--reading,
.ddla-sanctum__state--review {
  border-color: rgba(var(--ddla-blue-soft-rgb, 0, 210, 255), 0.42);
  color: var(--ddla-blue-light, #a4efff);
  background: rgba(var(--ddla-blue-rgb, 47, 111, 255), 0.04);
}

.ddla-sanctum__year-selector {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
  gap: 0.6rem;
  margin-top: 1.2rem;
}

.ddla-sanctum__year-selector label {
  position: relative;
  display: grid;
  gap: 0.15rem;
  padding: 0.75rem;
  border: 1px solid rgba(201, 168, 93, 0.18);
  background: rgba(201, 168, 93, 0.025);
  clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
  cursor: pointer;
}

.ddla-sanctum__year-selector input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ddla-sanctum__year-selector label:has(input:checked) {
  border-color: rgba(201, 168, 93, 0.62);
  background: rgba(201, 168, 93, 0.08);
  box-shadow: 0 0 16px rgba(201, 168, 93, 0.1);
}

.ddla-sanctum__year-selector span {
  color: var(--ddla-gold-light, #f4dfab);
  font-family: var(--ddla-font-title, Georgia, serif);
}

.ddla-sanctum__year-selector small {
  color: var(--ddla-text-muted, #9ea8ab);
}

.ddla-sanctum__order {
  color: var(--ddla-gold, #c9a85d);
  font-family: var(--ddla-font-title, Georgia, serif);
}

.ddla-sanctum__row-actions button,
.ddla-sanctum__card-actions button,
.ddla-sanctum-collection-option {
  border: 1px solid rgba(201, 168, 93, 0.26);
  border-radius: 0;
  color: var(--ddla-text-soft, #d2c9b8);
  background: rgba(201, 168, 93, 0.035);
  clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
  cursor: pointer;
}

.ddla-sanctum__row-actions button {
  width: 2.1rem;
  height: 2.1rem;
  padding: 0;
}

.ddla-sanctum__card-actions {
  margin-top: auto;
}

.ddla-sanctum__card-actions button {
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.7rem;
}

.ddla-sanctum__row-actions button:hover,
.ddla-sanctum__card-actions button:hover,
.ddla-sanctum-collection-option:hover,
.ddla-sanctum-collection-option:focus-visible {
  border-color: rgba(var(--ddla-blue-soft-rgb, 0, 210, 255), 0.56);
  color: var(--ddla-blue-light, #a4efff);
  outline: none;
}

.ddla-sanctum__check {
  display: flex !important;
  align-items: center;
  grid-template-columns: auto 1fr;
}

.ddla-sanctum__check input {
  width: 1.1rem;
  min-height: 1.1rem;
  margin: 0;
  clip-path: none;
  accent-color: var(--ddla-gold, #c9a85d);
}

.ddla-sanctum__empty,
.ddla-sanctum__loading {
  padding: 2.2rem 1rem;
  border: 1px dashed rgba(201, 168, 93, 0.26);
  color: var(--ddla-text-muted, #9ea8ab);
  text-align: center;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.ddla-sanctum__empty > span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--ddla-gold, #c9a85d);
  font-size: 1.5rem;
}

.ddla-sanctum__empty p {
  margin: 0;
}

.ddla-sanctum-collection-options {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.ddla-sanctum-collection-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 3.6rem;
  padding: 0.75rem 0.9rem;
  text-align: left;
}

.ddla-sanctum-collection-option span {
  color: var(--ddla-gold-light, #f4dfab);
  font-family: var(--ddla-font-title, Georgia, serif);
}

.ddla-sanctum-collection-option small {
  color: var(--ddla-text-muted, #9ea8ab);
}

.ddla-single-tool[data-ddla-sanctum-read-toggle].is-active {
  color: var(--ddla-gold-light, #f4dfab);
  border-color: rgba(201, 168, 93, 0.64);
  background: rgba(201, 168, 93, 0.08);
}

.ddla-single-tool[data-ddla-sanctum-read-toggle].is-active .ddla-single-icon {
  color: var(--ddla-gold-light, #f4dfab);
  filter: drop-shadow(0 0 8px rgba(201, 168, 93, 0.42));
}

@media (max-width: 1080px) {
  .ddla-sanctum__panel--continue,
  .ddla-sanctum__panel--summary,
  .ddla-sanctum__panel--half {
    grid-column: 1 / -1;
  }

  .ddla-sanctum__reading-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ddla-sanctum__reading-row select {
    grid-column: 1 / -1;
  }

  .ddla-sanctum__collection-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .ddla-sanctum__collection-item select,
  .ddla-sanctum__collection-item .ddla-sanctum__row-actions {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .ddla-sanctum__nav {
    top: 0.35rem;
  }

  .ddla-sanctum__tab {
    flex: 0 0 auto;
  }

  .ddla-sanctum__grid,
  .ddla-sanctum__filters,
  .ddla-sanctum__form-grid {
    grid-template-columns: 1fr;
  }

  .ddla-sanctum__form-grid .is-full {
    grid-column: auto;
  }

  .ddla-sanctum__section-head {
    display: grid;
  }

  .ddla-sanctum__year-row {
    grid-template-columns: 1fr auto;
  }

  .ddla-sanctum__year-track {
    grid-column: 1 / -1;
  }

  .ddla-sanctum__reading-row,
  .ddla-sanctum__collection-item {
    grid-template-columns: 1fr;
  }

  .ddla-sanctum__state,
  .ddla-sanctum__reading-row select,
  .ddla-sanctum__collection-item select,
  .ddla-sanctum__collection-item .ddla-sanctum__row-actions {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ddla-sanctum__view.is-active {
    animation: none;
  }
}
