/* ==========================================================================
   engine.css — DLE core overrides (AJAX, admin-bar, calendar, etc.)
   Adjusts DLE-generated markup that we can't modify via templates.
   ========================================================================== */

/* DLE AJAX loading spinner */
#loading-layer {
  background: var(--color-paper) !important;
  color: var(--color-ink) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--type-meta) !important;
  letter-spacing: var(--track-wider) !important;
  text-transform: uppercase !important;
  border: var(--border-w) solid var(--color-ink) !important;
  padding: 16px 24px !important;
}

/* Calendar widget (archives) */
.ui-datepicker, .calendar {
  font-family: var(--font-mono) !important;
  font-size: var(--type-meta);
  background: var(--color-paper-raised);
  border: var(--border-w) solid var(--border-color);
  padding: var(--space-3);
}
.calendar table { width: 100%; border-collapse: collapse; }
.calendar th, .calendar td {
  padding: 4px;
  text-align: center;
  font-size: var(--type-micro);
  letter-spacing: var(--track-wider);
  text-transform: uppercase;
}
.calendar th { color: var(--color-ink-mute); font-weight: var(--weight-medium); }
.calendar td a {
  display: block;
  color: var(--color-ink);
  padding: 2px;
}
.calendar td a:hover {
  background: var(--color-ink);
  color: var(--color-paper);
}

/* DLE admin bar (top floating bar for logged admins) */
#admin-bar {
  font-family: var(--font-mono) !important;
  font-size: var(--type-meta) !important;
  background: var(--color-ink) !important;
  color: var(--color-inverted-fg) !important;
  border-bottom: var(--border-w) solid var(--color-accent) !important;
}
#admin-bar a { color: var(--color-accent-bright) !important; }

/* DLE popups / modals */
.dle-popup-info, .dle-popup-help, .dle-popup-dlelogin {
  background: var(--color-paper) !important;
  color: var(--color-ink) !important;
  border: var(--border-w) solid var(--color-ink) !important;
  border-radius: 0 !important;
  box-shadow: 0 40px 80px -30px rgba(0,0,0,0.2), 0 10px 30px -15px rgba(0,0,0,0.1) !important;
  font-family: var(--font-sans) !important;
}
.dle-popup-info-title, .dle-popup-help-title {
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
  font-family: var(--font-mono) !important;
  font-size: var(--type-micro) !important;
  letter-spacing: var(--track-widest) !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
}

/* DLE rating stars */
.ratingtypeplusminus, .ratingtypegraphic {
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  letter-spacing: var(--track-wider);
  text-transform: uppercase;
  color: var(--color-ink-mute);
}
.ratingtypeplus, .plus { color: var(--color-success) !important; }
.ratingtypeminus, .minus { color: var(--color-danger) !important; }

/* DLE pagination ({pages}) */
.basenavi .navigation,
.pages-navi {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: var(--space-6) 0;
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  letter-spacing: var(--track-wider);
  text-transform: uppercase;
}
.basenavi a, .basenavi span,
.pages-navi a, .pages-navi span {
  padding: 6px 12px;
  border: var(--border-w) solid var(--border-soft);
  color: var(--color-ink);
  text-decoration: none;
}
.basenavi a:hover,
.pages-navi a:hover {
  background: var(--color-ink);
  color: var(--color-paper);
  border-color: var(--color-ink);
}

/* DLE BB-codes toolbar */
#bbcodes, .bbcodes_panel {
  background: var(--color-paper-sunk);
  border: var(--border-w) solid var(--color-ink);
  padding: 6px 8px;
}
#bbcodes button {
  background: transparent;
  border: var(--border-w) solid transparent;
  padding: 4px 8px;
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  color: var(--color-ink);
  border-radius: 0;
  text-transform: none;
  letter-spacing: 0;
}
#bbcodes button:hover {
  background: var(--color-ink);
  color: var(--color-paper);
  border-color: var(--color-ink);
}

/* DLE error/success messages */
.error_text, .formerror {
  background: var(--color-danger);
  color: #fff;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  letter-spacing: var(--track-wide);
  border-radius: 0;
}
.success_text, .formnoerror {
  background: var(--color-success);
  color: #fff;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  letter-spacing: var(--track-wide);
  border-radius: 0;
}

/* DLE quote / spoiler bb-codes */
.quote {
  border-left: 3px solid var(--color-accent);
  padding: var(--space-3) var(--space-4);
  margin: var(--space-4) 0;
  background: var(--color-paper-raised);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 16px;
}
.title_quote {
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  letter-spacing: var(--track-wider);
  text-transform: uppercase;
  color: var(--color-ink-mute);
  font-style: normal;
  margin-bottom: var(--space-2);
}
.title_spoiler {
  font-family: var(--font-mono);
  font-size: var(--type-micro);
  letter-spacing: var(--track-wider);
  text-transform: uppercase;
  background: var(--color-paper-sunk);
  padding: var(--space-2) var(--space-3);
  cursor: pointer;
  border: var(--border-w) solid var(--color-paper-rule);
}
.text_spoiler {
  padding: var(--space-3);
  border: var(--border-w) solid var(--color-paper-rule);
  border-top: 0;
}

/* CKEditor/TinyMCE wrapper — editor inside a form */
.editorcomm iframe, .editorcomm textarea {
  border: var(--border-w) solid var(--color-ink) !important;
  background: var(--color-paper-raised) !important;
}

/* Change-skin select (legacy) */
#change-skin select {
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  padding: 6px 10px;
  border: var(--border-w) solid var(--color-ink);
  background: var(--color-paper-raised);
  border-radius: 0;
}

/* Polls — vote bars */
.votebar { background: var(--color-paper-sunk); border: var(--border-w) solid var(--color-paper-rule); }
.votebar > div { background: var(--color-accent) !important; color: #fff; padding: 2px 6px; font-family: var(--font-mono); font-size: var(--type-micro); }

/* copy-btn (from copybtn.js in old theme) */
.copybtn {
  font-family: var(--font-mono) !important;
  font-size: var(--type-micro) !important;
  letter-spacing: var(--track-wider) !important;
  text-transform: uppercase !important;
  border: var(--border-w) solid var(--color-ink) !important;
  background: var(--color-paper) !important;
  color: var(--color-ink) !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
}
.copybtn:hover { background: var(--color-ink) !important; color: var(--color-paper) !important; }
