/* DramaMov Laravel-only compatibility layer. Keep this small; proven ShortDrama CSS remains canonical. */
.dm-theme-toggle {
  position: fixed;
  z-index: 70;
  top: calc(env(safe-area-inset-top) + 10px);
  right: max(12px, env(safe-area-inset-right));
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--sd-line);
  border-radius: 999px;
  background: var(--sd-theme-control-bg);
  color: var(--sd-text-soft);
  cursor: pointer;
  backdrop-filter: blur(18px);
}
.dm-theme-toggle svg { width: 17px; height: 17px; }
.sd-brand-mark.has-image { overflow: hidden; background: transparent; }
.sd-brand-mark.has-image img { width: 100%; height: 100%; object-fit: cover; }
.dm-poster-img { width: 100%; height: 100%; display: block; object-fit: cover; }
.dm-image-fallback { width: 100%; height: 100%; display: grid; place-items: center; font-weight: 950; }
.dm-stage-note {
  display: grid;
  gap: 8px;
  max-width: 620px;
  margin: 18px auto;
  padding: 16px 18px;
  border: 1px solid var(--sd-line);
  border-radius: 16px;
  background: var(--sd-panel);
  color: var(--sd-muted);
  font-size: 12px;
  line-height: 1.6;
}
.dm-stage-note strong { color: var(--sd-text); }
.dm-stage-note a { color: var(--sd-accent); font-weight: 800; }
.dm-browse-form { position: relative; }
.dm-browse-form select { cursor: pointer; }
.dm-filter-actions { display: flex; gap: 8px; align-items: center; }
.dm-filter-actions .consumer-filter-reset { flex: 1; }
.dm-hidden { display: none !important; }
.dm-pagination-link {
  display: inline-flex;
  min-width: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sd-line);
  border-radius: 999px;
  color: var(--sd-muted-strong);
  font-size: 11px;
  font-weight: 800;
}
.dm-pagination-link.is-active { color: var(--sd-accent); border-color: rgb(var(--sd-accent-rgb) / .35); background: var(--sd-accent-soft); }
.dm-pagination-link.is-disabled { opacity: .35; pointer-events: none; }
.dm-ranking-panel[hidden] { display: none !important; }
.dm-profile-guest { max-width: 680px; margin: 40px auto; }
.dm-profile-guest h1 { margin: 8px 0; font-size: clamp(36px, 6vw, 64px); letter-spacing: -.05em; }
.dm-profile-guest p { color: var(--sd-muted); line-height: 1.65; }
.dm-reels-preview {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px 18px 88px;
  background: #000;
}
.dm-reels-phone {
  position: relative;
  width: min(430px, 100%);
  min-height: min(78dvh, 760px);
  overflow: hidden;
  border-radius: 22px;
  background: #0b0b0d;
  box-shadow: 0 30px 90px rgba(0,0,0,.5);
}
.dm-reels-phone img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .52; }
.dm-reels-phone::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.96), rgba(0,0,0,.08) 58%, rgba(0,0,0,.28)); }
.dm-reels-copy { position:absolute; z-index:2; left:18px; right:70px; bottom:22px; color:#fff; }
.dm-reels-copy span { color:#9abfff; font-size:10px; font-weight:900; letter-spacing:.14em; }
.dm-reels-copy h1 { margin:7px 0; font-size:25px; letter-spacing:-.04em; }
.dm-reels-copy p { margin:0; color:#c6c6cb; font-size:11px; line-height:1.55; }
.dm-reels-copy .sd-button { margin-top:14px; }
.dm-inline-meta { color: var(--sd-muted); font-size: 10px; }
.dm-detail-error { max-width: 760px; margin: 80px auto; }
@media (min-width: 900px) {
  .dm-theme-toggle { top: 18px; right: 22px; }
}
