/* Shared identity and touch layout; theme colors still belong to each album. */
.site-header .brand{font-family:Georgia,serif;font-size:32px;letter-spacing:-1.35px;white-space:nowrap;line-height:1.1}
.site-header .brand .brand-star{font-size:28px;margin-left:6px}
.footer .brand{font-family:Georgia,serif;white-space:nowrap;font-size:24px;letter-spacing:-1px}
.footer .brand .brand-star{font-size:22px}
.site-header nav{min-width:0}
.site-header nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
.album-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px) and (min-width:651px){
  .header.site-header{height:auto;min-height:92px;flex-wrap:wrap;gap:8px 22px;padding:17px 28px 0}
  .header.site-header nav{order:3;flex:0 0 100%;justify-content:flex-start;gap:25px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .header.site-header nav::-webkit-scrollbar{display:none}
  .header.site-header nav a{flex:none;padding:10px 3px}
  .site-header .header-action{margin-left:auto}
}
@media(max-width:650px){
  html{scroll-padding-top:138px}
  .header.site-header{padding:17px 20px 0;min-height:106px;gap:0;overflow:hidden}
  .site-header .brand{font-size:28px;letter-spacing:-1.15px}
  .site-header .brand .brand-star{font-size:25px}
  .header.site-header nav{order:3;flex:0 0 100%;display:flex;justify-content:flex-start;gap:8px;margin-top:12px;padding:0 0 5px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:4px;scroll-snap-type:x proximity}
  .header.site-header nav::-webkit-scrollbar{display:none}
  .header.site-header nav a{flex:0 0 auto;min-height:44px;padding:10px 14px;font-size:12px;line-height:1.5;border-radius:18px;scroll-snap-align:center}
  .header.site-header nav a[aria-current="page"]{background:color-mix(in srgb,var(--accent) 11%,transparent);font-weight:600}
  .header.site-header nav a[aria-current="page"]::after{display:none}
  .album-nav{min-height:54px;gap:14px}
  .album-nav a{min-height:44px;padding-inline:7px}
  .footer{flex-wrap:wrap;gap:16px;padding-bottom:25px}
  .footer .brand{font-size:22px}
  .carousel-controls .circle{width:44px;height:44px;min-width:44px;font-size:18px}
  .carousel-controls{gap:6px}
  .carousel-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:13px 20px}
  .slide-caption{flex:1;min-width:105px}
  .carousel-controls{margin-left:auto}
  .tabs button{min-height:44px;padding:8px 13px}
  .music-player{width:300px;min-height:64px;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:8px 10px;right:16px}
  .music-player .record{width:44px;height:44px;font-size:21px}
  .music-player .music-play{width:44px;height:44px;flex-basis:44px;border-radius:50%;font-size:19px}
  .music-player .track-info{min-height:44px;justify-content:center;text-align:left}
  .music-player .track-info strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .music-player .track-info span{font-size:10px}
  .music-player .music-more{min-width:44px;min-height:44px}
  .music-player.is-expanded{grid-template-columns:44px minmax(0,1fr) 44px;max-width:calc(100vw - 24px);right:12px}
  .music-player.is-expanded .compact-playback{flex-wrap:wrap;gap:8px}
  .music-player.is-expanded .compact-step{width:44px;height:44px;flex-basis:44px}
  .music-player.is-expanded .compact-progress{flex:1 0 100%;margin:0}
  #musicSeek{min-height:40px}
  .playlist-transport{flex-wrap:wrap}
  .playlist-transport button,.playlist-song,.close-button,.photo-zoom-toolbar button{min-height:44px}
  .close-button{min-width:44px}
  .lightbox-close{width:44px;height:44px;top:8px;right:8px}
  .lightbox-nav{min-width:44px;min-height:54px;background:#fbfaf6e6;border-radius:24px}
  .photo-zoom-toolbar button{min-width:44px}
  .home-music-toggle{min-height:64px;padding:8px 11px;gap:9px}
  .home-music-record{width:44px;height:44px;flex-basis:44px}
  .home-music-icon{display:grid;place-items:center;min-width:44px;min-height:44px}
  .home-music-info small{font-size:10px}
}
@media(max-width:360px){
  .header.site-header{padding-inline:16px}
  .music-player{max-width:calc(100vw - 24px);right:12px}
  .carousel-bottom{margin-inline:16px}
  .footer .brand{font-size:21px}
}
