/* 图库：玻璃卡片，对齐下载站 / 内页 */
.gal-wrap{max-width:none;width:100%;margin:0;padding:0 0 28px;}
.gal-wrap .glass-card{
  background:var(--card-bg,#fff);
  backdrop-filter:blur(12px);
  border:1px solid var(--border,#e5e7eb);
  border-radius:12px;
  transition:border-color .3s,box-shadow .3s;
}
.gal-wrap .glass-card:hover{
  border-color:var(--primary,#2563eb);
  box-shadow:0 8px 32px rgba(59,130,246,.18);
}
html.light-theme .gal-wrap .glass-card{
  background:#fff;
  border:1px solid #e8e8ed;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gal-toolbar.glass-card:hover,.gal-nav.glass-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.04);border-color:var(--border,#e5e7eb);}

.gal-toolbar{display:flex;align-items:center;gap:20px;padding:18px 22px;flex-wrap:wrap;}
.gal-toolbar-copy{min-width:180px;}
.gal-toolbar-copy h1{font-size:22px;font-weight:800;margin:0 0 4px;color:#0f172a;letter-spacing:.2px;}
.gal-toolbar-copy p{font-size:13px;color:#64748b;margin:0;max-width:42ch;line-height:1.55;}
html:not(.light-theme) .gal-toolbar-copy h1{color:#e2e8f0;}
html:not(.light-theme) .gal-toolbar-copy p{color:#94a3b8;}

.gal-search{display:flex;flex:1;min-width:240px;max-width:520px;background:rgba(255,255,255,.72);border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;}
html:not(.light-theme) .gal-search{background:rgba(21,26,48,.7);border-color:#262c46;}
.gal-search input{flex:1;border:0;outline:none;padding:11px 16px;font-size:14px;color:#1e293b;background:transparent;}
html:not(.light-theme) .gal-search input{color:#e2e8f0;}
.gal-search button{border:0;background:#2563eb;color:#fff;font-size:14px;font-weight:600;padding:0 18px;cursor:pointer;}
.gal-search button:hover{filter:brightness(1.08);}

.gal-mini-stats{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap;}
.gal-mini-stat{text-align:center;min-width:64px;}
.gal-mini-stat b{display:block;font-size:18px;font-weight:800;line-height:1.1;color:#0f172a;}
.gal-mini-stat span{font-size:11px;color:#94a3b8;margin-top:4px;display:block;}
html:not(.light-theme) .gal-mini-stat b{color:#e2e8f0;}

.gal-spot{display:grid;grid-template-columns:1fr 1.2fr;min-height:320px;overflow:hidden;margin-top:16px;}
.gal-spot-info{padding:26px 30px;}
.gal-spot-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2563eb;margin-bottom:8px;}
.gal-spot-name{font-size:28px;font-weight:800;margin:0 0 10px;color:#0f172a;line-height:1.25;}
html:not(.light-theme) .gal-spot-name{color:#e2e8f0;}
.gal-spot-lead{font-size:14px;line-height:1.75;color:#475569;margin:0 0 16px;max-width:52ch;}
html:not(.light-theme) .gal-spot-lead{color:#94a3b8;}
.gal-spot-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:#94a3b8;margin-bottom:18px;}
.gal-spot-stage{position:relative;min-height:280px;background:#0f172a;}
.gal-spot-stage img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.gal-spot-stage-tag{position:absolute;top:14px;left:14px;z-index:1;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(15,23,42,.55);padding:5px 10px;border-radius:999px;}

.gal-nav{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;margin:16px 0 8px;}
.gal-chip{padding:6px 14px;border-radius:20px;font-size:13px;text-decoration:none;color:#475569;background:#f1f5f9;border:1px solid transparent;transition:all .15s;}
html:not(.light-theme) .gal-chip{color:#cbd5e1;background:#232946;}
.gal-chip:hover{border-color:#2563eb;color:#2563eb;}
.gal-chip.on,.gal-chip.active{background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-weight:600;}

.gal-sec{margin-top:18px;}
.gal-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.gal-sec-head h2{font-size:21px;font-weight:700;margin:0;color:#0f172a;}
html:not(.light-theme) .gal-sec-head h2{color:#e2e8f0;}
.gal-more{font-size:14px;color:#2563eb;text-decoration:none;}
.gal-result{color:#64748b;font-size:14px;margin:8px 0 0;}

.gal-catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.gal-cat{display:block;overflow:hidden;text-decoration:none;color:inherit;}
.gal-cat-img{aspect-ratio:16/10;overflow:hidden;background:#e2e8f0;position:relative;}
.gal-cat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.gal-cat:hover .gal-cat-img img{transform:scale(1.05);}
.gal-cat-body{padding:14px 16px 16px;}
.gal-cat-name{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 4px;}
html:not(.light-theme) .gal-cat-name{color:#e2e8f0;}
.gal-cat-count{font-size:12px;color:#94a3b8;}
.gal-cat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.gal-cat-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;}
html:not(.light-theme) .gal-cat-chip{background:#232946;color:#94a3b8;}

.gal-alb-head{padding:8px 2px 4px;}
.gal-bread{font-size:13px;color:#94a3b8;margin-bottom:10px;}
.gal-bread a{color:#2563eb;text-decoration:none;}
.gal-alb-head h1{font-size:28px;font-weight:800;margin:0 0 8px;color:#0f172a;}
html:not(.light-theme) .gal-alb-head h1{color:#e2e8f0;}
.gal-alb-desc{font-size:14px;color:#64748b;line-height:1.7;max-width:68ch;margin:0 0 12px;}
.gal-alb-count{display:inline-block;font-size:12px;font-weight:600;color:#2563eb;background:rgba(37,99,235,.1);padding:4px 10px;border-radius:999px;}
.gal-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px;}

.gal-masonry{columns:4;column-gap:14px;margin-top:16px;}
.gal-item{break-inside:avoid;margin-bottom:14px;display:block;text-decoration:none;color:inherit;}
.gal-item-inner{overflow:hidden;border-radius:12px;}
.gal-item img{width:100%;display:block;vertical-align:top;}
.gal-item-cap{padding:10px 12px 12px;}
.gal-item-title{font-size:14px;font-weight:700;color:#0f172a;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html:not(.light-theme) .gal-item-title{color:#e2e8f0;}
.gal-item-meta{display:flex;gap:10px;font-size:12px;color:#94a3b8;}
.gal-item:hover .gal-item-inner{border-color:var(--primary,#2563eb);}

.gal-pager{display:flex;justify-content:center;gap:8px;margin-top:28px;flex-wrap:wrap;}
.gal-page{min-width:40px;padding:8px 14px;border-radius:10px;background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);color:#475569;text-decoration:none;font-size:14px;text-align:center;}
html:not(.light-theme) .gal-page{color:#cbd5e1;}
.gal-page:hover{border-color:#2563eb;color:#2563eb;}
.gal-page.on,.gal-page.active{background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;border-color:transparent;font-weight:600;}
.gal-page.disabled{opacity:.35;pointer-events:none;}

.gal-empty{text-align:center;padding:72px 20px;color:#94a3b8;}
.gal-empty i{font-size:48px;display:block;margin-bottom:12px;color:#cbd5e1;}
.gal-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-size:14px;font-weight:600;text-decoration:none;border:0;cursor:pointer;}
.gal-btn:hover{filter:brightness(1.08);color:#fff;}
.gal-btn-ghost{background:#f1f5f9;color:#475569;}
html:not(.light-theme) .gal-btn-ghost{background:#232946;color:#cbd5e1;}
.gal-btn-ghost:hover{color:#2563eb;}

.gal-detail{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:18px;margin-top:8px;align-items:start;}
.gal-stage{position:relative;background:#0b1220;border-radius:12px 12px 0 0;overflow:hidden;min-height:280px;display:flex;align-items:center;justify-content:center;}
.gal-stage img{max-width:100%;max-height:72vh;object-fit:contain;display:block;}
.gal-navbtn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(15,23,42,.55);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:18px;}
.gal-navbtn:hover{background:#2563eb;color:#fff;}
.gal-nav-prev{left:14px;}
.gal-nav-next{right:14px;}
.gal-detail-body{padding:20px 22px 22px;}
.gal-detail-body h1{font-size:24px;font-weight:800;margin:0 0 10px;color:#0f172a;}
html:not(.light-theme) .gal-detail-body h1{color:#e2e8f0;}
.gal-detail-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#64748b;margin-bottom:12px;}
.gal-detail-desc{font-size:14px;line-height:1.8;color:#475569;margin:0 0 12px;}
html:not(.light-theme) .gal-detail-desc{color:#94a3b8;}
.gal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.gal-tag{font-size:12px;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;}
html:not(.light-theme) .gal-tag{background:#232946;color:#94a3b8;}
.gal-actions{display:flex;flex-wrap:wrap;gap:8px;}
.gal-side{display:flex;flex-direction:column;gap:14px;}
.gal-side-card{padding:16px 18px;}
.gal-side-title{font-weight:700;margin:0 0 12px;color:#0f172a;font-size:15px;}
html:not(.light-theme) .gal-side-title{color:#e2e8f0;}
.gal-info-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border,#e5e7eb);font-size:13px;}
.gal-info-row:last-child{border-bottom:0;}
.gal-info-row span{color:#94a3b8;}
.gal-info-row b{font-weight:600;color:#0f172a;}
html:not(.light-theme) .gal-info-row b{color:#e2e8f0;}
.gal-rel{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.gal-rel a{aspect-ratio:1;border-radius:8px;overflow:hidden;display:block;background:#e2e8f0;}
.gal-rel img{width:100%;height:100%;object-fit:cover;}
.gal-albums{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.gal-albums a{display:block;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;}
.gal-albums img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#e2e8f0;}
.gal-albums div{padding:8px 2px 0;}
.gal-albums strong{display:block;font-size:13px;color:#0f172a;}
html:not(.light-theme) .gal-albums strong{color:#e2e8f0;}
.gal-albums em{font-style:normal;font-size:11px;color:#94a3b8;}
.gal-bottom{margin-top:22px;display:flex;flex-direction:column;gap:22px;}
.gal-bottom .gal-sec{margin-top:0;}
.gal-art-pager{display:flex;gap:14px;justify-content:space-between;align-items:stretch;}
.gal-art-pager-item{display:flex;align-items:center;gap:12px;flex:1 1 0;max-width:calc(50% - 7px);padding:12px 14px;border-radius:14px;text-decoration:none;color:inherit;background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);min-width:0;}
.gal-art-pager-item > span{min-width:0;flex:1;}
html:not(.light-theme) .gal-art-pager-item{background:#151a30;border-color:#262c46;}
.gal-art-pager-item.next{justify-content:flex-end;text-align:right;margin-left:auto;}
.gal-art-pager.solo .gal-art-pager-item{max-width:none;margin-left:0;}
.gal-art-pager-item img{width:88px;height:66px;object-fit:cover;border-radius:8px;flex-shrink:0;background:#0f172a;}
.gal-art-pager-item small{display:block;font-size:12px;color:#94a3b8;margin-bottom:2px;}
.gal-art-pager-item b{display:block;font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html:not(.light-theme) .gal-art-pager-item b{color:#e2e8f0;}
.gal-film{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.gal-film-item{min-width:0;text-decoration:none;color:inherit;}
.gal-film-item img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;display:block;background:#0f172a;}
.gal-film-item span{display:block;margin-top:6px;font-size:13px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html:not(.light-theme) .gal-film-item span{color:#e2e8f0;}
.gal-more-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.gal-more-card{display:flex;flex-direction:column;gap:8px;min-width:0;text-decoration:none;color:inherit;}
.gal-more-cover{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#0f172a;display:block;}
.gal-more-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.gal-more-card:hover .gal-more-cover img{transform:scale(1.04);}
.gal-more-title{font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html:not(.light-theme) .gal-more-title{color:#e2e8f0;}
.gal-more-meta{font-size:12px;color:#94a3b8;}

@media (max-width:1100px){
  .gal-spot{grid-template-columns:1fr;}
  .gal-spot-stage{min-height:220px;}
  .gal-masonry{columns:3;}
  .gal-detail{grid-template-columns:1fr;}
  .gal-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gal-film{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:700px){
  .gal-masonry{columns:2;}
  .gal-rel{grid-template-columns:repeat(3,1fr);}
  .gal-art-pager{flex-direction:column;}
  .gal-art-pager-item,.gal-art-pager-item.next{max-width:none;margin-left:0;}
  .gal-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gal-film{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:480px){
  .gal-masonry{columns:1;}
  .gal-toolbar{padding:14px;}
}
