:root {
  --bg: #0a192f;
  --panel: #112240;
  --panel-2: #1b2a41;
  --text: #e6f1ff;
  --muted: #9fb3c8;
  --accent: #ffd166;
  --danger: #ff6b6b;
  --ok: #06d6a0;
  --border: rgba(255,255,255,0.08);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.navbar { position: sticky; top: 0; z-index: 20; background: rgba(10,25,47,.9); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); }
.navbar .container { display: flex; gap: 16px; align-items: center; min-height: 72px; }
.navbar-logo { display: flex; align-items: center; gap: 12px; font-weight: 700; min-width: 0; }
.navbar-logo-icon { min-width: 48px; width: auto; max-width: 140px; height: 40px; padding: 0; color: var(--accent); font-size: 26px; display: grid; place-items: center; overflow: hidden; flex-shrink: 0; }
.navbar-logo-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.navbar-categories, .navbar-actions { display: flex; gap: 8px; align-items: center; }
.navbar-search { margin-left: auto; display: flex; gap: 8px; }
.nav-category, .nav-action-btn, .search-btn, .btn, select, input, textarea { border: 1px solid var(--border); background: var(--panel); color: var(--text); border-radius: 12px; }
.nav-category, .nav-action-btn, .search-btn, .btn { cursor: pointer; }
.nav-category { padding: 10px 14px; }
.nav-category.active, .btn-primary { background: var(--accent); color: var(--bg); font-weight: 700; }
.nav-action-btn, .search-btn { width: 42px; height: 42px; }
.search-input, input, select, textarea { padding: 12px 14px; outline: none; }
input, select, textarea { width: 100%; }
.hero-section { position: relative; height: 60vh; min-height: 420px; max-height: 760px; overflow: hidden; border-bottom: 1px solid var(--border); }
.hero-slide { display: none; position: relative; width: 100%; height: 100%; }
.hero-slide.active { display: block; }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.9); }
.hero-overlay { display:none; }
.hero-content { display:none; }
.hero-poster { width: 220px; height: 310px; object-fit: cover; border-radius: 20px; border: 1px solid var(--border); }
.hero-title { font-size: 40px; margin: 0 0 12px; }
.hero-tag { display: inline-block; margin-bottom: 12px; padding: 6px 12px; border-radius: 999px; background: rgba(255,209,102,.16); color: var(--accent); }
.hero-thumbs, .hero-dots { display:none; }
.hero-thumbs { bottom: 50px; }
.hero-thumb img { width: 68px; height: 48px; object-fit: cover; border-radius: 10px; border: 2px solid transparent; }
.hero-thumb.active img { border-color: var(--accent); }
.hero-dots { bottom: 18px; }
.hero-dot { 
  width: 10px; 
  height: 10px; 
  min-width: 10px;
  border-radius: 50%; 
  background: rgba(255,255,255,.3);
  flex-shrink: 0;
}
.hero-dot.active { background: var(--accent); }
.movie-section, .recommend-section, .page-section { padding: 32px 0; }
.section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.section-title { margin: 0; }
.section-header-rich{align-items:flex-end;gap:16px}
.section-desc{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.7;max-width:720px}

.movie-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 18px; }
.movie-card, .recommend-card, .admin-card, .modal-content, .detail-card { background: var(--panel); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; }
.movie-card { cursor: pointer; }
.movie-cover-wrap { position: relative; }
.movie-cover { width: 100%; height: 260px; object-fit: cover; display: block; }
.movie-badge { position: absolute; right: 10px; bottom: 10px; background: rgba(10,25,47,.82); padding: 4px 10px; border-radius: 999px; font-size: 12px; }
.movie-info, .recommend-info { padding: 14px; }
.movie-title, .recommend-title { font-weight: 700; margin-bottom: 6px; }
.movie-meta, .recommend-meta { color: var(--muted); font-size: 14px; }
.recommend-scroll { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 16px; }
.recommend-card { display: flex; gap: 12px; align-items: center; padding: 12px; cursor: pointer; }
.recommend-cover { width: 72px; height: 96px; border-radius: 12px; object-fit: cover; }
.recommend-rank { 
  width: 28px; 
  height: 28px; 
  min-width: 28px;
  display: grid; 
  place-items: center; 
  border-radius: 50%; 
  background: var(--accent); 
  color: var(--bg); 
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}
.footer { border-top: 1px solid var(--border); padding: 30px 0; color: var(--muted); }
.disclaimer { line-height: 1.7; }
.modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.5); padding: 20px; z-index: 40; }
.modal.active { display: flex; }
.modal-content { width: 100%; max-width: 560px; }
.modal-header, .modal-footer { padding: 16px 18px; border-bottom: 1px solid var(--border); }
.modal-footer { border-top: 1px solid var(--border); border-bottom: 0; }
.modal-body { padding: 18px; }
.modal-header { display: flex; justify-content: space-between; align-items: center; }
.modal-close { 
  width: 36px; 
  height: 36px; 
  min-width: 36px;
  border-radius: 50%; 
  background: transparent; 
  border: 1px solid var(--border); 
  color: var(--text); 
  cursor: pointer;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}
.toast { position: fixed; right: 20px; top: 20px; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 12px 16px; transform: translateY(-10px); opacity: 0; transition: .2s; z-index: 50; }
.toast.active { opacity: 1; transform: translateY(0); }
.btn { padding: 10px 16px; display: inline-flex; align-items: center; gap: 8px; }
.btn-secondary { background: var(--panel-2); }
.btn-danger { background: var(--danger); color: #fff; }
.list-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); align-items: flex-start; min-width: 0; }
.list-item img { width: 60px; height: 84px; border-radius: 10px; object-fit: cover; flex: 0 0 60px; }
.list-item > div { min-width: 0; flex: 1 1 auto; }
.list-item > div > div:first-child { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
.detail-wrap { padding: 32px 0; }
.detail-card { display: grid; grid-template-columns: 280px 1fr; gap: 24px; padding: 24px; }
.detail-cover { width: 100%; height: 400px; object-fit: cover; border-radius: 18px; }
.detail-meta { color: var(--muted); display: flex; flex-wrap: wrap; gap: 12px; }
.admin-layout { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }
.admin-sidebar { border-right: 1px solid var(--border); background: var(--panel); padding: 20px; }
.admin-sidebar-logo { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.admin-sidebar-logo-icon { width: 40px; height: 40px; border-radius: 12px; background: var(--accent); color: var(--bg); display: grid; place-items: center; }
.admin-menu { display: flex; flex-direction: column; gap: 8px; }
.admin-menu-item { text-align: left; padding: 12px 14px; border-radius: 12px; background: transparent; border: 1px solid transparent; color: var(--text); cursor: pointer; }
.admin-main { padding: 24px; }
.admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.admin-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 20px; }
.admin-stat-card { background: var(--panel); border: 1px solid var(--border); border-radius: 18px; padding: 18px; }
.admin-stat-value { font-size: 30px; font-weight: 800; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { border-bottom: 1px solid var(--border); padding: 12px; text-align: left; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { margin-bottom: 14px; }
.qrcode-box { width: 240px; height: 240px; margin: 0 auto 12px; background: #fff; border-radius: 16px; display: grid; place-items: center; }
.qrcode-box img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 900px) {
  .navbar .container { flex-wrap: wrap; }
  .navbar-search { margin-left: 0; width: 100%; }
  .detail-card { grid-template-columns: 1fr; }
  .admin-layout { grid-template-columns: 1fr; }
  .admin-stats-grid, .form-row { grid-template-columns: 1fr; }
}

.movie-card:hover{transform:translateY(-6px);transition:.2s ease;box-shadow:0 16px 32px rgba(0,0,0,.22)}
.recommend-card:hover{transform:translateY(-4px);transition:.2s ease;}


.detail-card-polished{align-items:start;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01))}
.detail-main{display:grid;gap:14px}
.detail-topline{display:inline-flex;align-items:center;width:max-content;padding:6px 12px;border-radius:999px;background:rgba(255,209,102,.14);color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.detail-desc{margin:0;color:var(--muted);line-height:1.85}
.detail-actions-row{display:flex;gap:12px;flex-wrap:wrap}
.detail-tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}
.tip-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.02)}
.tip-title{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700;letter-spacing:.04em}
.tip-value{font-size:14px;line-height:1.6}
.qr-modal-shell{max-width:520px}
.qr-modal-body{display:grid;gap:16px}
.polished-qrcode-box{box-shadow:0 20px 40px rgba(0,0,0,.18)}
.qr-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qr-status-card{padding:14px;border-radius:16px;border:1px solid var(--border);background:var(--panel-2)}
.qr-status-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.qr-inline-tip{margin:0;color:var(--muted);text-align:center;line-height:1.7}
.qr-modal-actions{display:flex;justify-content:center}
.pan-helper-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.helper-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.05);font-size:12px;color:var(--muted)}
.helper-chip strong{color:var(--text);margin-left:6px}
@media (max-width:900px){.detail-tips-grid,.qr-status-grid{grid-template-columns:1fr}}

.empty-state-card{grid-column:1 / -1;padding:28px;border-radius:24px;border:1px dashed rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:var(--text);display:grid;gap:8px;min-height:140px;align-content:center}.empty-state-card strong{font-size:18px}.empty-state-card p{margin:0;color:var(--muted);line-height:1.8}.empty-state-card.soft{min-width:320px}
.navbar-categories{overflow:auto;scrollbar-width:none;max-width:42vw;padding-bottom:4px}
.navbar-categories::-webkit-scrollbar{display:none}
.nav-category{white-space:nowrap;transition:.2s ease}
.nav-category:hover,.btn:hover,.search-btn:hover,.nav-action-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.navbar-search .search-input{min-width:240px}
.hero-section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,47,0) 0%,rgba(10,25,47,.12) 55%,rgba(10,25,47,.34) 100%);pointer-events:none}
.empty-state-card{display:grid;place-items:center;gap:8px;padding:26px;border:1px dashed var(--border);border-radius:18px;background:rgba(255,255,255,.02);text-align:center;color:var(--muted);min-height:140px}
.empty-state-card strong,.empty-state-title{color:var(--text);font-size:18px}
.empty-state-card.soft{min-height:120px}
.detail-actions-row .btn{min-width:140px;justify-content:center}
.section-header a{color:var(--muted);font-weight:700}
.section-header a:hover{color:var(--text)}
@media (max-width:900px){.navbar-categories{max-width:100%}.navbar-search .search-input{min-width:0;width:100%}}


.trust-section{padding:22px 0 6px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-card{padding:18px 18px 16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));box-shadow:0 12px 28px rgba(0,0,0,.12)}
.trust-card strong{display:block;margin-bottom:8px;font-size:16px}
.trust-card span{display:block;color:var(--muted);line-height:1.8;font-size:14px}
.page-hero .btn{backdrop-filter:blur(8px)}
@media (max-width:900px){.trust-grid{grid-template-columns:1fr}}

.content-rail-section{padding:10px 0 28px}
.rail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rail-card{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));cursor:pointer;transition:.2s ease}
.rail-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.16)}
.rail-cover{width:120px;height:150px;border-radius:14px;object-fit:cover}
.rail-body{display:grid;align-content:center;gap:8px}
.rail-kicker{font-size:12px;color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rail-title{font-size:18px;font-weight:800;line-height:1.4}
.rail-meta{font-size:13px;color:var(--muted)}
.quick-tags{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 14px}
.quick-tag{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.quick-tag:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.12)}
.qr-loading-state{display:grid;place-items:center;gap:10px;padding:18px;text-align:center;color:#0A192F}
.qr-loading-state strong{font-size:16px;color:#0A192F}
.qr-loading-state span{font-size:13px;color:#405064;line-height:1.6}
.qr-spinner{width:36px;height:36px;min-width:36px;border:3px solid rgba(10,25,47,.15);border-top-color:#0A192F;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.rail-grid{grid-template-columns:1fr}.rail-card{grid-template-columns:96px 1fr}.rail-cover{width:96px;height:128px}}


.trust-headline{margin:0 0 14px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));color:var(--text);font-size:14px;line-height:1.8}
.qr-provider-note{padding:12px 14px;border-radius:14px;border:1px dashed var(--border);background:rgba(255,255,255,.03);color:var(--muted);text-align:center;line-height:1.7;font-size:13px}
.modal-subtitle{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}
.explore-filter-card{position:relative;background:rgba(17,34,64,.92);backdrop-filter:blur(10px)}
.quick-tags-label{display:inline-flex;align-items:center;color:var(--muted);font-size:13px;padding-right:2px}
.quick-tag.active{background:var(--accent);color:var(--bg);border-color:rgba(255,209,102,.65);font-weight:800}
@media (max-width:900px){.detail-actions-row{display:grid;grid-template-columns:1fr}.qr-modal-actions{display:grid;grid-template-columns:1fr;width:100%}.qr-modal-actions .btn{width:100%;justify-content:center}.trust-headline{font-size:13px}}


.trust-stat-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.trust-stat-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);font-size:13px}
.qr-steps-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025);display:grid;gap:12px}
.qr-steps-title{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--text)}
.qr-steps-list{display:grid;gap:10px}
.qr-step-item{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;color:var(--muted);font-size:13px;line-height:1.7}
.qr-step-item span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,209,102,.14);color:var(--accent);font-weight:800}
.qr-modal-actions .btn{min-width:200px;justify-content:center}
.explore-filter-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.explore-filter-note{font-size:13px;color:var(--muted);line-height:1.7}
@media (max-width:900px){.trust-stat-row{margin-top:-4px}.explore-filter-meta{align-items:flex-start}.qr-modal-actions .btn{min-width:0}}

.qr-disclaimer-inline{margin-top:6px;font-size:11px;line-height:1.7;color:rgba(204,214,246,.62);text-align:center;padding:0 8px}
.qr-modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}


.nav-link-btn{text-decoration:none}.movie-grid-wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}.collection-card-summary{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-banner-compact{padding:72px 0 32px}.page-banner-compact h1{font-size:40px;margin:8px 0 12px}.collection-hero .detail-card{align-items:start}.detail-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.detail-collection-block{margin:14px 0 18px}.detail-collection-links{display:flex;flex-wrap:wrap;gap:10px}.collection-link-chip{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text);text-decoration:none;border:1px solid rgba(255,255,255,.08)}.collection-link-chip:hover{border-color:var(--accent);transform:translateY(-1px)}.two-column-picker{display:grid;grid-template-columns:1fr 1fr;gap:18px}.picker-panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:16px}.picker-title{font-weight:700;margin-bottom:12px}.picker-list{display:flex;flex-direction:column;gap:10px;min-height:120px;max-height:360px;overflow:auto}.picker-item{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.03);cursor:pointer}.picker-item img{width:52px;height:72px;border-radius:10px;object-fit:cover}.picker-item-info{flex:1;display:flex;flex-direction:column;gap:6px}.picker-item-info span{font-size:12px;color:var(--muted)}.picker-item-actions{display:flex;gap:8px;flex-wrap:wrap}.table-media{display:flex;gap:12px;align-items:flex-start}.table-media img{width:56px;height:78px;border-radius:10px;object-fit:cover}.table-sub{font-size:12px;color:var(--muted);line-height:1.6;max-width:340px}.table-meta-chip{display:inline-flex;margin-top:8px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.04);font-size:12px;color:var(--muted)}@media (max-width:900px){.two-column-picker{grid-template-columns:1fr}.page-banner-compact h1{font-size:30px}}

.collections-filter-card{margin:12px 0 18px}.collections-filter-card .search-input{width:100%}.collection-card .movie-meta:last-child{margin-top:6px}.table-meta-chip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.compact-stats-grid{margin:18px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.compact-stats-grid .stat-card{padding:16px 18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}.compact-stats-grid .stat-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.compact-stats-grid .stat-value{display:block;font-size:22px;font-weight:800}.compact-stats-grid .stat-desc{display:block;font-size:12px;color:var(--muted);margin-top:8px;line-height:1.6}.detail-continue-links{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 2px}@media (max-width:900px){.compact-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.compact-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.hero-pill.subtle{opacity:.78}.hero-pill.removable{border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.hero-pill.removable span{font-weight:700;opacity:.8}.detail-breadcrumbs{margin-bottom:18px}

.collection-hero .detail-continue-links{margin:14px 0 0}.collection-hero .detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.collection-hero .detail-actions .btn{min-width:138px;text-align:center}.page-breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:13px}.page-breadcrumbs a{color:inherit;text-decoration:none}.page-breadcrumbs a:hover{color:var(--text)}


.qr-steps-hint{margin:6px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.detail-breadcrumbs a{color:inherit;text-decoration:none}.detail-breadcrumbs a:hover{text-decoration:underline}


.page-banner-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.page-breadcrumbs.compact{margin-bottom:14px}
.hero-pill.removable.selected{border-color:rgba(255,209,102,.35);background:rgba(255,209,102,.1);color:#ffe39a}
.selection-actions{display:flex;gap:10px;margin-left:auto}
@media (max-width:760px){.selection-bar{gap:10px}.selection-actions{margin-left:0;width:100%}.page-banner-actions{width:100%}.page-banner-actions .btn{flex:1 1 180px}}


.detail-context-strip{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}.detail-context-item{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:12px;color:var(--muted)}.collection-context-strip{margin-bottom:18px}.quick-actions .btn{white-space:nowrap}

/* UI refinement pass: hero, cards, banners, detail hierarchy */
body {
  background:
    radial-gradient(circle at top, rgba(255,209,102,.08), transparent 26%),
    linear-gradient(180deg, #081221 0%, #0b1730 38%, #0a192f 100%);
  min-height: 100vh;
}
.navbar {
  background: rgba(8,18,33,.74);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.navbar .container { min-height: 78px; }
.navbar-logo h1 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: .04em; }
  
.nav-category, .nav-action-btn, .search-btn, .btn, select, input, textarea {
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border-color: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.search-input, input, select, textarea {
  background: rgba(255,255,255,.035);
}
.hero-section {
  min-height: 540px;
  padding: 34px 0 0;
  border-bottom: none;
}
.hero-slide {
  border-radius: 0 0 32px 32px;
  overflow: hidden;
}
.hero-bg {
  filter: saturate(1.08) brightness(.58);
  transform: scale(1.02);
}
.hero-overlay {
  display: block;
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8,18,33,.92) 0%, rgba(8,18,33,.82) 34%, rgba(8,18,33,.38) 62%, rgba(8,18,33,.16) 100%),
    linear-gradient(180deg, rgba(8,18,33,.12) 0%, rgba(8,18,33,.62) 100%);
}
.hero-content {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) 240px;
  gap: 28px;
  align-items: end;
  position: absolute;
  left: 50%;
  bottom: 54px;
  transform: translateX(-50%);
  width: min(1200px, calc(100% - 40px));
  z-index: 2;
}
.hero-copy {
  display: grid;
  gap: 16px;
  align-content: end;
}
.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 0;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,209,102,.12);
  border: 1px solid rgba(255,209,102,.25);
  color: #ffe6a6;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
}
.hero-title {
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.08;
  letter-spacing: -.02em;
  margin: 0;
  max-width: 12ch;
}
.hero-description {
  max-width: 720px;
  margin: 0;
  color: rgba(230,241,255,.82);
  font-size: 15px;
  line-height: 1.9;
}
.hero-meta-row, .hero-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-pill {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font-size: 13px;
  line-height: 1;
  backdrop-filter: blur(10px);
}
.hero-sidecard {
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: 0 22px 54px rgba(0,0,0,.26);
  backdrop-filter: blur(16px);
}
.hero-poster {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 16px 42px rgba(0,0,0,.24);
}
.hero-side-meta {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  color: rgba(230,241,255,.78);
  font-size: 13px;
  line-height: 1.7;
}
.hero-side-meta strong { color: var(--text); }
.trust-section { padding-top: 30px; }
.trust-headline,
.trust-card,
.rail-card,
.movie-card,
.recommend-card,
.detail-card,
.page-banner,
.collections-filter-card {
  box-shadow: 0 20px 50px rgba(0,0,0,.14);
}
.movie-card,
.recommend-card,
.rail-card,
.detail-card,
.collections-filter-card,
.tip-card,
.qr-status-card,
.qr-steps-card {
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.movie-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.movie-card:hover {
  transform: translateY(-6px);
  border-color: rgba(255,209,102,.2);
  box-shadow: 0 24px 54px rgba(0,0,0,.22);
}
.movie-cover-wrap {
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
}
.movie-cover {
  height: 270px;
}
.movie-info, .recommend-info {
  display: grid;
  gap: 8px;
  padding: 16px;
}
.movie-title, .recommend-title {
  font-size: 17px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.movie-subinfo {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  min-height: 40px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.movie-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.movie-meta-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.26);
}
.section-header-rich {
  align-items: end;
  padding-bottom: 4px;
}
.section-title {
  font-size: clamp(24px, 3vw, 32px);
  letter-spacing: -.02em;
}
.section-desc {
  font-size: 15px;
  max-width: 780px;
}
.page-banner,
.detail-section.collection-hero {
  position: relative;
  overflow: hidden;
}
.page-banner::before,
.detail-section.collection-hero::before,
.detail-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255,209,102,.08), transparent 34%);
  pointer-events: none;
}
.page-banner-compact {
  padding: 86px 0 40px;
}
.page-banner-compact .container,
.detail-wrap,
.detail-section.collection-hero .container {
  position: relative;
  z-index: 1;
}
.page-eyebrow,
.detail-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,209,102,.18);
  background: rgba(255,209,102,.08);
  margin-bottom: 14px;
  font-weight: 800;
}
.page-banner-compact p {
  max-width: 760px;
  color: rgba(230,241,255,.82);
  line-height: 1.9;
}
.collections-filter-card {
  border-radius: 24px;
  padding: 4px;
}
.detail-wrap {
  position: relative;
  padding-top: 28px;
}
.detail-card {
  gap: 28px;
  padding: 28px;
  border-radius: 28px;
}
.detail-cover {
  width: 100%;
  max-width: 300px;
  justify-self: center;
  border-radius: 22px;
  box-shadow: 0 22px 50px rgba(0,0,0,.22);
}
.detail-main {
  display: grid;
  gap: 14px;
  align-content: start;
}
.detail-title, #detailTitle {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.12;
  letter-spacing: -.02em;
}
.detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.meta-item,
.detail-meta > span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  font-size: 13px;
}
.detail-desc {
  color: rgba(230,241,255,.82);
  line-height: 1.9;
  font-size: 15px;
}
.detail-collection-block {
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}
.detail-context-strip {
  margin: 18px 0 0;
}
.detail-context-item {
  padding: 9px 14px;
  background: rgba(255,255,255,.055);
}
.detail-actions-row,
.collection-hero .detail-actions,
.page-banner-actions {
  gap: 12px;
}
.detail-actions-row .btn,
.collection-hero .detail-actions .btn,
.page-banner-actions .btn {
  min-height: 46px;
  border-radius: 14px;
}
.collection-link-chip {
  padding: 10px 16px;
  background: rgba(255,255,255,.055);
}
.collection-card-summary {
  min-height: 42px;
}
@media (max-width: 900px) {
  .hero-section {
    min-height: 640px;
  }
  .hero-content {
    grid-template-columns: 1fr;
    gap: 18px;
    bottom: 30px;
  }
  .hero-copy {
    order: 2;
  }
  .hero-sidecard {
    order: 1;
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 14px;
    align-items: center;
  }
  .hero-poster {
    height: 136px;
  }
  .hero-title { max-width: none; }
  .detail-card {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}
@media (max-width: 640px) {
  .hero-section {
    min-height: 700px;
    padding-top: 18px;
  }
  .hero-content {
    width: calc(100% - 28px);
  }
  .hero-title {
    font-size: 32px;
  }
  .page-banner-compact {
    padding: 74px 0 28px;
  }
  .movie-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
  }
  .movie-cover {
    height: 228px;
  }
}


/* UI refinement pass: collections and detail continuity */
.collections-shell,
.collection-movies-shell {
  padding-top: 14px;
}
.collections-section-header,
.collection-movies-header {
  margin-bottom: 20px;
}
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: rgba(230,241,255,.78);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.section-actions-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.polished-collection-card,
.collection-movie-card {
  overflow: hidden;
}
.polished-collection-card .movie-cover,
.collection-movie-card .movie-cover {
  height: 292px;
}
.collection-card-topline {
  color: var(--accent);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
}
.collection-meta-line {
  color: rgba(230,241,255,.7);
  font-size: 13px;
}
.collection-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.collection-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 2px;
  margin-top: auto;
}
.collection-card-footnote {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.collection-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.collection-card-cta {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,209,102,.34);
  background: linear-gradient(135deg, rgba(255,209,102,.2), rgba(255,209,102,.08));
  color: #fff4cf;
  box-shadow: 0 12px 28px rgba(255,209,102,.16);
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
}
.movie-card:hover .collection-card-cta,
.polished-collection-card:hover .collection-card-cta,
.collection-movie-card:hover .collection-card-cta {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(255,209,102,.24);
  border-color: rgba(255,209,102,.48);
  filter: brightness(1.03);
}
.collection-card-link i {
  font-size: 12px;
  color: var(--accent);
}
.collection-card-cta i {
  color: currentColor;
}
.collection-detail-card {
  position: relative;
}
.collection-detail-card::after {
  content: "";
  position: absolute;
  inset: auto 24px 24px auto;
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,209,102,.12), transparent 70%);
  pointer-events: none;
}
.collection-detail-card > div {
  position: relative;
  z-index: 1;
}
#collectionSectionDesc {
  max-width: 820px;
}
#collectionMoviesGrid.movie-grid-wide {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
#collectionMoviesEmpty,
#collectionsEmpty {
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px dashed rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  color: var(--muted);
}
@media (max-width: 900px) {
  .section-actions-pills,
  .collection-card-footer {
    width: 100%;
  }
  .collection-card-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .polished-collection-card .movie-cover,
  .collection-movie-card .movie-cover {
    height: 240px;
  }
}
@media (max-width: 640px) {
  .collections-section-header,
  .collection-movies-header {
    gap: 12px;
  }
  #collectionMoviesGrid.movie-grid-wide,
  .movie-grid-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .collection-card-link {
    white-space: normal;
  }
}

/* detail page refinement: stronger poster rail, summary card, CTA hierarchy */
.detail-visual-column{display:grid;gap:16px;align-content:start}
.detail-side-panel{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:0 18px 40px rgba(0,0,0,.16)}
.detail-side-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.detail-side-list{display:grid;gap:12px}
.detail-side-item{display:grid;gap:6px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}
.detail-side-item span{font-size:12px;color:var(--muted)}
.detail-side-item strong{font-size:14px;line-height:1.7;color:var(--text)}
.detail-meta{gap:10px}
.detail-meta span{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);font-size:13px;line-height:1.2}
.detail-summary-card{display:grid;gap:10px;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.detail-summary-card .summary-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.detail-summary-card .summary-text{color:rgba(230,241,255,.84);line-height:1.8;font-size:14px}
.detail-cta-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,209,102,.08),rgba(255,255,255,.03))}
.detail-cta-copy{display:grid;gap:6px}
.detail-cta-title{font-size:18px;font-weight:800;letter-spacing:-.01em}
.detail-cta-text{font-size:14px;line-height:1.7;color:var(--muted);max-width:520px}
.detail-actions-row{justify-content:flex-end}
.detail-collection-block{padding:16px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.detail-continue-links .collection-link-chip{background:rgba(255,255,255,.04)}
#detailTitle{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.02em;margin:0}
#detailDesc{max-width:820px}
.qr-modal-shell{border-radius:26px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.34)}
.modal-subtitle{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}
.qr-provider-note{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:var(--muted);line-height:1.7}
.qr-steps-card{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.06)}
.qr-steps-title{font-weight:800;font-size:15px;margin-bottom:2px}
.qr-step-item{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:flex-start;padding:8px 0;color:var(--muted)}
.qr-step-item span{width:28px;height:28px;min-width:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,209,102,.16);color:var(--accent);font-weight:800;flex-shrink:0}
.qr-disclaimer-inline{font-size:12px;color:var(--muted);line-height:1.8;text-align:center}
@media (max-width:900px){.detail-cta-panel{grid-template-columns:1fr}.detail-actions-row{justify-content:stretch}.detail-side-panel{order:2}.detail-cover{max-width:360px}.detail-summary-card{padding:14px 16px}}


/* UI refinement pass: empty states, banner notes, collection continuity */
.page-support-note{margin-top:16px;max-width:760px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));color:var(--muted);font-size:14px;line-height:1.8}
.page-support-note.compact{margin-top:18px;max-width:none}
.empty-state-card{border-style:dashed;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.empty-state-title,.empty-state-text{line-height:1.7}
#collectionMoviesEmpty,#collectionsEmpty{display:grid;place-items:center;text-align:center;gap:8px;min-height:152px}
.collection-movie-card .movie-subinfo,.polished-collection-card .movie-subinfo{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.collection-card-chips .hero-pill{font-size:12px}
.recommend-meta + .recommend-meta{margin-top:4px}
@media (max-width:640px){.page-support-note{font-size:13px;padding:12px 14px}}


body {
  background:
    radial-gradient(circle at top, rgba(86, 126, 255, 0.12), transparent 34%),
    linear-gradient(180deg, #081322 0%, #0a192f 45%, #0d1b2a 100%);
}

.btn, .nav-category, .nav-action-btn, .search-btn {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.btn:hover, .nav-category:hover, .nav-action-btn:hover, .search-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.btn-secondary:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
}
.btn-primary:hover {
  box-shadow: 0 14px 30px rgba(255,209,102,.22);
}
.section-kicker, .page-eyebrow, .detail-kicker {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,209,102,.12);
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-support-note, .modal-subtitle, .qr-provider-note, .qr-disclaimer-inline {
  color: var(--muted);
  line-height: 1.75;
}
.empty-state-card {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
  min-height: 180px;
  align-content: center;
  text-align: left;
}
.empty-state-card.soft {
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
}
.empty-state-card strong, .empty-state-title {
  font-size: 20px;
  line-height: 1.35;
}
.empty-state-card p, .empty-state-text {
  margin: 0;
  color: var(--muted);
  line-height: 1.8;
  max-width: 700px;
}
.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.empty-state-card .btn {
  width: max-content;
}
.movie-subinfo {
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
  min-height: 44px;
}
.movie-title, .recommend-title, .rail-title {
  line-height: 1.5;
}
.movie-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
}
.movie-meta-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  display: inline-block;
}

.detail-cta-note{font-size:13px;line-height:1.7;color:var(--muted);max-width:520px}
.qr-modal-actions .btn.is-disabled,.btn.is-disabled{pointer-events:none;opacity:.55;filter:grayscale(.2)}
.detail-actions-row #getResourceBtn{min-width:164px;justify-content:center;box-shadow:0 14px 32px rgba(255,209,102,.16)}
.movie-badge-round{
  position:absolute;
  right:10px;
  bottom:10px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  aspect-ratio:1/1;
  padding:0;
  border-radius:50%;
  background:rgba(10,25,47,.88);
  border:1px solid rgba(255,209,102,.24);
  color:var(--text);
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-align:center;
}


/* Round 2 refinement: homepage rhythm, hero unity, CTA hierarchy */
.hero-section::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(8,19,34,0) 0%, rgba(8,19,34,.82) 68%, rgba(8,19,34,1) 100%);
  pointer-events: none;
  z-index: 1;
}
.hero-slide::before {
  content: "";
  position: absolute;
  inset: 18px 18px 18px 18px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
  z-index: 1;
}
.hero-content {
  bottom: 42px;
}
.hero-copy {
  max-width: 760px;
}
.hero-meta-row {
  margin-top: -2px;
}
.hero-slide {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.hero-slide:hover .hero-bg,
.hero-slide:focus-visible .hero-bg {
  transform: scale(1.025);
}
.hero-slide:hover .hero-sidecard,
.hero-slide:focus-visible .hero-sidecard {
  transform: translateY(-4px);
  border-color: rgba(255,209,102,.28);
  box-shadow: 0 28px 64px rgba(0,0,0,.32);
}
.hero-slide:hover .hero-inline-link,
.hero-slide:focus-visible .hero-inline-link,
.hero-slide:hover .hero-side-link,
.hero-slide:focus-visible .hero-side-link {
  color: #ffe39a;
}
.hero-slide:focus-visible {
  outline: none;
}
.hero-slide:focus-visible::before {
  border-color: rgba(255,209,102,.35);
}
.hero-bg {
  transition: transform .45s ease;
}
.hero-sidecard {
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.hero-inline-link {
  margin-top: 16px;
  font-size: 13px;
  color: rgba(255,255,255,.76);
  letter-spacing: .02em;
}
.hero-side-link {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255,255,255,.76);
}
.hero-sidecard {
  min-height: 470px;
}
.hero-side-meta {
  gap: 10px;
}
.trust-section {
  padding: 24px 0 10px;
}
.movie-section,
.recommend-section,
.content-rail-section,
.page-section {
  padding: 18px 0 38px;
}
#moviesSection,
#latestSection,
#collectionsSection,
#recommendSection,
#curatedSection {
  scroll-margin-top: 92px;
}
.section-header-rich {
  margin-bottom: 22px;
}
.section-header-rich > div {
  display: grid;
  gap: 0;
}
.section-header-rich .section-title {
  font-size: clamp(26px, 3.2vw, 34px);
  letter-spacing: -.02em;
}
.section-header-rich .section-desc {
  max-width: 760px;
}
.section-header-rich > a,
.section-actions .btn,
.page-banner-actions .btn {
  min-height: 46px;
  border-radius: 14px;
}
.section-kicker {
  margin-bottom: 14px;
}
.rail-grid {
  gap: 18px;
}
.rail-card,
.recommend-card,
.movie-card,
.polished-collection-card,
.collection-movie-card {
  border-color: rgba(255,255,255,.09);
}
.rail-card {
  min-height: 198px;
}
.rail-copy {
  justify-content: space-between;
}
.collection-card-summary,
.movie-subinfo {
  color: rgba(230,241,255,.74);
}
.empty-state-card {
  border-color: rgba(255,255,255,.1);
  text-align: center;
  justify-items: center;
}
.empty-state-card .btn {
  min-height: 44px;
  border-radius: 14px;
}
.page-banner {
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
}
.page-banner .container,
.detail-card,
.collection-detail-card {
  position: relative;
}
.page-banner .container::after,
.detail-card::after,
.collection-detail-card::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(255,209,102,.12), transparent 70%);
  pointer-events: none;
}
@media (max-width: 900px) {
  .hero-content {
    bottom: 24px;
  }
  .hero-sidecard {
    min-height: auto;
  }
  .movie-section,
  .recommend-section,
  .content-rail-section,
  .page-section {
    padding: 16px 0 30px;
  }
  .section-header-rich {
    align-items: flex-start;
  }
}
@media (max-width: 640px) {
  .section-header-rich .section-title {
    font-size: 24px;
  }
  .section-kicker {
    margin-bottom: 10px;
  }
  .section-header-rich > a,
  .page-banner-actions .btn {
    width: 100%;
    justify-content: center;
  }
}


.qr-modal-ready .qrcode-box{box-shadow:0 24px 48px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.06) inset}
.qr-modal-expired .qrcode-box{opacity:.78;filter:saturate(.85)}
.qr-modal-expired #resourceCountdownText{color:#ffd166}
.qr-modal-error .qrcode-box{box-shadow:0 0 0 1px rgba(255,107,107,.22) inset,0 20px 40px rgba(0,0,0,.18)}
.qr-loading-state{display:grid;gap:8px;justify-items:center;text-align:center;padding:18px;color:var(--muted);line-height:1.7}
.qr-loading-state strong{color:var(--text);font-size:15px}

.qr-link-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:-2px}
.qr-inline-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);text-decoration:none;font-size:13px;line-height:1.5;min-height:42px}
.qr-inline-link:hover{border-color:var(--accent);transform:translateY(-1px)}
@media (max-width:640px){.modal{padding:12px}.qr-modal-shell{border-radius:18px}.modal-header,.modal-body,.modal-footer{padding-left:14px;padding-right:14px}.qrcode-box{padding:14px}.qr-link-row{display:grid;grid-template-columns:1fr}.qr-inline-link{width:100%}.qr-status-card strong{font-size:16px}}

.qr-status-grid-rich{grid-template-columns:repeat(3,minmax(0,1fr))}
#resourceAccessCode{letter-spacing:.08em;font-size:18px}
.qr-status-card strong{display:block;word-break:break-word}
@media (max-width:900px){.qr-status-grid-rich{grid-template-columns:1fr}}

.detail-cta-panel-primary{margin-top:10px;padding:22px 22px 20px;background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(79,70,229,.16) 58%,rgba(255,209,102,.10));border:1px solid rgba(96,165,250,.22);box-shadow:0 20px 48px rgba(2,6,23,.26);position:relative;overflow:hidden}
.detail-cta-panel-primary::after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.22),rgba(96,165,250,0));pointer-events:none}
.detail-cta-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfe}
.detail-actions-row-primary{align-items:center;display:flex;gap:12px;flex-wrap:wrap}
/* 多网盘按钮样式 - 与主按钮保持一致的设计语言 */
.detail-actions-row-primary .pan-type-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 180px;
  height: 52px;
  padding: 0 18px;
  border: none;
  border-radius: 16px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.24);
  justify-content: center;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.detail-actions-row-primary .pan-type-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.12), transparent);
  pointer-events: none;
}
.detail-actions-row-primary .pan-type-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
}
.detail-actions-row-primary .pan-type-btn:active {
  transform: translateY(0);
}
.detail-actions-row-primary .pan-type-btn i {
  font-size: 16px;
  opacity: 0.95;
}
.detail-actions-row-primary .pan-type-btn[data-pan-type="baidu"] {
  background: linear-gradient(135deg, #4ea6ff, #2196f3);
}
.detail-actions-row-primary .pan-type-btn[data-pan-type="quark"] {
  background: linear-gradient(135deg, #ff9800, #f57c00);
}
.detail-actions-row-primary .pan-type-btn[data-pan-type="aliyun"] {
  background: linear-gradient(135deg, #00bcd4, #0097a7);
}
.detail-actions-row-primary .pan-type-btn[data-pan-type="115"] {
  background: linear-gradient(135deg, #e91e63, #c2185b);
}
.btn-cta-prominent{display:inline-flex;align-items:center;gap:10px;min-width:240px;height:56px;padding:0 22px;border:none;border-radius:18px;background:linear-gradient(135deg,#2563eb,#4f46e5 58%,#7c3aed);color:#fff;font-size:17px;font-weight:800;letter-spacing:.01em;box-shadow:0 20px 40px rgba(37,99,235,.34);justify-content:center;position:relative;overflow:hidden}
.btn-cta-prominent::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.1),transparent);pointer-events:none}
.btn-cta-prominent:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 24px 46px rgba(37,99,235,.4)}
.btn-cta-prominent:active{transform:translateY(0)}
.btn-cta-prominent i{font-size:18px}
@media (max-width:900px){.detail-cta-panel-primary{padding:18px}.btn-cta-prominent{width:100%;min-width:0}.detail-actions-row-primary{flex-direction:column;align-items:stretch}.detail-actions-row-primary .pan-type-btn{width:100%;min-width:0;height:50px;font-size:14px}}


/* R10 hotfix: logo display rules, hero layout tightening */
.navbar-logo-icon,
.navbar-logo:hover .navbar-logo-icon,
.navbar-logo:focus-visible .navbar-logo-icon {
  background: transparent !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}
.navbar-logo-icon {
  min-width: 52px;
  width: auto;
  max-width: 180px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.navbar-logo-icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.navbar-logo-icon.logo-square {
  width: 56px;
  min-width: 56px;
  height: 56px;
  border-radius: 16px;
}
.navbar-logo-icon.logo-square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.navbar-logo-icon.logo-rect {
  width: auto;
  min-width: 56px;
  max-width: 190px;
  height: 50px;
  padding: 2px 0;
}
.navbar-logo-icon.logo-rect img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.hero-section {
  min-height: 520px;
}
.hero-content {
  grid-template-columns: minmax(0, 1fr) clamp(220px, 22vw, 276px);
  gap: clamp(18px, 2vw, 28px);
  width: min(1280px, calc(100% - 56px));
  padding-right: 10px;
}
.hero-copy {
  max-width: min(760px, calc(100% - 24px));
}
.hero-title {
  max-width: 11ch;
}
.hero-description {
  max-width: 560px;
}
.hero-sidecard {
  justify-self: end;
  width: 100%;
  max-width: 276px;
  min-height: 438px;
}
.hero-poster {
  height: 300px;
  aspect-ratio: 3 / 4;
}
.hero-side-meta {
  font-size: 12.5px;
  line-height: 1.65;
}
@media (max-width: 1180px) {
  .hero-content {
    grid-template-columns: minmax(0, 1fr) 230px;
    width: min(1180px, calc(100% - 40px));
  }
  .hero-sidecard { max-width: 230px; }
  .hero-poster { height: 260px; }
}
@media (max-width: 900px) {
  .navbar-logo-icon.logo-square { width: 52px; min-width: 52px; height: 52px; }
  .navbar-logo-icon.logo-rect { max-width: 150px; height: 44px; }
  .hero-content { grid-template-columns: 1fr; }
  .hero-sidecard { display: none; }
  .hero-description, .hero-copy { max-width: 100%; }
}


.resource-entry-overview{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.resource-entry-card{padding:16px 16px 14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 30px rgba(0,0,0,.16);display:grid;gap:8px}
.resource-entry-card.is-primary{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(79,70,229,.12));border-color:rgba(96,165,250,.24)}
.resource-entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.resource-entry-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;color:#bfdbfe}
.resource-entry-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(255,209,102,.18);font-size:12px;color:#fde68a}
.resource-entry-pill.muted{background:rgba(255,255,255,.08);color:var(--muted)}
.resource-entry-title{font-size:15px;line-height:1.5;color:var(--text)}
.resource-entry-meta{font-size:12px;line-height:1.7;color:var(--muted)}
.resource-entry-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.resource-entry-action{appearance:none;border:0;border-radius:999px;padding:8px 12px;background:rgba(59,130,246,.18);color:#dbeafe;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}
.resource-entry-action:hover{transform:translateY(-1px);background:rgba(59,130,246,.24)}
.resource-entry-action.ghost{background:rgba(255,255,255,.06);color:#d1d5db}


.home-pulse-section{padding:18px 0 6px}
.home-pulse-card,.explore-state-panel,.detail-polish-strip{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03));box-shadow:0 18px 40px rgba(0,0,0,.18)}
.home-pulse-title{margin:4px 0 10px;font-size:28px;line-height:1.2}
.home-pulse-text{margin:0;color:var(--muted);line-height:1.8}
.home-pulse-stats,.explore-state-pills,.workbench-callout-pills{display:flex;gap:10px;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end}
.home-pulse-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;color:var(--text)}
.explore-state-panel{margin-bottom:18px;grid-template-columns:1.1fr .9fr}
.explore-state-panel h3{margin:4px 0 10px;font-size:24px}
.detail-polish-strip{margin-top:18px;grid-template-columns:repeat(3,1fr);padding:16px}
.detail-polish-item{padding:14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.detail-polish-item span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
.detail-polish-item strong{line-height:1.7}
.skeleton-movie-card,.skeleton-rail-card,.skeleton-scroll-card{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.03));min-height:320px;border:1px solid rgba(255,255,255,.06)}
.skeleton-rail-card{min-height:190px}
.skeleton-scroll-card{min-height:220px;min-width:260px}
.skeleton-movie-card::after,.skeleton-rail-card::after,.skeleton-scroll-card::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);animation:skeletonShimmer 1.4s infinite}
@keyframes skeletonShimmer{100%{transform:translateX(100%)}}
@media (max-width:900px){.home-pulse-card,.explore-state-panel,.detail-polish-strip{grid-template-columns:1fr}.home-pulse-stats,.explore-state-pills,.workbench-callout-pills{justify-content:flex-start}.home-pulse-title{font-size:24px}.detail-polish-strip{padding:14px}}


/* R8.10.2 UI circle hardening + theme transition */
:root{color-scheme:dark}
body,.navbar,.movie-card,.recommend-card,.detail-card,.admin-card,.modal-content,.btn,.nav-category,.nav-action-btn,.search-btn{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.hero-dot,.recommend-rank,.modal-close,.qr-spinner,.qr-step-item span,.movie-meta-dot,.movie-badge-round,.preview-brand-badge,.nav-action-btn,.search-btn{aspect-ratio:1/1;line-height:1;flex:0 0 auto}
.hero-dot,.recommend-rank,.modal-close,.qr-step-item span,.movie-badge-round,.nav-action-btn,.search-btn{display:grid;place-items:center}
.modal-close,.nav-action-btn,.search-btn{padding:0}
.hero-dot,.movie-meta-dot{align-self:center}
.preview-brand-badge{display:grid;place-items:center;overflow:hidden}


.modal-subtitle{overflow-wrap:anywhere;word-break:break-word}
@media (max-width:480px){
  .empty-state-actions{grid-template-columns:1fr;display:grid;width:100%}
  .empty-state-card .btn{width:100%}
  .list-item{gap:10px;padding:10px 0}
  .list-item img{width:52px;height:74px;flex-basis:52px}
}


/* R8.17 detail continuity and lower-section layout */
.resource-entry-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0 4px}.resource-entry-card{padding:14px 14px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);display:grid;gap:10px}.resource-entry-card.is-primary{background:linear-gradient(180deg,rgba(77,107,255,.14),rgba(255,255,255,.03));border-color:rgba(77,107,255,.26)}.resource-entry-top,.resource-entry-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.resource-entry-badge,.resource-entry-pill{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05)}.resource-entry-pill.muted{opacity:.8}.resource-entry-title{font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-entry-meta{font-size:13px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.resource-entry-action{border:0;background:rgba(77,107,255,.16);color:var(--text);padding:8px 12px;border-radius:12px;cursor:pointer}.resource-entry-action.ghost{background:rgba(255,255,255,.06)}
.detail-continue-links.rich{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.detail-continue-card{display:grid;gap:8px;padding:16px 16px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);text-decoration:none;min-height:148px}.detail-continue-card:hover{transform:translateY(-2px);border-color:rgba(77,107,255,.3)}.detail-continue-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.detail-continue-card strong{font-size:16px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-continue-card span{font-size:13px;color:var(--muted);line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.detail-continue-card em{font-style:normal;color:var(--text);margin-top:auto}
.detail-recommend-scroll{margin-top:8px}.detail-recommend-card{align-items:flex-start;min-height:120px}.detail-recommend-card .recommend-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-recommend-card .recommend-meta.source{color:var(--text);opacity:.88}
@media (max-width:900px){.detail-continue-links.rich{grid-template-columns:1fr}.resource-entry-overview{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.resource-entry-overview{grid-template-columns:1fr}.detail-recommend-scroll{grid-template-columns:1fr}.detail-recommend-card{padding:12px}.section-header-rich .section-actions{width:100%;display:flex;gap:10px;flex-wrap:wrap}.section-header-rich .section-actions .btn{flex:1 1 180px;text-align:center}}
@media (max-width:480px){.detail-continue-card{min-height:auto}.resource-entry-actions{display:grid;grid-template-columns:1fr;gap:8px}.resource-entry-action{width:100%}}


/* R8.20 collection flow and explore state */
.collection-route-panel,
.collections-route-panel {
  margin-top: 18px;
}
.collection-route-panel .detail-continue-grid,
.collections-route-panel .detail-continue-grid {
  margin-top: 4px;
}
.empty-state-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
}
.collections-filter-card {
  margin-bottom: 14px;
}
#exploreEmptyState .empty-state-actions .btn,
#collectionMoviesEmpty .empty-state-actions .btn,
#collectionsEmpty .empty-state-actions .btn {
  min-width: 156px;
}
@media (max-width: 900px) {
  .empty-state-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  #exploreEmptyState .empty-state-actions .btn,
  #collectionMoviesEmpty .empty-state-actions .btn,
  #collectionsEmpty .empty-state-actions .btn {
    width: 100%;
    min-width: 0;
  }
}

/* R8.21 state feedback and guided actions */
.state-feedback-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;margin:16px 0 18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,209,102,.05))}
.state-feedback-copy{display:grid;gap:6px}
.state-feedback-kicker{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.state-feedback-copy strong{font-size:18px;line-height:1.4}
.state-feedback-copy p{margin:0;color:var(--muted);line-height:1.8}
.state-feedback-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.modal-status-card{display:grid;gap:8px;padding:16px 18px;margin-bottom:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.modal-status-card strong{font-size:16px;line-height:1.45}
.modal-status-card p{margin:0;color:var(--muted);line-height:1.8}
.modal-status-pills{display:flex;gap:8px;flex-wrap:wrap}
.list-item-rich{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);cursor:pointer}
.list-item-rich + .list-item-rich{margin-top:10px}
.list-item-rich img{width:72px;height:96px;object-fit:cover;border-radius:12px}
.list-item-main{display:grid;gap:6px;min-width:0}
.list-item-title-row{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.list-item-title{font-size:15px;font-weight:800;line-height:1.5}
.list-item-rank{font-size:12px;color:var(--accent);white-space:nowrap}
.list-item-submeta,.list-item-note{font-size:13px;line-height:1.7;color:var(--muted)}
.list-item-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#activeFilterChips{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:900px){.state-feedback-bar{grid-template-columns:1fr}.state-feedback-actions{justify-content:flex-start;width:100%}.state-feedback-actions .btn{width:100%}}



/* R8.22 detail-flow-and-state-guidance */
.detail-state-feedback,.collection-state-feedback{margin-top:16px}
.detail-flow-panel{display:grid;gap:14px;margin:16px 0 18px}
.detail-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detail-flow-card{display:grid;gap:8px;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));text-decoration:none;color:var(--text);transition:.2s ease}
.detail-flow-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.14)}
.detail-flow-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.detail-flow-card strong{font-size:16px;line-height:1.45}
.detail-flow-card span{font-size:13px;line-height:1.75;color:var(--muted)}
.detail-flow-card em{font-style:normal;color:var(--text);font-size:13px;font-weight:700}
.collection-flow-panel{margin-top:16px}
.collection-movie-card .movie-info{display:grid;gap:8px}
.collection-card-state{display:flex;gap:8px;flex-wrap:wrap}
.collection-card-state .hero-pill{font-size:11px;padding:6px 10px}
@media (max-width:900px){.detail-flow-grid{grid-template-columns:1fr}.detail-flow-card{padding:15px 16px}}


/* R8.38 detail-page layout and control center */
:root{--detail-section-gap:20px;--detail-inner-gap:12px;--detail-card-gap:16px;--detail-sidebar-width:304px;--detail-flow-min-height:174px;--detail-continue-min-height:156px;--detail-recommend-min-height:132px}
.detail-wrap{padding-top:32px}.detail-card-polished{display:grid;grid-template-columns:minmax(280px,var(--detail-sidebar-width)) minmax(0,1fr);gap:var(--detail-section-gap);align-items:start}.detail-visual-column,.detail-main{display:grid;gap:var(--detail-section-gap);align-content:start}.detail-main>*,.detail-visual-column>*{margin-top:0!important;margin-bottom:0!important}.detail-side-panel,.detail-state-feedback,.detail-cta-panel,.detail-summary-card,.detail-flow-panel,.resource-entry-overview-shell,.detail-continue-panel,.detail-polish-strip,.detail-tips-grid{padding:20px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}.detail-side-list{display:grid;gap:var(--detail-inner-gap)}.detail-side-item{padding:14px 16px;min-height:84px;display:grid;align-content:center}.detail-cta-panel{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:var(--detail-card-gap);align-items:stretch}.detail-cta-copy{display:flex;flex-direction:column;justify-content:center;gap:var(--detail-inner-gap)}.detail-actions-row-primary{display:flex;flex-direction:column;gap:var(--detail-inner-gap);justify-content:center;align-items:stretch}.detail-actions-row-primary .btn{width:100%;justify-content:center;min-height:48px}.detail-flow-grid,.detail-continue-links.rich,.detail-tips-grid,.detail-recommend-scroll,.resource-entry-overview{gap:var(--detail-card-gap);align-items:stretch}.detail-flow-grid,.detail-continue-links.rich,.detail-recommend-scroll{display:grid}.detail-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-continue-links.rich{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.detail-recommend-scroll{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.detail-flow-card,.detail-continue-card,.resource-entry-card,.tip-card,.detail-recommend-card{height:100%}.detail-flow-card,.detail-continue-card,.resource-entry-card,.tip-card{display:flex;flex-direction:column;gap:var(--detail-inner-gap)}.detail-flow-card{min-height:var(--detail-flow-min-height)}.detail-continue-card{min-height:var(--detail-continue-min-height)}.detail-recommend-card{display:grid;grid-template-columns:28px 72px minmax(0,1fr);gap:var(--detail-inner-gap);align-items:center;min-height:var(--detail-recommend-min-height);padding:14px 16px}.detail-recommend-card .recommend-info{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:100%}.detail-flow-card strong,.detail-continue-card strong{min-height:48px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-flow-card span,.detail-continue-card span{min-height:68px;line-height:1.72;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.detail-flow-card em,.detail-continue-card em{margin-top:auto}.detail-polish-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--detail-card-gap)}.detail-polish-item{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:118px;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.detail-recommend-header{margin-bottom:var(--detail-section-gap);align-items:flex-end}.detail-recommend-actions{display:flex;gap:var(--detail-card-gap);flex-wrap:wrap;align-self:flex-end}.detail-layout-compact{--detail-section-gap:18px;--detail-inner-gap:10px;--detail-card-gap:14px}.detail-layout-focus #detailContextStrip,.detail-layout-focus #detailStateFeedback,.detail-layout-focus #detailPolishStrip{display:none!important}@media (max-width:1024px){.detail-card-polished{grid-template-columns:280px minmax(0,1fr)}.detail-cta-panel{grid-template-columns:1fr}.detail-actions-row-primary{flex-direction:row;flex-wrap:wrap}.detail-actions-row-primary .btn{width:auto;flex:1 1 180px}.detail-polish-strip{grid-template-columns:1fr}.detail-flow-card strong,.detail-continue-card strong,.detail-recommend-card .recommend-title,.detail-flow-card span,.detail-continue-card span{min-height:auto}}@media (max-width:900px){.detail-card-polished{grid-template-columns:1fr}.detail-tips-grid,.detail-continue-links.rich,.detail-flow-grid,.detail-polish-strip,.detail-recommend-scroll{grid-template-columns:1fr}.detail-recommend-actions{width:100%}.detail-recommend-actions .btn{flex:1 1 180px;text-align:center}}


.detail-recommend-copy{display:grid;gap:var(--detail-inner-gap)}
.detail-side-panel,.detail-state-feedback,.detail-cta-panel,.detail-summary-card,.detail-flow-panel,.resource-entry-overview-shell,.detail-continue-panel,.detail-polish-strip,.detail-tips-grid,.detail-recommend-card{box-sizing:border-box}
.detail-summary-card,.detail-flow-panel,.detail-continue-panel,.resource-entry-overview-shell{display:grid;gap:var(--detail-inner-gap);align-content:start}
.detail-flow-panel .section-header,.detail-continue-panel .section-header,.resource-entry-overview-head{margin-bottom:var(--detail-inner-gap)}
.detail-flow-grid>*,.detail-continue-links.rich>*,.detail-recommend-scroll>*{align-self:stretch}
.detail-recommend-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--detail-card-gap);align-items:end}
.detail-recommend-actions{margin-top:0;justify-content:flex-end}
.detail-recommend-scroll{align-items:stretch}
.detail-recommend-card{border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}
.detail-recommend-card .recommend-info{align-self:stretch}
.detail-recommend-card .recommend-title{line-height:1.5;min-height:48px}
.detail-recommend-card .recommend-meta{line-height:1.6}
.detail-side-panel{align-self:start}
@media (max-width:900px){.detail-recommend-header{grid-template-columns:1fr;align-items:start}}


:root {
  --bg-gradient: linear-gradient(135deg, #08111f 0%, #0a192f 52%, #132f57 100%);
  --panel-gradient: linear-gradient(180deg, rgba(17,34,64,0.96), rgba(10,25,47,0.92));
  --accent-gradient: linear-gradient(135deg, #ffd166 0%, #ffb347 100%);
  --text-gradient: linear-gradient(135deg, #ffe29a 0%, #ffd166 45%, #fff4cc 100%);
  --border-gradient: linear-gradient(135deg, rgba(255,209,102,0.72), rgba(255,255,255,0.18));
  --accent-text: #13202a;
  --surface-glass: rgba(10,25,47,0.58);
  --shadow-glow: 0 18px 50px rgba(255,209,102,0.18);
}

body {
  background: var(--bg-gradient), var(--bg);
  color: var(--text);
}
.navbar {
  background: var(--surface-glass);
  box-shadow: var(--shadow-glow);
}
.admin-card, .card, .hero, .movie-card, .collection-card, .category-card, .detail-main-card, .detail-side-card, .empty-state, .filter-bar, .search-panel, .content-panel {
  background: var(--panel-gradient) !important;
  box-shadow: var(--shadow-glow);
}
.navbar-logo h1, .hero-content h1, .section-header h2, .page-title, .detail-title, .detail-heading, .section-title {
  background: var(--text-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.btn, .search-btn, .nav-action-btn, .hero-actions .btn, .pagination button, .theme-switcher-toggle {
  background: var(--accent-gradient);
  color: var(--accent-text);
  border-color: transparent;
  box-shadow: var(--shadow-glow);
}
.btn.btn-secondary, .nav-category, .chip, .tag, .filter-chip {
  background: var(--panel-gradient);
  color: var(--text);
  border: 1px solid transparent;
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.navbar-logo-icon, .hero-content .hero-badge, .badge, .chip.active, .nav-category.active {
  background: var(--accent-gradient);
  color: var(--accent-text);
}
.movie-card, .collection-card, .hero, .navbar-logo-icon, .btn, .search-btn, .nav-action-btn, .theme-switcher-card {
  position: relative;
}
.movie-card::before, .collection-card::before, .hero::before, .theme-switcher-card::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: var(--border-gradient);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
input, select, textarea {
  background: rgba(15, 23, 42, 0.28);
}
[data-theme-mode="gradient"] input, [data-theme-mode="gradient"] select, [data-theme-mode="gradient"] textarea {
  background: rgba(255,255,255,0.08);
}
[data-theme-preset="healing-japan"], [data-theme-preset="morandi-minimal"], [data-theme-preset="nordic-calm"] {
  color-scheme: light;
}
.theme-switcher {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}
.theme-switcher-panel {
  width: min(360px, calc(100vw - 24px));
  padding: 14px;
  border-radius: 20px;
  background: var(--panel-gradient);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-glow);
  backdrop-filter: blur(18px);
}
.theme-switcher-head { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:12px; }
.theme-switcher-head strong { font-size: 16px; }
.theme-switcher-head span { color: var(--muted); font-size: 12px; }
.theme-switcher-list { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.theme-switcher-card {
  overflow: hidden;
  text-align: left;
  border-radius: 16px;
  border: 1px solid var(--border);
  padding: 12px;
  background: var(--panel-gradient);
  color: var(--text);
}
.theme-switcher-card.active { transform: translateY(-1px); box-shadow: var(--shadow-glow); }
.theme-switcher-card-swatch {
  display:block; height: 48px; border-radius: 12px; margin-bottom: 10px;
  background: var(--card-bg);
  position: relative;
}
.theme-switcher-card-swatch::after {
  content: '';
  position: absolute; left: 10px; right: 10px; bottom: 10px; height: 10px;
  border-radius: 999px; background: var(--card-btn);
}
.theme-switcher-card strong { display:block; font-size: 14px; margin-bottom: 4px; }
.theme-switcher-card small { display:block; color: var(--muted); line-height: 1.5; }
@media (max-width: 768px) {
  .theme-switcher { right: 12px; bottom: 12px; }
  .theme-switcher-list { grid-template-columns: 1fr; }
}
