* {
  box-sizing: border-box;
}

:root {
  --bg: #080b0a;
  --surface: #0d1110;
  --surface-2: #121715;
  --border: #202a25;
  --border-bright: #314039;
  --text: #edf3ef;
  --muted: #87938c;
  --green: #62f59a;
  --green-dim: #2d8f55;
}

html {
  background: var(--bg);
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    linear-gradient(rgba(98,245,154,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(98,245,154,.018) 1px, transparent 1px),
    radial-gradient(circle at 50% -20%, rgba(55,150,91,.12), transparent 42%),
    var(--bg);
  background-size: 32px 32px, 32px 32px, auto, auto;
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

header {
  position: relative;
  max-width: 1380px;
  margin: 0 auto;
  padding: 64px 26px 38px;
  border-bottom: 1px solid var(--border);
}

header::before {
  content: "● SYSTEM ONLINE";
  display: block;
  margin-bottom: 14px;
  color: var(--green);
  font: 600 10px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 2px;
}

.jordan-nav {
  position: absolute;
  top: 64px;
  right: 26px;
  display: flex;
  align-items: center;
  gap: 8px;
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .8px;
}

.jordan-nav a {
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  transition: color .15s ease, border-color .15s ease;
}

.jordan-nav a:hover {
  color: var(--green);
  border-color: var(--green);
}

.brand {
  display: inline-block;
  font-size: clamp(42px, 7vw, 76px);
  font-weight: 750;
  letter-spacing: -4px;
  line-height: .95;
}

.brand::after {
  content: "_";
  color: var(--green);
  font-weight: 400;
}

.tag {
  max-width: 520px;
  margin-top: 16px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

main {
  max-width: 1380px;
  margin: auto;
  padding: 28px 26px 80px;
}

.pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.pills a,
.rating,
.pick {
  padding: 7px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(13,17,16,.86);
  font-size: 12px;
}

.pills a {
  color: #aab5af;
  transition:
    color .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.pills a:hover {
  color: var(--green);
  border-color: var(--green-dim);
  background: rgba(98,245,154,.055);
}

.grid {
  columns: 4 260px;
  column-gap: 16px;
}

.card {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 0 0 16px;
  break-inside: avoid;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.card:hover {
  transform: translateY(-2px);
  border-color: var(--border-bright);
  box-shadow: 0 14px 40px rgba(0,0,0,.32);
}

.card img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #050706;
  transition: opacity .18s ease;
}

.card:hover img {
  opacity: .94;
}

.pad {
  padding: 13px 14px 15px;
  border-top: 1px solid var(--border);
}

.pad h2 {
  margin: 0 0 11px;
  font-size: 15px;
  font-weight: 620;
  letter-spacing: -.2px;
}

.stats {
  margin-top: 12px;
  color: #78837d;
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.pick {
  margin-left: 5px;
  color: #e5c96d;
  font-size: 9px;
  vertical-align: 2px;
}

.rating {
  display: inline-block;
  font-size: 10px;
  padding: 5px 7px;
}

.rating.everyone {
  color: #86dca4;
}

.rating.teen {
  color: #ddc46d;
}

.rating.adult {
  color: #df8585;
}

.panel {
  padding: 22px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.detail {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, .65fr);
  gap: 28px;
  align-items: start;
}

.detail > img {
  display: block;
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
  background: #050706;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.back {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--muted);
  font: 12px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.back:hover {
  color: var(--green);
}

input,
textarea,
select,
button {
  width: 100%;
  margin: 6px 0;
  padding: 11px 12px;
  border: 1px solid var(--border-bright);
  border-radius: 6px;
  outline: none;
  background: #0b0f0d;
  color: var(--text);
  font: inherit;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--green-dim);
  box-shadow: 0 0 0 2px rgba(98,245,154,.07);
}

textarea {
  min-height: 100px;
  resize: vertical;
}

button {
  cursor: pointer;
  background: #18221d;
  color: var(--green);
  font-weight: 650;
  transition: background .15s ease;
}

button:hover {
  background: #1d2c24;
}

.comment {
  padding: 14px 0;
  border-top: 1px solid var(--border);
}

.narrow {
  max-width: 440px;
  margin: 30px auto;
}

.upload {
  max-width: 650px;
}

.row {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--border);
}

.row > *:first-child {
  flex: 1;
}

.row form {
  width: auto;
}

.row button {
  width: auto;
  margin: 0;
}

.adminhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flash,
.empty {
  padding: 18px;
  margin-bottom: 20px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 7px;
  color: #aeb9b3;
}

.empty::before {
  content: "> ";
  color: var(--green);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

footer {
  max-width: 1380px;
  margin: auto;
  padding: 26px;
  border-top: 1px solid var(--border);
  color: #56605b;
  font: 10px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 1px;
}

@media (max-width: 900px) {
  .grid {
    columns: 2 240px;
  }

  .detail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  header {
    padding: 44px 18px 28px;
  }

  .jordan-nav {
    position: static;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 12px 0 18px;
  }

  .brand {
    letter-spacing: -2.5px;
  }

  .tag {
    font-size: 14px;
  }

  main {
    padding: 20px 14px 60px;
  }

  .pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 5px;
  }

  .pills a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .grid {
    columns: 1;
  }

  .row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  footer {
    padding: 22px 16px;
  }
}

/* Admin artwork management */
.admin-art-row {
  align-items: flex-start;
}

.admin-thumb {
  flex: 0 0 72px !important;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #050706;
}

.admin-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font: 12px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-pagination a {
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
}

.admin-pagination a:hover {
  color: var(--green);
  border-color: var(--green-dim);
}

.art-date {
  color: var(--muted);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}


/* Phase 4 — image-first gallery */

.filter-pills .active {
  color: var(--green);
  border-color: var(--green-dim);
  background: rgba(98,245,154,.09);
  box-shadow: inset 0 0 0 1px rgba(98,245,154,.05);
}

.pill-divider {
  width: 1px;
  align-self: stretch;
  margin: 2px 3px;
  background: var(--border);
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin: 6px 0 18px;
}

.section-heading h1 {
  margin: 3px 0 0;
  font-size: clamp(26px,4vw,40px);
  letter-spacing: -1.5px;
}

.section-heading > span {
  color: var(--muted);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.eyebrow {
  color: var(--green);
  font: 600 9px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 2px;
}

.picks-section {
  margin: 8px 0 42px;
  padding-bottom: 38px;
  border-bottom: 1px solid var(--border);
}

.picks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
  gap: 16px;
}

.pick-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  max-height: 520px;
  background: #050706;
  border: 1px solid var(--border-bright);
  border-radius: 9px;
}

.pick-card a {
  display: block;
  height: 100%;
}

.pick-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  max-height: 520px;
  object-fit: cover;
  transition: transform .25s ease, opacity .25s ease;
}

.pick-card:hover img {
  transform: scale(1.015);
  opacity: .9;
}

.pick-overlay {
  position: absolute;
  inset: auto 0 0;
  padding: 50px 18px 17px;
  background: linear-gradient(transparent,rgba(0,0,0,.82));
}

.pick-overlay span {
  display: block;
  margin-bottom: 5px;
  color: #e5c96d;
  font: 9px ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pick-overlay strong {
  font-size: 17px;
}

.gallery-heading {
  margin-top: 0;
}

.card-image {
  display: block;
  background: #050706;
}

.card-image img {
  aspect-ratio: auto;
}

.detail-image-link {
  position: relative;
  display: block;
}

.detail-image-link > img {
  display: block;
  width: 100%;
  max-height: 84vh;
  object-fit: contain;
  background: #050706;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.zoom-hint {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 5px;
  background: rgba(0,0,0,.68);
  color: #dbe3de;
  font: 10px ui-monospace, SFMono-Regular, Menlo, monospace;
  opacity: .75;
}

.detail-image-link:hover .zoom-hint {
  color: var(--green);
  opacity: 1;
}

.detail-info h1 {
  margin-top: 0;
  font-size: clamp(30px,4vw,48px);
  letter-spacing: -1.7px;
}

.detail-stats {
  color: #aab5af;
  font: 12px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.lightbox {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}

.lightbox:target {
  display: flex;
}

.lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.94);
}

.lightbox img {
  position: relative;
  z-index: 1;
  max-width: 94vw;
  max-height: 94vh;
  object-fit: contain;
  box-shadow: 0 20px 80px rgba(0,0,0,.55);
}

.lightbox-close {
  position: fixed;
  z-index: 2;
  top: 18px;
  right: 24px;
  color: white;
  font-size: 38px;
  line-height: 1;
}

.hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

@media (max-width: 600px) {
  .pill-divider {
    display: none;
  }

  .section-heading {
    align-items: center;
  }

  .picks-grid {
    grid-template-columns: 1fr;
  }

  .zoom-hint {
    display: none;
  }

  .lightbox {
    padding: 10px;
  }
}


/* Phase 4 — metadata/error-page polish */

.error-page {
  max-width: 720px;
  min-height: 48vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px 0;
}

.error-code {
  color: var(--green);
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 3px;
}

.error-page h1 {
  margin: 8px 0 10px;
  font-size: clamp(42px,8vw,78px);
  letter-spacing: -3px;
  line-height: .95;
}

.error-page p {
  max-width: 520px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.error-home {
  align-self: flex-start;
  margin-top: 18px;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: #b8c3bd;
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.error-home:hover {
  color: var(--green);
  border-color: var(--green-dim);
}


/* Phase 5 — Adult content confirmation */

.adult-confirm {
  max-width: 560px;
  margin: 55px auto;
  padding: 32px;
}

.adult-confirm h1 {
  margin: 8px 0 12px;
  font-size: clamp(34px,6vw,52px);
  letter-spacing: -2px;
}

.adult-confirm p {
  color: var(--muted);
  line-height: 1.7;
}

.adult-confirm form {
  margin-top: 22px;
}

.adult-back {
  display: inline-block;
  margin-top: 14px;
  color: var(--muted);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.adult-back:hover {
  color: var(--green);
}

/* Private admin analytics */
.analytics-panel {
  margin-bottom: 20px;
}

.analytics-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.analytics-heading h2,
.analytics-heading p {
  margin-top: 0;
}

.analytics-heading > span {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font: 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.analytics-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin: 20px 0 14px;
}

.analytics-metrics article {
  min-width: 0;
  padding: 15px;
  background: #0d120f;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.analytics-metrics span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.analytics-metrics strong {
  display: block;
  margin-top: 7px;
  color: var(--green);
  font: 700 27px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.analytics-note {
  color: var(--muted);
  font-size: 12px;
}

.analytics-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
  margin: 24px 0;
}

.analytics-columns h3,
.analytics-panel > h3 {
  margin-bottom: 10px;
}

.analytics-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.analytics-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.analytics-table th,
.analytics-table td {
  padding: 9px 11px;
  border-bottom: 1px solid var(--border);
  text-align: right;
  white-space: nowrap;
}

.analytics-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.analytics-table th:first-child,
.analytics-table td:first-child {
  text-align: left;
}

.analytics-table tbody tr:last-child td {
  border-bottom: 0;
}

.analytics-table a {
  color: var(--green);
}

@media (max-width: 800px) {
  .analytics-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .analytics-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .analytics-heading {
    display: block;
  }

  .analytics-heading > span {
    display: inline-block;
    margin-bottom: 10px;
  }

  .analytics-metrics {
    grid-template-columns: 1fr;
  }
}


/* Public collections */
.collections-page {
  padding-bottom: 24px;
}

.collections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
  margin-top: 24px;
}

.collection-card {
  display: block;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: transform .18s ease, border-color .18s ease;
}

.collection-card:hover {
  transform: translateY(-3px);
  border-color: var(--green);
}

.collection-cover,
.collection-placeholder {
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--surface);
}

.collection-cover {
  display: block;
  object-fit: cover;
}

.collection-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 13px;
}

.collection-info {
  padding: 16px;
}

.collection-info h2 {
  margin: 0 0 7px;
  font-size: 19px;
}

.collection-info p {
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.5;
}

.collection-count {
  display: inline-block;
  color: var(--green);
  font-size: 12px;
  font-weight: 650;
}

/* Compact collection picker inside the artwork editor */
.admin-art-editor fieldset {
  margin: 16px 0;
  padding: 14px;
  border: 1px solid var(--border-bright);
  border-radius: 6px;
}

.admin-art-editor fieldset legend {
  padding: 0 6px;
}

.admin-art-editor fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.admin-art-editor fieldset legend {
  grid-column: 1 / -1;
}

.admin-art-editor fieldset label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
}

.admin-art-editor fieldset input[type="checkbox"] {
  width: auto;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

@media (min-width: 700px) {
  .admin-art-editor fieldset {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-art-editor fieldset legend {
    grid-column: 1 / -1;
  }
}

/* Admin v2 shell and settings */
.admin-v2-shell {
  max-width: 1100px;
  margin: 0 auto;
}

.admin-v2-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.admin-v2-header h1,
.adminhead h1 {
  margin: 5px 0 0;
  font-size: clamp(32px, 5vw, 52px);
  letter-spacing: -2px;
}

.admin-v2-header p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.admin-action-link {
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid var(--border-bright);
  border-radius: 7px;
  color: var(--green);
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-action-link:hover {
  background: rgba(98,245,154,.06);
  border-color: var(--green-dim);
}

.admin-v2-nav {
  display: flex;
  gap: 7px;
  margin: 0 0 22px;
  padding: 8px;
  overflow-x: auto;
  background: rgba(13,17,16,.94);
  border: 1px solid var(--border);
  border-radius: 9px;
  scrollbar-width: thin;
}

.admin-v2-nav a {
  flex: 0 0 auto;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
  white-space: nowrap;
}

.admin-v2-nav a:hover {
  color: var(--text);
  border-color: var(--border-bright);
}

.admin-v2-nav a.active {
  color: var(--green);
  background: rgba(98,245,154,.07);
  border-color: var(--green-dim);
}

.admin-settings-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.admin-settings-card {
  flex: 1 1 calc(50% - 9px);
  min-width: 0;
}

.admin-settings-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.admin-settings-card h2 {
  margin: 5px 0 0;
  font-size: 23px;
  letter-spacing: -.7px;
}

.admin-settings-card > p {
  color: var(--muted);
  line-height: 1.6;
}

.admin-settings-kicker {
  color: var(--green);
  font: 600 9px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 1.7px;
}

.admin-status {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font: 600 10px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-status.enabled {
  color: var(--green);
  border-color: var(--green-dim);
  background: rgba(98,245,154,.055);
}

.admin-status.disabled {
  color: var(--muted);
}

.admin-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 20px 0 14px;
  padding: 15px;
  background: #0b0f0d;
  border: 1px solid var(--border-bright);
  border-radius: 7px;
  cursor: pointer;
}

.admin-toggle-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  padding: 0;
  flex: 0 0 auto;
  accent-color: var(--green);
}

.admin-toggle-row strong,
.admin-toggle-row small {
  display: block;
}

.admin-toggle-row small {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.45;
}

.admin-setting-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.admin-field-label {
  display: block;
  margin-top: 14px;
  color: #c6d0ca;
  font-size: 13px;
  font-weight: 650;
}

.admin-save-button,
.admin-logout-button {
  min-height: 44px;
  margin-top: 14px;
}

.admin-tool-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.admin-tool-links a,
.admin-tool-links span {
  min-width: 0;
  padding: 10px;
  overflow-wrap: anywhere;
  border: 1px solid var(--border);
  border-radius: 6px;
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
}

.admin-tool-links a {
  color: var(--green);
}

.admin-tool-links a:hover {
  border-color: var(--green-dim);
  background: rgba(98,245,154,.05);
}

.admin-tool-links span {
  color: var(--muted);
}

.admin-session-card {
  flex-basis: 100%;
}

.admin-session-card form {
  max-width: 360px;
}

.admin-logout-button {
  color: #e7a3a3;
  border-color: #5b3535;
  background: #211414;
}

.admin-logout-button:hover {
  background: #2a1818;
}

#analytics,
#collections,
#upload,
#artworks,
#comments,
#adult-access,
#private-tools,
#session {
  scroll-margin-top: 18px;
}

@media (max-width: 760px) {
  .admin-v2-header {
    display: block;
  }

  .admin-action-link {
    display: inline-block;
    margin-top: 17px;
  }

  .admin-settings-grid {
    display: block;
  }

  .admin-settings-card + .admin-settings-card {
    margin-top: 18px;
  }
}

.admin-upload-notice {
  min-height: 1.4em;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.admin-upload-fallback {
  margin-top: 16px;
}

.admin-upload-fallback summary {
  cursor: pointer;
  color: var(--green);
  font-weight: 700;
}

.admin-upload-fallback > p {
  color: var(--muted);
  line-height: 1.5;
}

.admin-upload-fallback-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.analytics-daily th:first-child,
.analytics-daily td:first-child {
  white-space: nowrap;
}

@media (max-width: 560px) {
  .admin-upload-fallback-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .admin-settings-card {
    padding: 18px;
  }

  .admin-settings-card-heading {
    display: block;
  }

  .admin-status {
    display: inline-block;
    margin-top: 10px;
  }

  .admin-tool-links {
    grid-template-columns: 1fr;
  }
}

/* Admin v2 dashboard and manager */
.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.admin-overview-grid a {
  min-width: 0;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.admin-overview-grid a:hover,
.admin-overview-grid a.attention {
  border-color: var(--green-dim);
}

.admin-overview-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
}

.admin-overview-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--green);
  font: 700 27px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-review-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 20px 22px;
  background: linear-gradient(120deg,rgba(98,245,154,.08),rgba(13,17,16,.94));
  border: 1px solid var(--green-dim);
  border-radius: 9px;
}

.admin-review-callout h2,
.admin-review-callout p {
  margin: 5px 0 0;
}

.admin-review-callout p {
  color: var(--muted);
}

.admin-review-callout > a {
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid var(--green-dim);
  border-radius: 6px;
  color: var(--green);
}

.admin-dashboard-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.admin-dashboard-panel {
  min-width: 0;
}

.admin-dashboard-panel h2 {
  margin: 5px 0 16px;
}

.admin-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.admin-panel-heading > a {
  flex: 0 0 auto;
  color: var(--green);
  font: 600 11px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-recent-artworks {
  display: grid;
  gap: 8px;
}

.admin-recent-artworks > a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.admin-recent-artworks > a:hover {
  border-color: var(--green-dim);
}

.admin-recent-artworks img {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 5px;
}

.admin-recent-artworks span,
.admin-recent-artworks strong,
.admin-recent-artworks small {
  display: block;
  min-width: 0;
}

.admin-recent-artworks strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-recent-artworks small,
.admin-recent-comments small {
  margin-top: 5px;
  color: var(--muted);
}

.admin-recent-comments article {
  padding: 12px 0;
  border-top: 1px solid var(--border);
}

.admin-recent-comments article:first-child {
  padding-top: 0;
  border-top: 0;
}

.admin-recent-comments article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-recent-comments p {
  margin-bottom: 0;
  color: #c5cec9;
  line-height: 1.5;
}

.admin-quick-analytics {
  margin-bottom: 18px;
}

.admin-date-range {
  color: var(--muted);
  font: 11px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.analytics-metrics-expanded {
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: 0;
}

.analytics-summary-panels {
  margin-top: 18px;
}

.admin-stat-list {
  display: grid;
  gap: 8px;
}

.admin-stat-list span {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 0;
  border-top: 1px solid var(--border);
  color: var(--muted);
}

.admin-stat-list strong {
  color: var(--text);
}

.admin-rating-distribution {
  display: grid;
  gap: 10px;
}

.admin-rating-distribution span {
  display: grid;
  grid-template-columns: 72px 1fr 32px;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
}

.admin-rating-distribution i {
  height: 7px;
  background: linear-gradient(90deg,var(--green-dim),var(--border));
  border-radius: 999px;
}

.admin-filter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
}

.admin-filter-form label {
  flex: 1 1 145px;
  min-width: 0;
}

.admin-filter-form .admin-search-field {
  flex-grow: 2;
  flex-basis: 240px;
}

.admin-filter-form > button {
  flex: 0 0 auto;
}

.admin-filter-form label > span,
.admin-artwork-card-body label > span,
.admin-upload-form label > span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
}

.admin-filter-form input,
.admin-filter-form select,
.admin-filter-form button {
  margin: 0;
}

.admin-filter-chips {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  margin: 0 0 16px;
  padding-bottom: 4px;
}

.admin-filter-chips a { flex:0 0 auto; padding:7px 10px; color:var(--muted); background:transparent; border:1px solid var(--border); border-radius:999px; font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace; }
.admin-filter-chips a:hover { color:var(--text); border-color:var(--border-bright); }
.admin-filter-chips a.active { color:var(--green); background:rgba(98,245,154,.07); border-color:var(--green-dim); }
.admin-filter-chips a.clear { color:var(--muted); background:transparent; border-color:var(--border); }

.admin-manager-toolbar {
  position: sticky;
  z-index: 20;
  top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 14px;
  padding: 10px;
  background: rgba(8,11,10,.96);
  border: 1px solid var(--border-bright);
  border-radius: 9px;
  box-shadow: 0 12px 35px rgba(0,0,0,.25);
}

.admin-manager-toolbar > select {
  flex: 1 1 145px;
}

.admin-manager-toolbar > button {
  flex: 0 1 auto;
}

.admin-manager-toolbar input[type="checkbox"],
.admin-card-select input[type="checkbox"],
.admin-collection-grid input[type="checkbox"],
.admin-pick-toggle input[type="checkbox"] {
  width: 19px;
  height: 19px;
  margin: 0;
  padding: 0;
  accent-color: var(--green);
}

.admin-select-all,
.admin-card-select,
.admin-pick-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-selected-count {
  color: var(--muted);
  font: 11px ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space: nowrap;
}

.admin-manager-toolbar select,
.admin-manager-toolbar button {
  min-height: 40px;
  margin: 0;
}

button.primary,
.admin-manager-toolbar button.primary {
  color: #07110a;
  background: var(--green);
  border-color: var(--green);
}

button.primary:hover {
  background: #82ffae;
}

.admin-save-status {
  min-height: 22px;
  margin: 0 0 10px;
  color: var(--muted);
  font: 11px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-save-status[data-kind="success"] { color: var(--green); }
.admin-save-status[data-kind="error"] { color: #ef9a9a; }
.admin-manager-form.is-saving { opacity: .82; }

.admin-artwork-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.admin-artwork-card {
  flex: 1 1 calc(50% - 8px);
  min-width: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.admin-artwork-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
}

.admin-card-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.admin-card-title mark {
  padding: 1px 2px;
  color: #07110a;
  background: var(--green);
  border-radius: 2px;
}

.admin-card-select {
  font-size: 12px;
}

.admin-visibility-badge {
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font: 600 9px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-visibility-badge.published {
  color: var(--green);
  border-color: var(--green-dim);
}

.admin-visibility-badge.hidden {
  color: #e7c86f;
  border-color: #675a30;
}

.admin-artwork-preview {
  display: block;
  height: 230px;
  background: #050706;
}

.admin-artwork-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.admin-artwork-card-body {
  padding: 14px;
}

.admin-inline-stats {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin-bottom: 12px;
  color: var(--muted);
  font: 10px ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space: nowrap;
}

.admin-artwork-card textarea {
  min-height: 92px;
}

.admin-collection-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px 16px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--border-bright);
  border-radius: 7px;
}

.admin-collection-grid legend {
  padding: 0 7px;
  color: #cbd4cf;
}

.admin-collection-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.admin-collection-grid label span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-pick-toggle {
  margin: 14px 0;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
}

.admin-card-actions,
.admin-upload-actions,
.admin-comment-actions {
  display: flex;
  gap: 9px;
  align-items: center;
}

.admin-card-actions button,
.admin-card-actions a {
  flex: 1 1 0;
  min-height: 44px;
}

.admin-card-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-bright);
  border-radius: 6px;
  color: var(--green);
}

.admin-manager-empty {
  grid-column: 1 / -1;
}

.admin-upload-panel {
  max-width: 780px;
  margin: 0 auto;
}

.admin-upload-form > label {
  display: block;
  margin-bottom: 12px;
}

.admin-upload-drop {
  padding: 20px;
  background: #0a0e0c;
  border: 1px dashed var(--green-dim);
  border-radius: 8px;
}

.admin-upload-drop small {
  display: block;
  color: var(--muted);
}

.admin-upload-actions button {
  flex: 1 1 0;
  min-height: 48px;
}

.admin-collection-list {
  display: grid;
  gap: 8px;
}

.admin-collection-list > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.admin-collection-list span,
.admin-collection-list strong,
.admin-collection-list small {
  display: block;
}

.admin-collection-list small {
  margin-top: 4px;
  color: var(--muted);
}

.admin-collection-list b {
  color: var(--green);
  font: 700 18px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-comment-list article {
  padding: 17px 0;
  border-top: 1px solid var(--border);
}

.admin-comment-list article:first-child {
  padding-top: 0;
  border-top: 0;
}

.admin-comment-list article > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}

.admin-comment-list strong,
.admin-comment-list small {
  display: block;
}

.admin-comment-list small {
  margin-top: 5px;
  color: var(--muted);
}

.admin-comment-list p {
  line-height: 1.6;
}

.admin-comment-actions form {
  width: auto;
}

.admin-comment-actions button {
  width: auto;
  min-width: 110px;
}

button.danger {
  color: #ef9a9a;
  border-color: #5b3535;
  background: #211414;
}

@media (max-width: 1000px) {
  .admin-overview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-filter-form button { min-height: 42px; }
}

@media (max-width: 760px) {
  .admin-dashboard-columns { grid-template-columns: 1fr; }
  .admin-artwork-grid { display: block; }
  .admin-artwork-card + .admin-artwork-card { margin-top: 16px; }
  .analytics-metrics-expanded { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-review-callout { display: block; }
  .admin-review-callout > a { display: inline-block; margin-top: 14px; }
  .admin-manager-toolbar {
    top: auto;
    bottom: 8px;
  }
  .admin-manager-toolbar > * { flex: 1 1 calc(50% - 8px); }
  .admin-manager-toolbar .primary { flex-basis: 100%; }
  .admin-artwork-preview { height: min(68vw,360px); }
}

@media (max-width: 520px) {
  .admin-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-filter-form { display: block; }
  .admin-filter-form label,
  .admin-filter-form > button { display: block; width: 100%; margin-top: 9px; }
  .admin-filter-form label:first-child { margin-top: 0; }
  .admin-manager-toolbar { padding: 9px; }
  .admin-manager-toolbar select,
  .admin-manager-toolbar button { min-width: 0; font-size: 12px; }
  .admin-collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 10px; }
  .admin-card-actions { display: grid; grid-template-columns: 1fr; }
  .admin-upload-actions { display: grid; grid-template-columns: 1fr; }
}

/* Admin v2 batch uploader */
input[type="hidden"] {
  display: none !important;
}

.admin-upload-v2 {
  padding-bottom: 96px;
}

.admin-upload-start {
  max-width: none;
}

.admin-upload-heading,
.admin-upload-defaults-title,
.admin-upload-item-head,
.admin-upload-item-foot,
.admin-upload-batchbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-upload-heading h2,
.admin-upload-defaults-title h3 {
  margin: 4px 0 0;
}

.admin-upload-count {
  color: var(--green);
  font: 700 14px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-upload-drop {
  display: flex;
  min-height: 154px;
  margin-top: 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  cursor: pointer;
  transition: border-color .18s ease,background .18s ease,transform .18s ease;
}

.admin-upload-drop:hover,
.admin-upload-drop.is-dragging {
  border-color: var(--green);
  background: rgba(54,211,153,.08);
  transform: translateY(-1px);
}

.admin-upload-drop input {
  width: auto;
  max-width: 100%;
  margin-top: 7px;
}

.admin-upload-defaults {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(7,12,10,.65);
}

.admin-upload-defaults > label {
  display: block;
  margin-top: 14px;
}

.admin-upload-defaults-title button,
.upload-item-retry {
  width: auto;
  min-height: 40px;
}

.admin-upload-queue {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.admin-upload-empty {
  text-align: center;
  color: var(--muted);
}

.admin-upload-empty strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
}

.admin-upload-item {
  display: grid;
  grid-template-columns: minmax(150px,230px) minmax(0,1fr);
  gap: 18px;
}

.admin-upload-item-preview {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  border-radius: 8px;
  background: #070a09;
}

.admin-upload-item-preview img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.admin-upload-status {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(4,8,6,.88);
  color: #fff;
  font: 700 12px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-upload-item[data-upload-state="complete"] .admin-upload-status {
  color: var(--green);
  border-color: var(--green-dim);
}

.admin-upload-item[data-upload-state="error"] .admin-upload-status {
  color: #ffabab;
  border-color: #744;
}

.admin-upload-item-main > label {
  display: block;
  margin-top: 12px;
}

.admin-upload-item-head {
  align-items: end;
}

.admin-upload-item-head label {
  flex: 1 1 auto;
}

.admin-upload-item-head button {
  width: auto;
  min-height: 44px;
}

.admin-upload-item-foot {
  margin-top: 14px;
  flex-wrap: wrap;
}

.admin-upload-item-result {
  flex: 1 1 220px;
  color: var(--muted);
  font-size: 14px;
}

.admin-upload-item-result a {
  color: var(--green);
}

.admin-upload-batchbar {
  position: sticky;
  z-index: 20;
  bottom: 8px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid var(--green-dim);
  border-radius: 10px;
  background: rgba(8,16,12,.96);
  box-shadow: 0 12px 35px rgba(0,0,0,.42);
  backdrop-filter: blur(12px);
}

.admin-upload-batchbar > div {
  flex: 1 1 auto;
}

.admin-upload-batchbar strong,
.admin-upload-batchbar span {
  display: block;
}

.admin-upload-batchbar strong {
  color: var(--green);
}

.admin-upload-batchbar span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}

.admin-upload-batchbar button {
  width: auto;
  min-height: 46px;
}

@media (max-width: 760px) {
  .admin-upload-item {
    grid-template-columns: 1fr;
  }

  .admin-upload-item-preview {
    min-height: min(75vw,360px);
  }

  .admin-upload-batchbar {
    flex-wrap: wrap;
  }

  .admin-upload-batchbar > div {
    flex-basis: 100%;
  }

  .admin-upload-batchbar button {
    flex: 1 1 calc(50% - 8px);
  }
}

@media (max-width: 520px) {
  .admin-upload-heading,
  .admin-upload-defaults-title,
  .admin-upload-item-head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-upload-defaults-title button,
  .admin-upload-item-head button {
    width: 100%;
  }

  .admin-upload-item-foot {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-upload-batchbar button {
    flex-basis: 100%;
  }
}

/* Compact curated-artwork switch */
.admin-pick-toggle {
  position: relative;
  display: flex;
  min-height: 62px;
  align-items: center;
  gap: 11px;
  margin: 14px 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(8,14,11,.66);
  cursor: pointer;
}

.admin-pick-toggle:hover {
  border-color: var(--border-bright);
}

.admin-pick-toggle input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.admin-toggle-switch {
  position: relative;
  width: 46px;
  height: 27px;
  flex: 0 0 46px;
  border: 1px solid #46524c;
  border-radius: 999px;
  background: #1b2320;
  transition: background .16s ease,border-color .16s ease;
}

.admin-toggle-switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #aeb9b3;
  box-shadow: 0 1px 4px rgba(0,0,0,.45);
  transition: transform .16s ease,background .16s ease;
}

.admin-pick-toggle input:checked + .admin-toggle-switch {
  border-color: var(--green);
  background: rgba(54,211,153,.34);
}

.admin-pick-toggle input:checked + .admin-toggle-switch::after {
  transform: translateX(19px);
  background: var(--green);
}

.admin-pick-toggle input:focus-visible + .admin-toggle-switch {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

.admin-pick-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.admin-pick-copy strong,
.admin-pick-copy small {
  display: block;
}

.admin-pick-copy strong {
  color: var(--text);
}

.admin-pick-copy small {
  margin-top: 2px;
  color: var(--muted);
}

.admin-pick-state {
  flex: 0 0 auto;
  color: var(--muted);
  font: 700 12px ui-monospace,SFMono-Regular,Menlo,monospace;
  text-transform: uppercase;
}

.admin-pick-state .state-on {
  display: none;
  color: var(--green);
}

.admin-pick-toggle input:checked ~ .admin-pick-state .state-off {
  display: none;
}

.admin-pick-toggle input:checked ~ .admin-pick-state .state-on {
  display: inline;
}

/* Safari-safe collection selectors and native curated-artwork checkbox */
.admin-collection-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  column-gap: 12px !important;
  row-gap: 10px !important;
}

.admin-collection-grid > legend {
  float: none;
}

.admin-collection-grid > label {
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 4px 0 !important;
}

.admin-collection-grid > label > input[type="checkbox"] {
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  clip-path: none !important;
  flex: none !important;
  accent-color: var(--green);
}

.admin-collection-grid > label > span {
  display: block !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--text) !important;
  line-height: 1.25 !important;
}

.admin-pick-toggle {
  display: grid !important;
  grid-template-columns: 28px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}

.admin-pick-toggle > input[type="checkbox"] {
  position: static !important;
  display: block !important;
  grid-column: 1 !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  accent-color: var(--green);
}

.admin-pick-toggle > .admin-pick-copy {
  display: block !important;
  grid-column: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (min-width: 760px) {
  .admin-collection-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (min-width: 1180px) {
  .admin-collection-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
}

/* Collections manager */
.admin-collection-create {
  margin-bottom: 18px;
}

.admin-collection-create-form {
  display: grid;
  grid-template-columns: minmax(180px,.8fr) minmax(260px,1.5fr) auto;
  gap: 12px;
  align-items: end;
}

.admin-collection-create-form label > span,
.admin-collection-editor label > span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
}

.admin-collection-create-form textarea {
  min-height: 46px;
}

.admin-collection-create-form button {
  min-height: 46px;
}

.admin-collection-manager-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 24px 0 12px;
}

.admin-collection-manager-heading h2,
.admin-collection-manager-heading p {
  margin: 4px 0 0;
}

.admin-collection-manager-heading p {
  max-width: 460px;
  color: var(--muted);
  text-align: right;
}

.admin-collection-editor-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}

.admin-collection-editor-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.admin-collection-editor-top strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
}

.admin-collection-editor-top a {
  flex: 0 0 auto;
  color: var(--green);
  font: 700 11px ui-monospace,SFMono-Regular,Menlo,monospace;
}

.admin-collection-editor form > label {
  display: block;
  margin: 11px 0;
}

.admin-collection-editor textarea {
  min-height: 84px;
}

.admin-collection-editor form > button {
  width: 100%;
}

.admin-collection-delete {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.admin-collection-delete summary {
  color: #ef9a9a;
  cursor: pointer;
  font-size: 13px;
}

.admin-collection-delete p {
  color: var(--muted);
  line-height: 1.45;
}

.admin-collection-delete p strong {
  color: var(--text);
}

.admin-collection-delete .admin-delete-confirm {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #553737;
  border-radius: 7px;
  background: rgba(70,25,25,.16);
}

.admin-delete-confirm input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #e87979;
}

.admin-delete-confirm span {
  min-width: 0;
}

@media (min-width: 1180px) {
  .admin-collection-editor-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .admin-collection-create-form,
  .admin-collection-editor-grid {
    grid-template-columns: 1fr;
  }

  .admin-collection-manager-heading {
    align-items: start;
    flex-direction: column;
  }

  .admin-collection-manager-heading p {
    text-align: left;
  }
}


/* WaifuDreams engagement upgrade — heart ratings + favorites */
.favorite-button.is-favorited {
  color: #ffd76a;
  border-color: rgba(255,215,106,.55);
  background: rgba(91,70,20,.28);
}

.heart-rating-form {
  margin-top: 10px;
}

.heart-rating {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 6px;
  margin: 8px 0 6px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #0b0f0d;
}

.heart-rating legend {
  padding: 0 6px;
  color: var(--muted);
  font-size: 12px;
}

.heart-rating input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.heart-rating label {
  cursor: pointer;
  color: #3e4742;
  font-size: clamp(30px,4vw,42px);
  line-height: 1;
  transition: color .12s ease, transform .12s ease;
}

.heart-rating label:hover,
.heart-rating label:hover ~ label,
.heart-rating input:checked ~ label {
  color: #ff5577;
}

.heart-rating label:hover {
  transform: translateY(-2px) scale(1.05);
}

.heart-rating input:focus-visible + label {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: 4px;
}


/* Gallery row-major ranking layout
   Artwork now follows document/ranking order:
   1 2 3 4
   5 6 7 8
*/
.grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  columns: unset;
  column-gap: unset;
  align-items: start;
}

.grid > .card {
  display: block;
  width: 100%;
  margin: 0;
  break-inside: auto;
  min-width: 0;
}

/* Tablet */
@media (max-width: 1100px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Small tablet */
@media (max-width: 800px) {
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Phone */
@media (max-width: 600px) {
  .grid {
    grid-template-columns: 1fr;
  }
}

/* === Uniform gallery preview crop === */
/*
   Public Gallery + Collection cards only.
   The original artwork, detail page and slideshow remain uncropped.
*/
.card-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #050706;
}

.card-image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
/* === End uniform gallery preview crop === */

/* WaifuDreams profiles + engagement phase 2 */
.profile-account,.public-profile{max-width:980px;margin-inline:auto}.profile-head{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.profile-avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex:0 0 auto}.profile-avatar-fallback{display:grid;place-items:center;font-size:42px;font-weight:700;background:var(--surface)}.profile-stats{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0;color:var(--muted)}.profile-section{margin-top:30px}.profile-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.profile-bio{white-space:pre-wrap}.button-link{display:inline-block;padding:8px 13px;border:1px solid var(--border);border-radius:999px;text-decoration:none}.profile-favorites{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:14px}.profile-favorites a{text-decoration:none}.profile-favorites img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}.profile-favorites span{display:block;margin-top:6px}.profile-comment{padding:12px 0;border-bottom:1px solid var(--border)}.check-row{display:flex;gap:9px;align-items:center}.check-row input{width:auto}.profile-account label{display:block;margin:12px 0}.profile-account textarea{min-height:130px}@media(max-width:600px){.profile-avatar{width:88px;height:88px}.profile-favorites{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Phase 2.1 — Favorites library */
.favorites-library{max-width:1500px;margin:0 auto;padding:0 18px 40px}.favorites-library-head{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin:18px 0}.favorites-library-head h1{margin:.15em 0}.favorites-play{font-size:1.05rem}.favorites-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;margin-bottom:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.favorites-filters label{display:grid;gap:5px;min-width:150px}.favorites-filters select{width:100%}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.favorite-tile{position:relative;display:block;overflow:hidden;border-radius:9px;background:var(--surface);text-decoration:none;aspect-ratio:4/5}.favorite-tile img{width:100%;height:100%;display:block;object-fit:cover}.favorite-tile span{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;font-size:.86rem;opacity:0;transition:opacity .15s}.favorite-tile:hover span,.favorite-tile:focus span{opacity:1}.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-badge{display:inline-block;padding:5px 9px;border:1px solid var(--border);border-radius:999px}@media(max-width:600px){.favorites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.favorite-tile span{display:none}.favorites-filters{align-items:stretch}.favorites-filters label{flex:1 1 120px;min-width:0}}

/* WaifuDreams admin users v1 */

.admin-user-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.admin-user-metrics article{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.admin-user-metrics span{display:block;color:var(--muted);font-size:11px}.admin-user-metrics strong{display:block;margin-top:8px;color:var(--green);font:700 27px ui-monospace,SFMono-Regular,Menlo,monospace}.admin-user-search{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:9px;margin-bottom:14px}.admin-user-search input,.admin-user-search select,.admin-user-search button{min-height:42px;border:1px solid var(--border-bright);border-radius:7px;background:#0b0f0d;color:var(--text);padding:9px 11px}.admin-user-search button{color:var(--green);font-weight:700}.admin-users-list{padding:0;overflow:hidden}.admin-user-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text)}.admin-user-row:last-child{border-bottom:0}.admin-user-row:hover{background:rgba(98,245,154,.035)}.admin-user-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#111814;border:1px solid var(--border-bright);display:grid;place-items:center;color:var(--green);font-weight:800}.admin-user-avatar.large{width:76px;height:76px;font-size:24px}.admin-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-user-main{min-width:0}.admin-user-main strong,.admin-user-main small{display:block}.admin-user-main small{color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis}.admin-user-counts,.admin-user-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-user-counts{color:var(--muted);font-size:12px}.admin-user-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.admin-user-profile-card{padding:20px}.admin-user-profile-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.admin-user-profile-head h2,.admin-user-profile-head p{margin:0}.admin-user-profile-head p{color:var(--muted);margin-top:4px}.admin-user-facts{margin:0}.admin-user-facts div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.admin-user-facts dt{color:var(--muted)}.admin-user-facts dd{margin:0;overflow-wrap:anywhere}.admin-user-bio{color:var(--muted);line-height:1.6;white-space:pre-wrap}.admin-user-activity article,.admin-user-mini-list a{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid var(--border)}.admin-user-activity article:last-child,.admin-user-mini-list a:last-child{border-bottom:0}.admin-user-activity time,.admin-user-activity small,.admin-user-mini-list small{color:var(--muted);font-size:11px}.admin-user-subhead{margin-top:22px}@media(max-width:760px){.admin-user-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-search{grid-template-columns:1fr}.admin-user-row{grid-template-columns:46px minmax(0,1fr)}.admin-user-counts,.admin-user-badges{grid-column:2}.admin-user-detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.admin-user-metrics{grid-template-columns:1fr 1fr}.admin-user-facts div{grid-template-columns:1fr;gap:3px}}


:root{--bg:#070611;--surface:#0e0b1b;--surface-2:#151027;--panel:#100c20;--border:#2a2144;--border-bright:#59418c;--text:#f7f2ff;--muted:#aaa0bd;--green:#d66cff;--green-dim:#8c45c9;--wd-pink:#ff4fc8;--wd-violet:#a968ff;--wd-cyan:#54d8ff}
html{background:var(--bg)}
body{background:radial-gradient(circle at 14% -10%,rgba(255,79,200,.12),transparent 34%),radial-gradient(circle at 82% 0%,rgba(84,216,255,.08),transparent 28%),linear-gradient(rgba(169,104,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(169,104,255,.025) 1px,transparent 1px),var(--bg);background-size:auto,auto,34px 34px,34px 34px,auto}
.site-header{max-width:none;padding:0;border-bottom:1px solid rgba(169,104,255,.2);background:rgba(7,6,17,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header::before{display:none;content:none}.site-header-inner{max-width:1380px;min-height:92px;margin:auto;padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:max-content;letter-spacing:0;line-height:1}.brand::after{display:none;content:none}
.brand-mark{width:54px;height:54px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,79,200,.58);box-shadow:0 0 18px rgba(255,79,200,.2),0 0 28px rgba(84,216,255,.08)}
.brand-copy{display:grid;gap:6px}.brand-copy strong{font-size:clamp(22px,2.6vw,34px);letter-spacing:-1.1px;background:linear-gradient(90deg,#fff,#f4b8ff 40%,#ff63cf 72%,#8edfff);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-copy small{color:#968baa;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.65px}
.jordan-nav{position:static;display:flex;align-items:center;justify-content:flex-end;gap:22px;font:650 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.1px}.nav-primary,.nav-account{display:flex;align-items:center;gap:8px}
.jordan-nav a,.nav-logout-link{padding:9px 13px;border:1px solid transparent;border-radius:10px;color:#c8bfd7;background:transparent}.jordan-nav a:hover,.nav-logout-link:hover{color:#fff;border-color:rgba(169,104,255,.48);background:rgba(169,104,255,.09)}.nav-account{padding-left:14px;border-left:1px solid var(--border)}.mobile-nav{display:none}
main{padding-top:30px}.pills{gap:8px;padding:8px;border:1px solid rgba(169,104,255,.18);border-radius:14px;background:rgba(14,11,27,.6)}.pills a,.rating,.pick,.button-link,.profile-badge{border-color:#49356f;background:rgba(18,13,36,.88);border-radius:9px}.pills a{color:#c7b8dd;padding:8px 12px}.pills a:hover{color:#fff;border-color:var(--wd-violet);background:rgba(169,104,255,.12);box-shadow:0 0 14px rgba(169,104,255,.12)}.pills a.active{color:#fff;border-color:#d26bff;background:linear-gradient(180deg,rgba(210,107,255,.2),rgba(111,76,255,.1));box-shadow:0 0 20px rgba(169,104,255,.14)}.pill-divider{background:#32254e}
.rating.everyone,.rating.teen,.rating.adult{color:#d9c8f3;border-color:#49356f}.rating.adult{color:#f1b8e8}
.card,.panel,.collection-card,.favorites-filters,.admin-artwork-card{background:linear-gradient(180deg,rgba(18,14,34,.96),rgba(12,9,24,.98));border-color:#281f40}.card:hover,.collection-card:hover{border-color:#7250a8;box-shadow:0 16px 46px rgba(0,0,0,.34),0 0 22px rgba(169,104,255,.08)}.card img,.detail>img{background:#06050c}.pad{border-top-color:#281f40}.stats{color:#8e84a0}.eyebrow,.back:hover,.analytics-table a{color:var(--wd-violet)}
input,textarea,select,button{background:#0d091a;border-color:#392a5b}input:focus,textarea:focus,select:focus{border-color:var(--wd-violet);box-shadow:0 0 0 3px rgba(169,104,255,.1)}button{color:#ead9ff;background:linear-gradient(180deg,#20143a,#160f2a)}button:hover{background:linear-gradient(180deg,#2a194a,#1c1234);border-color:#7651ad}button.primary,.admin-manager-toolbar button.primary{color:#fff;background:linear-gradient(135deg,#a94cff,#ff4fc8);border-color:#c45cff}
.heart-rating label:hover,.heart-rating label:hover~label,.heart-rating input:checked~label{color:#ff58c8;text-shadow:0 0 12px rgba(255,88,200,.4)}.flash,.empty{background:rgba(21,16,39,.86);border-color:#342650}.empty::before{color:var(--wd-pink)}
.site-footer{max-width:1380px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#746a84;border-top-color:#241b39;font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}.site-footer strong{color:#a99eb8}.site-footer nav{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.site-footer a{color:#8f839f}.site-footer a:hover{color:#d9b8ff}.site-footer .footer-admin{color:#62596f}.footer-admin-form{display:inline-flex;margin:0}.footer-admin-form button{width:auto;margin:0;padding:0;border:0;background:none;color:#62596f;font:inherit}
@media(max-width:820px){.site-header-inner{min-height:74px;padding:11px 16px}.brand-mark{width:46px;height:46px}.brand-copy strong{font-size:24px}.brand-copy small{font-size:7.5px;letter-spacing:1.15px}.jordan-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav>summary{list-style:none;cursor:pointer;padding:9px 12px;border:1px solid #513776;border-radius:10px;color:#e4d5f6;background:rgba(22,15,41,.92);font-size:12px;font-weight:700}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-nav-panel{position:absolute;z-index:100;top:48px;right:0;width:min(78vw,260px);display:grid;gap:5px;padding:10px;border:1px solid #49336d;border-radius:13px;background:rgba(11,7,22,.98);box-shadow:0 20px 60px rgba(0,0,0,.48)}.mobile-nav-panel a,.mobile-nav-panel .nav-logout-link{display:block;width:100%;margin:0;padding:11px 12px;border:1px solid transparent;border-radius:9px;color:#d8cce7;text-align:left}.mobile-nav-panel form{margin:0}main{padding:18px 12px 56px}.filter-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pills a{flex:0 0 auto;white-space:nowrap}.site-footer{align-items:flex-start;flex-direction:column;padding:22px 16px}}
@media(max-width:480px){.brand-copy small{display:none}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:22px}.pills{padding:6px;border-radius:12px}.pills a{padding:8px 10px;font-size:11px}.section-heading h1{font-size:26px}}

/* WaifuDreams: keep expanded mobile navigation above gallery content */
@media (max-width: 820px) {
  .site-header {
    position: relative;
    z-index: 500;
  }

  .site-header-inner {
    position: relative;
    z-index: 501;
  }

  .mobile-nav {
    position: relative;
    z-index: 502;
  }

  .mobile-nav-panel {
    z-index: 503;
  }
}

/* WaifuDreams Contact Inbox v2 */
.contact-bot-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.admin-v2-nav a{display:inline-flex;align-items:center;gap:6px}.admin-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--green-dim);border-radius:999px;color:var(--green);background:rgba(98,245,154,.09);font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}
.admin-message-card{margin:0;padding:18px!important;border:1px solid var(--border)!important;border-radius:8px;background:rgba(255,255,255,.012)}.admin-message-card+.admin-message-card{margin-top:12px}.admin-message-card.is-unread{border-color:var(--green-dim)!important;background:rgba(98,245,154,.035)}
.admin-message-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-message-title{min-width:0}.admin-message-title>strong{font-size:16px;line-height:1.35}.admin-message-meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:7px;color:var(--muted);font-size:11px}.admin-message-meta a{color:var(--green)}
.admin-message-body{margin:15px 0;padding:13px 14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;background:rgba(0,0,0,.16);border:1px solid var(--border);border-radius:7px}.admin-message-actions{flex-wrap:wrap}.admin-message-actions>a,.admin-message-actions button{min-height:38px}
@media(max-width:700px){.admin-message-heading{flex-direction:column}.admin-message-actions{align-items:stretch}.admin-message-actions>a,.admin-message-actions form,.admin-message-actions button{width:100%}}

/* Analytics trends v1 — CSP-safe SVG charts */
.analytics-summary-note{margin-top:-2px;margin-bottom:20px}
.analytics-trends-panel{margin:22px 0 26px;overflow:hidden}
.analytics-trends-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}
.analytics-trends-header h2{margin:3px 0 5px}
.analytics-trends-header p{margin:0;max-width:650px}
.analytics-range-controls,.analytics-series-toggles{display:flex;flex-wrap:wrap;gap:7px}
.analytics-range-controls{justify-content:flex-end}
.analytics-range-controls button,.analytics-series-toggles button{width:auto;min-height:34px;padding:7px 10px;border:1px solid #3a2a59;border-radius:999px;background:#100b1d;color:#a99abf;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.analytics-range-controls button:hover,.analytics-series-toggles button:hover{border-color:#8f63c9;color:#e7d7ff}
.analytics-range-controls button.active,.analytics-range-controls button[aria-pressed="true"]{border-color:#a968ff;background:rgba(169,104,255,.15);color:#e9d7ff;box-shadow:0 0 18px rgba(169,104,255,.12)}
.analytics-series-toggles button.active{color:#eee5ff;background:rgba(169,104,255,.09)}
.analytics-series-toggles button:not(.active){opacity:.48}
.analytics-chart-status{min-height:18px;margin:0 0 8px;color:#887a9c;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart-grid{display:grid;grid-template-columns:1fr;gap:18px}
.analytics-chart-card{min-width:0;padding:16px;border:1px solid #2f2446;border-radius:10px;background:linear-gradient(180deg,rgba(14,10,26,.92),rgba(8,6,16,.98))}
.analytics-chart-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}
.analytics-chart-heading h3{margin:0 0 4px}
.analytics-chart-heading p{margin:0;color:#8e84a0;font-size:11px}
.analytics-chart-legend{display:flex;flex-wrap:wrap;gap:11px;justify-content:flex-end;color:#a99abf;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart-legend span::before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;vertical-align:-1px;background:#a968ff}
.analytics-chart-legend .legend-average::before{background:#6ee7d8}
.analytics-svg-wrap{width:100%;overflow:hidden;border-top:1px solid #211932;padding-top:8px}
.analytics-chart{display:block;width:100%;height:auto;min-height:250px;touch-action:pan-y}
.analytics-chart .grid-line{stroke:#2a213a;stroke-width:1}
.analytics-chart .axis-label{fill:#7e728f;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart .series-visitors{fill:none;stroke:#a968ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart .series-average{fill:none;stroke:#6ee7d8;stroke-width:2;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart .series-human{fill:none;stroke:#a968ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart .series-artwork{fill:none;stroke:#6ee7d8;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart .series-bots{fill:none;stroke:#f3a95f;stroke-width:2;stroke-dasharray:5 5;stroke-linecap:round;stroke-linejoin:round}
.analytics-chart .focus-line{stroke:#65557b;stroke-width:1;stroke-dasharray:3 4}
.analytics-chart .focus-dot{stroke:#090611;stroke-width:2}
.analytics-chart .focus-dot.visitors,.analytics-chart .focus-dot.human_views{fill:#a968ff}
.analytics-chart .focus-dot.visitor_average_7,.analytics-chart .focus-dot.artwork_views{fill:#6ee7d8}
.analytics-chart .focus-dot.bot_views{fill:#f3a95f}
.analytics-chart .tooltip-box{fill:#100b1d;stroke:#5b427d;stroke-width:1}
.analytics-chart .tooltip-title{fill:#f0e8fb;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart .tooltip-text{fill:#b7a9c8;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart .empty-text{fill:#887a9c;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}
.analytics-chart .hit-area{fill:transparent;pointer-events:all}

@media (max-width:760px){
  .analytics-trends-header,.analytics-chart-heading{display:block}
  .analytics-range-controls{justify-content:flex-start;margin-top:12px}
  .analytics-chart-legend,.analytics-series-toggles{justify-content:flex-start;margin-top:10px}
  .analytics-range-controls button{flex:1 1 calc(33.333% - 7px)}
  .analytics-chart-card{padding:12px}
}

/* WaifuDreams SEO/social collection refresh v1 */
.footer-brand { flex: 0 0 auto; }
.footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
}
.site-footer .footer-social { gap: 8px; }
.site-footer .footer-social a,
.social-link-list a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid rgba(169,104,255,.24);
  border-radius: 999px;
  background: rgba(169,104,255,.045);
  color: #aa9aba;
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.site-footer .footer-social a:hover,
.social-link-list a:hover {
  color: #e4ccff;
  border-color: rgba(169,104,255,.6);
  background: rgba(169,104,255,.09);
}
.social-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 24px;
}
.breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 16px;
  color: #776b89;
  font-size: 12px;
}
.breadcrumbs a { color: #9d8cb3; text-decoration: none; }
.breadcrumbs a:hover { color: #d9b8ff; }
@media(max-width:820px) {
  .footer-links { width: 100%; align-items: flex-start; }
  .site-footer .footer-social { gap: 7px; }
}

/* SEO Watchdog v1 */
.seo-watchdog-run-form{margin:0}.seo-watchdog-run{appearance:none;-webkit-appearance:none;background:rgba(169,104,255,.08);cursor:pointer}.seo-watchdog-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:14px;padding:22px}.seo-watchdog-hero h2{margin:10px 0 6px;font-size:clamp(22px,3.5vw,34px);letter-spacing:-.8px}.seo-watchdog-hero p,.seo-watchdog-check p,.seo-watchdog-note p{color:var(--muted);line-height:1.6}.seo-watchdog-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.seo-watchdog-summary article,.seo-watchdog-catalog article{padding:13px 14px;border:1px solid var(--border);border-radius:8px;background:rgba(10,7,20,.58)}.seo-watchdog-summary span,.seo-watchdog-catalog span{display:block;color:var(--muted);font-size:10px}.seo-watchdog-summary strong,.seo-watchdog-catalog strong{display:block;margin-top:6px;color:var(--wd-violet);font:700 22px ui-monospace,SFMono-Regular,Menlo,monospace}.seo-watchdog-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px}.seo-watchdog-state{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border:1px solid #4d3a70;border-radius:5px;background:rgba(169,104,255,.055);color:#d7bfff;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.8px;white-space:nowrap}.seo-watchdog-state.attention{border-color:#75528b;color:#edc7ff;background:rgba(214,108,255,.07)}.seo-watchdog-state.error{border-color:#71415f;color:#ffb9df;background:rgba(255,79,200,.07)}.seo-watchdog-checks{display:grid;gap:16px}.seo-watchdog-section{padding:0;overflow:hidden}.seo-watchdog-section-heading{padding:14px 17px;border-bottom:1px solid var(--border);background:rgba(169,104,255,.035)}.seo-watchdog-check{padding:16px 17px;border-top:1px solid var(--border)}.seo-watchdog-section-heading+.seo-watchdog-check{border-top:0}.seo-watchdog-check.attention{box-shadow:inset 3px 0 0 rgba(214,108,255,.45)}.seo-watchdog-check.error{box-shadow:inset 3px 0 0 rgba(255,79,200,.55)}.seo-watchdog-check-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.seo-watchdog-check h3{margin:2px 0 0;font-size:16px}.seo-watchdog-check p{margin:7px 0 0;font-size:13px}.seo-watchdog-samples{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.seo-watchdog-samples code{max-width:100%;padding:4px 7px;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--border);border-radius:5px;color:#c9b7e2;background:#090612;font-size:10px}.seo-watchdog-note{margin-top:18px}.seo-watchdog-note p{margin:10px 0 0}.seo-watchdog-note strong{color:var(--text)}
@media(max-width:820px){.seo-watchdog-hero{align-items:flex-start;flex-direction:column}.seo-watchdog-summary{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.seo-watchdog-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-watchdog-check-topline{gap:10px}.seo-watchdog-state{font-size:8px}}
@media(max-width:480px){.seo-watchdog-summary{grid-template-columns:1fr}.seo-watchdog-catalog{grid-template-columns:1fr}.seo-watchdog-check-topline{align-items:flex-start;flex-direction:column}}

    
/* WD_SIGNUP_PROTECTION_V1_1 */
.wd-signup-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* U9A: public artwork sharing */
.share-controls{margin:18px 0 22px;padding:14px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
.share-label{display:block;margin-bottom:9px;font-size:12px;font-weight:700;letter-spacing:.04em;opacity:.78}
.share-actions{display:flex;flex-wrap:wrap;gap:8px}
.share-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:13px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}
.share-action:hover,.share-action:focus-visible{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.share-status{display:block;min-height:18px;margin-top:8px;font-size:12px;opacity:.78}

/* More Dreams cross-brand footer v1 */
.footer-more-dreams{display:grid;gap:3px;margin-top:10px;max-width:390px;line-height:1.35}
.footer-more-label{color:#746a84;font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.site-footer .footer-laifu-link{width:fit-content;color:#c7a6ef;font-size:12px;font-weight:700;text-decoration:none}
.site-footer .footer-laifu-link:hover{color:#eadcff}
.footer-laifu-copy{color:#746a84;font-size:10px}
@media(max-width:820px){.footer-more-dreams{max-width:100%}}


/* Always-visible audience links and grouped gallery controls. */
.audience-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:600px;margin:0 auto;padding:0 26px 14px}
.audience-nav a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:9px 8px;border:1px solid #49356f;border-radius:10px;background:rgba(18,13,36,.88);color:#c7b8dd;text-decoration:none;font-size:14px;font-weight:650}
.audience-nav a:hover,.audience-nav a:focus-visible{color:#fff;border-color:#a968ff;background:rgba(169,104,255,.12)}
.audience-nav a.active{color:#fff;border-color:#d26bff;background:linear-gradient(180deg,rgba(210,107,255,.2),rgba(111,76,255,.1))}
.audience-age{font-size:10px;color:#e7b0f1}
.gallery-controls{display:grid;gap:12px;overflow:visible}
.gallery-view-controls,.legacy-rating-controls,.gallery-sort-controls{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.gallery-sort-controls{padding-top:12px;border-top:1px solid #32254e}
@media(max-width:820px){
  .audience-nav{padding:0 16px 14px;gap:8px}
  .gallery-controls.filter-pills{display:grid;overflow:visible;white-space:normal;padding:12px;gap:12px}
  .gallery-view-controls,.gallery-sort-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gallery-controls a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 7px;white-space:normal;text-align:center;font-size:12px;line-height:1.3;min-width:0}
  .gallery-sort-controls a:last-child{grid-column:1 / -1}
  .legacy-rating-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:480px){
  .site-header-inner{gap:10px;padding-left:12px;padding-right:12px}
  .site-header-inner .brand{min-width:0;gap:8px}
  .brand-mark{width:36px;height:36px;flex-shrink:0}
  .brand-copy strong{font-size:clamp(16px,4.8vw,22px);white-space:nowrap}
  .mobile-nav{flex-shrink:0}
}

/* Native checkbox toggles keep mixed surprise choices accessible without JS. */
.surprise-ratings{border:0;padding:0;margin:0;min-width:0}
.surprise-ratings legend{padding:0;margin-bottom:8px;font-size:12px;font-weight:650;color:var(--muted)}
.surprise-rating-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:600px}
.surprise-toggle{--toggle-off-bg:#10281e;--toggle-off-border:#24503e;--toggle-off-text:#8aaa98;--toggle-on-bg:#194a32;--toggle-on-border:#70e5a6;--toggle-on-text:#b3ffd3;position:relative;display:block;margin:0;cursor:pointer;min-width:0}
.surprise-toggle input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0}
.surprise-toggle>span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:9px 6px;border:1px solid var(--toggle-off-border);border-radius:10px;background:var(--toggle-off-bg);color:var(--toggle-off-text);font-size:13px;font-weight:650;text-align:center}
.surprise-toggle input:checked+span{border-color:var(--toggle-on-border);background:var(--toggle-on-bg);color:var(--toggle-on-text);box-shadow:inset 0 0 0 1px var(--toggle-on-border)}
.surprise-toggle input:focus-visible+span{outline:3px solid var(--toggle-on-text);outline-offset:3px}
.surprise-check::before{content:'○';font-size:12px}
.surprise-toggle input:checked+span .surprise-check::before{content:'✓'}
.surprise-note{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.surprise-submit,.gallery-controls .surprise-submit{min-height:44px;padding:10px 12px;border:1px solid #b77aff;border-radius:9px;background:linear-gradient(135deg,#382054,#4c2045);color:#f4dcff;font-size:13px;font-weight:650;cursor:pointer;margin:0;width:auto}
.surprise-submit:hover{background:linear-gradient(135deg,#4c2b70,#682d5d);border-color:#ff8ed9}
.art-surprise-form{display:grid;gap:12px;max-width:600px;margin:16px 0 24px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.art-surprise-form .surprise-submit{justify-self:start}
@media(max-width:820px){
  .gallery-sort-controls .surprise-submit:last-child{grid-column:auto;font-size:12px}
  .surprise-toggle>span{font-size:12px;padding:9px 4px}
}

/* Rating accents match the WaifuDreams mint, cyan and pink palette. */
.surprise-toggle--teen{--toggle-off-bg:#10232d;--toggle-off-border:#254957;--toggle-off-text:#8ba7b3;--toggle-on-bg:#123e50;--toggle-on-border:#54d8ff;--toggle-on-text:#b8eeff}
.surprise-toggle--adult{--toggle-off-bg:#291325;--toggle-off-border:#55304f;--toggle-off-text:#b391ad;--toggle-on-bg:#4d1b43;--toggle-on-border:#ff70ce;--toggle-on-text:#ffd0ef}
