/* Production theme, adapted from E / 日光电影. */
::selection { background: #dce8f1; color: #2d4f69; }
.btn, .page-btn { border-radius: 24px; }
.btn-primary:hover:not(:disabled) { box-shadow: 0 6px 20px #45658022; }
.header-inner { padding-inline: 5%; max-width: 1600px; }
.brand { font-size: 26px; font-weight: 600; letter-spacing: -1.3px; }
.site-header .brand-mark, .brand-wordmark small { display: none; }
.brand-wordmark::after { content: ''; width: 5px; height: 5px; background: #83a5c3; border-radius: 50%; align-self: flex-start; margin: 7px 0 0 -8px; }
.header-nav { gap: 30px; margin-left: 8px; }
.header-nav a { font-size: 13px; font-weight: 400; }
.header-nav a.active::after { display: none; }
.search-input { background: #ffffffaa; border: 1px solid #dce6ed; border-radius: 24px; color: #425c72; }
.search-input:focus { border-color: #a8bfce; }
.search-key { border: 0; }
.header-user .btn { padding-inline: 16px; }
.site-header { background: #f7f9fcf0; border-color: #e0e8ef; }
.has-cinema .site-header:not(.scrolled) { background: linear-gradient(#f7f9fcbd, #f7f9fc00); border-color: transparent; box-shadow: none; }
.has-cinema .site-header:not(.scrolled) .search-input { background: #ffffff8f; border-color: #ffffff99; backdrop-filter: blur(16px); }
.site-header.scrolled { background: #f7f9fce8; }
.gallery-page .layout { max-width: none; padding: 0; margin: 0; }
.gallery-page .main-col { padding: 0; }
.gallery-page:not(.has-cinema) .collection { padding-top: calc(var(--header-h) + 34px); }
.cinema-hero { isolation: isolate; position: relative; overflow: hidden; background: var(--bg-0); height: min(84vh,860px); min-height: 680px; }
.cinema-image-wrap { position: absolute; inset: 0 0 0 28%; mask-image: linear-gradient(90deg, transparent, #000 28%); }
.cinema-image { width: 100%; height: 100%; object-fit: cover; object-position: center 53%; }
.cinema-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,#f7f9fc 2%,#f7f9fcf7 24%,#f7f9fcd9 36%,#f7f9fc6b 49%,#f7f9fc00 66%),linear-gradient(0deg,#f7f9fc,#f7f9fcbd 7%,#f7f9fc00 29%); }
.cinema-copy { position: absolute; left: 8%; top: 49%; transform: translateY(-32%); max-width: 560px; right: 43%; }
.cinema-eyebrow { display: flex; align-items: center; gap: 9px; color: #546f88; font-size: 11px; letter-spacing: 2px; }
.cinema-eyebrow .status-dot { box-shadow: 0 0 0 5px #91b2cb14; background: #799fbe; flex-shrink: 0; }
.cinema-number { font-size: 9px; letter-spacing: 1.2px; margin-left: 14px; color: #6c8093; }
.cinema-copy h1 { font-size: clamp(46px,4.5vw,68px); line-height: 1.28; font-weight: 400; letter-spacing: -2.6px; color: #2b3b4d; margin: 29px 0 24px; }
.cinema-copy h1.is-post-title { font-size: clamp(32px,3.3vw,49px); line-height: 1.42; letter-spacing: -1.2px; text-wrap: balance; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.cinema-description { font-size: 14px; line-height: 2; color: #63778b; }
.cinema-actions { display: flex; align-items: center; gap: 23px; margin-top: 34px; }
.cinema-cta { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 9px; padding: 14px 22px; border-radius: 30px; color: white; background: #466881; font-size: 12px; font-weight: 500; box-shadow: 0 6px 18px #45658014; transition: background .25s,transform .4s var(--ease),box-shadow .4s; }
.cinema-cta:hover { background: #355871; color: white; transform: translateY(-2px); box-shadow: 0 8px 22px #45658026; }
.cinema-meta { font-size: 11px; color: #62798c; }
.cinema-bottom { position: absolute; left: 8%; right: 5%; bottom: 36px; display: flex; align-items: center; gap: 24px; color: #6f8193; }
.cinema-scroll { font-size: 10px; color: #61798e; display: flex; align-items: center; gap: 15px; }
.cinema-scroll span { font-size: 17px; }
.cinema-controls { display: flex; gap: 17px; margin-left: auto; margin-right: 5%; }
.cinema-controls button { display: flex; align-items: center; gap: 8px; color: #71889b; font-size: 10px; padding: 12px 0; font-variant-numeric: tabular-nums; }
.cinema-controls button i { width: 45px; height: 2px; border-radius: 2px; background: #91a5b550; transition: width .4s var(--ease),background .3s; }
.cinema-controls button[aria-pressed="true"] { color: #365972; }
.cinema-controls button[aria-pressed="true"] i { width: 76px; background: #597f9d; }
.cinema-signature { font-size: 8px; letter-spacing: 1.5px; margin-left: auto; }
.cinema-status { position: absolute; bottom: 12px; left: 8%; right: 5%; font-size: 10px; color: #687f93; }
.collection { width: 100%; max-width: 1600px; margin: auto; padding: 34px 5% 64px; }
.list-head { padding: 0 0 26px; gap: 24px; }
.collection-eyebrow { display: block; font-size: 9px; letter-spacing: 1.8px; color: #738a9e; margin-bottom: 13px; }
.list-title { font-size: 30px; font-weight: 400; letter-spacing: -.7px; }
.list-tools { gap: 16px; }
.density-toggle { border-color: #e0e8ee; border-radius: 22px; background: #edf2f6; }
.density-toggle button { border-radius: 50%; }
.category-nav { gap: 5px; padding-bottom: 18px; }
.category-nav a { border: 0; background: transparent; padding: 8px 17px; border-radius: 24px; color: #667e92; font-size: 12px; }
.category-nav a.active { background: #e6eef5; color: #426783; }
.category-nav a:hover:not(.active) { background: #edf2f6; color: #426783; }
.category-nav .side-icon { display: none; }
.tag-nav { padding-bottom: 25px; gap: 18px; }
.tag-pill { font-size: 11px; }
.post-grid { gap: 32px 24px; }
.card-media, .grid-skeleton .card-media { border-radius: 9px; aspect-ratio: 3/3.8; }
.card-media::after { border: 0; }
.card-count { background: #ffffffd9; color: #49667d; border: 0; border-radius: 22px; padding: 5px 10px; font-size: 10px; }
.card-title { color: #354b5f; font-size: 15px; font-weight: 400; padding-top: 17px; }
.card-sub { padding-top: 5px; font-size: 11px; }
.card-meta { font-size: 10px; }
.card-hover { background: linear-gradient(transparent 60%,#314f7055); }
.site-footer { max-width: 1600px; padding-inline: 5%; border-color: #dfe7ee; }
/* Secondary pages carry the same palette, without changing account/gallery behavior. */
.auth-shell { border-radius: 20px; box-shadow: 0 20px 60px #3959780c; border-color: #e0e8ef; }
.auth-story { background: linear-gradient(0deg,#eef3f8 4%,#eef3f8c7 52%,#eef3f899),url('/images/daylight-intro.jpg') center 45%/cover; }
.auth-story h2 { font-weight: 400; }
.auth-story-art { display: none; }
.auth-story > small { color: #59748a; }
.auth-page .auth-brand h1 { font-weight: 400; }
.auth-page .auth-submit { border-radius: 24px; }
.auth-page .auth-tabs { border-radius: 24px; background: #edf2f6; }
.auth-page .auth-tab { border-radius: 20px; }
.detail-page .zuopin { background: #f7f9fc; }
.detail-page .zuopin h1 { font-weight: 400; }
.detail-page .z-cat-row a, .detail-page .z-tags a { border-radius: 20px; }
.detail-page .gallerypic.single .g-item, .detail-page .gallerypic.single .g-item img { border-radius: 9px; }
.detail-page .lb-backdrop { background: #f3f7fbf5; backdrop-filter: blur(24px); }
.detail-page .lb-img { box-shadow: 0 18px 60px #2e49621c; border-radius: 7px; }
.detail-page .lb-btn, .detail-page .lb-count, .detail-page .lb-hint { background: #ffffffe6; color: #456781; border: 1px solid #d7e1eb; box-shadow: 0 3px 16px #2e49620a; }
.detail-page .lb-btn:hover { background: white; }
@media (max-width:1100px) {
  .cinema-copy { right: 39%; }
  .cinema-copy h1 { font-size: 52px; }
  .cinema-copy h1.is-post-title { font-size: 38px; }
  .cinema-signature { display: none; }
  .cinema-controls { margin-right: 0; }
  .post-grid { gap: 26px 20px; }
}
@media (max-width:800px) {
  .header-inner { padding-inline: 24px; gap: 20px; }
  .brand { font-size: 24px; }
  .header-nav { gap: 20px; margin-left: 0; }
  .cinema-hero { min-height: 640px; height: 78vh; }
  .cinema-image-wrap { left: 18%; }
  .cinema-shade { background: linear-gradient(90deg,#f7f9fc,#f7f9fced 20%,#f7f9fc8a 45%,#f7f9fc00 83%),linear-gradient(0deg,#f7f9fc,#f7f9fc00 32%); }
  .cinema-copy { left: 7%; right: 24%; }
  .cinema-copy h1 { font-size: 46px; }
  .cinema-copy h1.is-post-title { font-size: 35px; }
  .cinema-description { font-size: 12px; }
  .cinema-meta { font-size: 10px; }
  .collection { padding: 28px 24px 44px; }
  .list-title { font-size: 26px; }
  .list-head { gap: 16px; }
  .category-nav a { padding: 8px 14px; }
}
@media (max-width:540px) {
  .header-inner { padding: 12px 22px; gap: 11px; }
  .header-search { width: 100%; }
  .search-input { border-radius: 24px; }
  .cinema-hero { height: 740px; min-height: 690px; }
  .cinema-image-wrap { inset: 0 0 auto; height: 520px; mask-image: linear-gradient(180deg,#000 65%,transparent); }
  .cinema-image { object-position: center 55%; }
  .cinema-shade { background: linear-gradient(0deg,#f7f9fc 0%,#f7f9fc 21%,#f7f9fcec 34%,#f7f9fc73 49%,#f7f9fc00 67%),linear-gradient(180deg,#f7f9fc,#f7f9fc94 13%,#f7f9fc00 30%); }
  .cinema-copy { top: auto; bottom: 91px; left: 25px; right: 25px; transform: none; }
  .cinema-eyebrow { font-size: 9px; letter-spacing: 1.4px; }
  .cinema-number { font-size: 8px; margin-left: 8px; letter-spacing: .5px; }
  .cinema-copy h1 { font-size: 39px; letter-spacing: -1.6px; margin: 19px 0 17px; }
  .cinema-copy h1.is-post-title { font-size: 30px; letter-spacing: -.8px; }
  .cinema-actions { margin-top: 23px; gap: 15px; }
  .cinema-cta { font-size: 11px; padding: 12px 16px; }
  .cinema-meta { font-size: 9px; }
  .cinema-bottom { left: 25px; right: 25px; bottom: 36px; }
  .cinema-scroll { font-size: 9px; gap: 10px; }
  .cinema-controls { gap: 12px; }
  .cinema-controls button { font-size: 9px; gap: 5px; }
  .cinema-controls button i { width: 20px; }
  .cinema-controls button[aria-pressed="true"] i { width: 34px; }
  .cinema-status { left: 25px; font-size: 9px; bottom: 13px; }
  .collection { padding: 22px 20px 44px; }
  .list-head { flex-wrap: wrap; gap: 15px; padding-bottom: 20px; }
  .list-title { font-size: 26px; }
  .list-tools { width: 100%; justify-content: space-between; }
  .collection-eyebrow { font-size: 8px; margin-bottom: 12px; }
  .post-grid { gap: 22px 14px; }
  .card-title { font-size: 13px; padding-top: 12px; }
  .card-sub { font-size: 10px; }
  .card-media { aspect-ratio: 3/3.8; }
  .site-footer { padding-inline: 20px; }
}
@media (max-width:350px) {
  .cinema-copy { left: 20px; right: 20px; }
  .cinema-copy h1 { font-size: 35px; }
  .cinema-copy h1.is-post-title { font-size: 27px; }
  .cinema-meta { font-size: 8px; }
  .cinema-actions { gap: 10px; }
}
@media (prefers-reduced-motion:no-preference) {
  .cinema-copy { animation: cinema-in .8s var(--ease); }
  @keyframes cinema-in { from { opacity: 0; } to { opacity: 1; } }
}

.cinema-controls button[data-action] { font-size:12px; min-height:44px; padding:8px; white-space:nowrap; }
.cinema-controls button[data-action]:disabled { opacity:.45; cursor:wait; }
@media(max-width:540px) { .cinema-controls { gap:4px; } .cinema-controls button[data-action] { font-size:11px; padding:6px; } }

/* 账号身份与操作分开，手机和平板统一使用导航菜单。 */
.user-identity { display:flex; align-items:center; gap:8px; min-width:0; font-size:13px; color:#59748a; }
.identity-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:120px; }
.header-user .btn { padding-inline:10px; min-height:44px; }
.hamburger { min-width:44px; min-height:44px; flex-shrink:0; }
.drawer { height:100dvh; max-width:100vw; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.drawer-head .modal-close { min-width:44px; min-height:44px; }
.drawer-user { display:flex; flex-direction:column; align-items:stretch; gap:10px; border-top:1px solid var(--border); padding-top:18px; }
.drawer-user .user-identity { padding:8px 4px; flex-wrap:wrap; }
.drawer-user .identity-name { max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.drawer-user .btn { min-height:44px; justify-content:flex-start; }
.drawer-search { margin-bottom:20px; }
.drawer-search label { display:block; margin-bottom:8px; color:var(--text-2); font-size:13px; }
.drawer-search > div { display:flex; gap:8px; }
.drawer-search input { min-width:0; width:100%; }
.drawer-search button { flex-shrink:0; min-height:44px; }
.footer-links { flex-wrap:wrap; }
.account-main { max-width:760px; margin:calc(var(--header-h) + 32px) auto 48px; padding:0 24px; }
.account-section { margin-top:32px; padding:24px; border:1px solid var(--border); border-radius:16px; background:white; }
.account-section h2 { margin-bottom:18px; font-size:21px; }
.account-pagination { display:flex; gap:12px; margin-top:16px; }
.favorite-row { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.favorite-row a { min-width:0; overflow-wrap:anywhere; }
.favorite-row button { flex-shrink:0; }
#favoritesResult { color:var(--danger); }
@media(max-width:1280px) { .header-user .user-identity { display:none; } .header-inner { gap:16px; } }
@media(max-width:992px) { .header-user { display:none; } .hamburger { margin-left:auto; } }
@media(max-width:540px) { .account-main { padding:0 16px; margin-top:calc(var(--header-h) + 24px); } .account-section { padding:18px; } }
.account-page .btn { min-height:44px; }
