:root{color-scheme:light;--ink:#302720;--muted:#52473e;--glass:linear-gradient(135deg,#fffdf7e8,#fffaf3cc);--edge:#fffdf7a0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:#e6ddcf}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button,.button,select{border:1px solid var(--edge);border-radius:32px;background:#fffaf3d9;padding:10px 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5;transition:background .2s}button:hover,.button:hover{background:#fffdf7}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8d6145;outline-offset:3px}input,textarea{background:#fffdf8e8;border:1px solid #c5b8a5;border-radius:14px;padding:10px 14px;width:100%}input[type=checkbox]{width:auto}label{display:block;margin:12px 0}textarea{resize:vertical;min-height:95px}h1,h2,.tagline{font-family:'Songti SC',STSong,SimSun,serif;font-weight:500}h1{font-size:clamp(42px,4.7vw,70px);line-height:1.3;margin:28px 0}h2{font-size:36px;line-height:1.4;margin:12px 0}h3{font-size:22px}h4{margin-bottom:8px}small{display:block;font-size:14px}img{max-width:100%;height:auto}section{margin-bottom:64px}.page-width{max-width:1440px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}.glass{background:var(--glass);border:1px solid var(--edge);border-radius:28px;backdrop-filter:blur(8px);box-shadow:0 10px 40px #49342008}#backdrop{position:fixed;inset:0;z-index:-1;background:linear-gradient(#fff8e944,#eee4d655),url('scenes/home/golden-hour.webp') center/cover;transition:background-image 1s}.site-header{position:sticky;top:16px;z-index:20;margin:16px 20px 0;padding:16px 26px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand img{border-radius:50%;width:44px;height:44px;object-fit:cover}.brand span{font-family:SimSun,serif;font-size:24px;font-weight:600}.brand small{font:12px/1.8 Arial;letter-spacing:2px}#navigation{display:flex;gap:24px}#navigation a:hover{color:#996346}.mobile-only{display:none}.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:60px;padding-bottom:60px;position:relative}.hero-intro{padding:38px;z-index:1}.hero-photo{width:100%;height:760px;object-fit:cover;object-position:50% 35%;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 88%,transparent);border:0}.tagline{font-size:30px;color:#69452e}.kicker{font-size:14px;font-weight:600;letter-spacing:2.5px;color:#69452e}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.contact-grid .button,.social-button{font-size:14px;min-height:52px}.social-button{display:flex;border:1px solid var(--edge);background:#fffaf3d9;border-radius:32px;align-items:center;overflow:hidden}.social-button a{flex:1;text-align:center;padding:10px 2px 10px 10px}.social-button button{padding:10px;border:0;border-left:1px solid #bba68d30;border-radius:0;background:none}.intro-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid #ab8d6630}.intro-footer small{font-size:13px}.carousel-controls{display:flex;align-items:center}.carousel-controls button{border:0;background:none;padding:9px 12px;min-width:38px}.section-heading{padding:24px 30px;margin-bottom:20px}.section-heading p{margin:8px 0 20px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #ab8d6630;padding-top:20px;margin:22px 0 16px}.metrics>div{border-right:1px solid #ab8d6630}.metrics>div:last-child{border:0}.metrics strong{display:block;font-family:Georgia,serif;font-size:30px}.metrics span{font-size:14px}.toolbar{display:flex;gap:14px;align-items:center;margin:22px 0}.search-label{position:relative;flex:1;margin:0}.search-label input{border-radius:32px;background:var(--glass)}#search-results{position:absolute;top:100%;left:0;right:0;background:#fffaf3;border-radius:15px;z-index:10;box-shadow:0 10px 20px #30272022;max-height:300px;overflow:auto}#search-results button{display:block;text-align:left;border:0;border-radius:0;width:100%;background:transparent}.song-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.song-card{padding:18px;min-width:0}.song-main{display:flex;gap:15px}.song-main img{width:104px;height:104px;object-fit:cover;border-radius:12px}.song-info{flex:1;min-width:0}.song-title{background:none!important;border:0;padding:0;text-align:left;font-size:19px;font-weight:600;border-radius:0}.song-info p{font-size:14px;margin:4px 0;color:var(--muted)}.text-button{background:none;border:0;padding:2px 0;border-radius:0}.actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ac906b30;margin-top:16px;padding-top:12px}.actions button{font-size:14px;background:none;border:0;padding:3px 6px}.actions button[aria-pressed=true]{color:#943447}.profile{display:grid;grid-template-columns:30% 1fr;gap:36px;padding:24px}.profile>img{width:100%;height:100%;max-height:790px;object-fit:cover;border-radius:20px}.profile p{line-height:1.9}.pills{display:flex;gap:16px;flex-wrap:wrap}.pills span{background:#fffaf3ad;padding:10px 16px;border-radius:20px}.group-title{padding:14px 22px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-card{padding:12px 12px 16px;min-width:0}.photo-card .cover{border:0;border-radius:18px;padding:0;background:none;width:100%;display:block;position:relative;overflow:hidden}.photo-card img{display:block;aspect-ratio:4/5;object-fit:cover;width:100%}.photo-card.video img{aspect-ratio:16/10}.photo-card .video-mark{position:absolute;bottom:12px;right:12px;border-radius:30px;padding:8px 14px;background:#fffaf3da}.photo-card h3,.photo-card p{margin:10px 8px;font-size:17px}.photo-card p{font-size:14px;white-space:pre-wrap}.photo-card .actions{margin:14px 6px 0}footer{padding-top:30px;padding-bottom:180px;font-size:14px}.player{position:fixed;bottom:12px;left:20px;right:20px;z-index:30;padding:12px 24px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.player[hidden]{display:none}.player-title{background:none;border:0;padding:0;justify-content:flex-start;text-align:left;min-width:0;font-weight:600}.player-title img{height:46px;width:46px;object-fit:cover;border-radius:50%;margin-right:10px}.player-controls{display:flex;gap:8px;align-items:center}.player-controls button{border:0;background:none;font-size:22px;padding:5px 10px}audio{width:100%;grid-column:1/-1;height:38px}dialog{border:1px solid #fffdf7;border-radius:26px;padding:30px;color:var(--ink);background:#fffaf3f7;max-width:min(760px,94vw);width:100%;max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#211b1680;backdrop-filter:blur(9px)}.dialog-close{position:sticky;float:right;top:0;border:0;z-index:2;font-size:24px;padding:0 12px}dialog h2{font-size:28px;padding-right:28px}#media-view img,#media-view video{max-height:60dvh;width:100%;object-fit:contain;border-radius:16px}#media-note{white-space:pre-wrap}.lightbox-controls{display:flex;justify-content:space-between;margin-top:16px}.lyrics-dialog{background:#261f1bf2;color:#f6eee4;text-align:center;width:840px}.lyrics-dialog button{background:transparent;color:inherit;border-color:#ffffff30}#lyric-lines{height:52dvh;overflow:auto;scroll-behavior:smooth;padding:18dvh 0}#lyric-lines button{display:block;width:100%;font-size:20px;color:#c3b8aa;border:0;border-radius:0;padding:15px 0}#lyric-lines button.current{color:#fff1cf;font-size:25px;font-weight:600}.lyric-controls{display:flex;justify-content:center;gap:12px}#qr-image{display:block;max-width:360px;max-height:55dvh;margin:auto;object-fit:contain}#comments article{border-bottom:1px solid #bba68d50;padding:16px 0}#comments p{white-space:pre-wrap}#toast{position:fixed;bottom:150px;left:50%;transform:translateX(-50%);background:#302720;color:white;padding:12px 22px;border-radius:18px;z-index:100;max-width:90vw}.empty{grid-column:1/-1;text-align:center;padding:42px}.admin-shell{max-width:1040px;margin:40px auto;padding:26px}.admin-shell .glass{padding:24px;margin-bottom:24px}.admin-shell details{padding:18px 0;border-bottom:1px solid #c5b8a5}.admin-shell summary{cursor:pointer;font-weight:600}.admin-shell form{margin:16px 0}.admin-shell button{margin-top:8px}.admin-shell .danger{color:#972d3e}.admin-shell p[role=alert]{color:#972d3e}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:0;left:0;background:white;z-index:100;padding:12px}@media(max-width:1100px){.site-header{gap:16px;padding:14px 20px}#navigation{gap:16px;font-size:14px}.desktop-only{display:none!important}.hero-intro{padding:26px}.contact-grid{gap:8px}.contact-grid .button,.social-button{font-size:13px}.page-width{padding-inline:24px}}@media(max-width:700px){html{scroll-padding-top:96px}.site-header{top:8px;margin:8px 10px 0;padding:12px 16px;border-radius:25px}.brand span{font-size:20px}.brand small{font-size:10px}.mobile-only{display:block}#navigation{display:none;position:absolute;top:85px;left:0;right:0;padding:20px;background:#fffaf3;box-shadow:0 12px 24px #0002;border-radius:24px;flex-direction:column}#navigation.open{display:flex}.page-width{padding-inline:16px}.hero{display:flex;flex-direction:column;padding-top:16px;gap:0;min-height:0}.hero-photo{order:-1;height:420px;object-position:50% 35%;margin-bottom:-60px}.hero-intro{padding:25px;width:100%}h1{font-size:44px;margin:16px 0}.tagline{font-size:25px}.hero-intro>p{font-size:16px}.contact-grid .button,.social-button{font-size:13px}.section-heading{padding:20px;border-radius:24px}h2{font-size:30px}.metrics{gap:10px}.metrics strong{font-size:25px;overflow-wrap:anywhere}.metrics span{font-size:clamp(12px,3.4vw,14px);white-space:nowrap}.section-heading small{font-size:12px}.toolbar{flex-wrap:wrap;gap:10px}.search-label{flex-basis:100%}.toolbar>select,.toolbar>.button{flex:1;font-size:13px;padding:10px;min-width:0}.song-grid{grid-template-columns:1fr}.song-card{padding:16px}.song-main img{width:85px;height:85px}.song-title{font-size:18px}.profile{grid-template-columns:1fr;padding:20px;gap:20px}.profile>img{height:340px;object-position:50% 24%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-card{padding:8px}.photo-card h3{font-size:16px}.photo-card .actions{flex-wrap:wrap;gap:0}.photo-card .actions button{font-size:12px;padding:3px}.player{left:8px;right:8px;bottom:8px;padding:10px 14px;gap:5px;border-radius:24px}.player-title{font-size:13px}.player-title img{width:30px;height:30px}.player-controls{gap:0}.player-controls select{max-width:94px;padding:7px;font-size:12px}.player-controls button{font-size:19px;padding:5px 7px}.intro-footer{gap:8px}.intro-footer small{font-size:12px}.carousel-controls button{padding:7px 9px;min-width:32px}.admin-shell{margin:10px auto;padding:12px}dialog{padding:20px}.lyrics-dialog #lyric-lines button{font-size:17px}.lyrics-dialog #lyric-lines button.current{font-size:22px}}@media(prefers-reduced-motion:reduce){html,#lyric-lines{scroll-behavior:auto}*{transition:none!important}}


/* Shared controls and WebKit-compatible glass. */
:root { --control-ink:#443b33; --app-height:100vh; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { overflow-x:hidden; }
[hidden],dialog:not([open]) { display:none!important; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { touch-action:manipulation; }
.ui-icon,.icon-button svg { width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none; }
.icon-button { display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;padding:0;border:1px solid #fffaf3b3;border-radius:50%;color:var(--control-ink);background:linear-gradient(145deg,#fffdf6bd,#f7efe34d);box-shadow:inset 0 1px #fff8,0 3px 12px #53381b09;transition:background .2s,transform .2s; }
.icon-button:hover { background:#fffdf4d9;transform:translateY(-1px); }
.icon-button:active { transform:scale(.95); }
.glass,.mode-menu { -webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%); }
.carousel-controls { gap:12px; }
.carousel-controls .icon-button { width:44px;height:44px;min-width:44px;padding:0;border:1px solid #fff9;background:linear-gradient(145deg,#fffef8ad,#f7efe350); }
.carousel-controls #photo-pause { background:#fffcf0c9; }
.player { left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 40px);max-width:880px;padding:12px 22px 14px;bottom:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;border-radius:28px;background:linear-gradient(130deg,#fffdf5bb,#f9f0e593);border:1px solid #fffaf3ad;box-shadow:0 8px 36px #30272017,inset 0 1px #fff9; }
#audio { display:none; }
.player-title { overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap;font-size:16px; }
.player-title img { vertical-align:middle; }
.player-controls,.lyrics-player-controls { display:flex;align-items:center;gap:22px;min-width:0; }
.transport { display:flex;align-items:center;justify-content:center;gap:16px; }
.player-controls .icon-button,.lyrics-player-controls .icon-button { width:46px;height:46px;padding:0;background:#fffaf344;border:1px solid #fff9; }
#toggle-play,#lyrics-toggle { width:54px;height:54px;background:linear-gradient(145deg,#fffdf8ed,#fff6e1af);box-shadow:0 3px 14px #513a2512,inset 0 1px #fffb; }
.playback-progress { grid-column:1/-1;display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;font-variant-numeric:tabular-nums;color:#50453a; }
.playback-progress>input { flex:1;min-width:0;width:100%; }
.playback-progress input[type=range] { padding:0;accent-color:#987356;height:24px;border:0;background:transparent;cursor:pointer; }
.volume-control { display:flex;align-items:center;gap:8px;margin:0 0 0 6px; }
.volume-control input { width:80px; }
.volume-control svg { width:18px;height:18px; }
.mode-picker { position:relative;flex-shrink:0; }
.mode-trigger { min-height:44px;gap:8px;padding:8px 12px;color:#4a3d31;background:#fffaf385;border:1px solid #fff9;white-space:nowrap;font-size:14px; }
.mode-trigger .ui-icon { width:18px;height:18px; }
.mode-trigger .ui-icon:last-child { width:14px;height:14px; }
.mode-menu { position:absolute;bottom:calc(100% + 12px);left:0;width:172px;padding:7px;z-index:120;border:1px solid #fffdf5de;border-radius:20px;background:linear-gradient(145deg,#fffdf5ed,#f5eddfdb);box-shadow:0 12px 36px #493a2521,inset 0 1px #fffe; }
.mode-menu button { width:100%;display:flex;justify-content:space-between;gap:12px;border:0;border-radius:13px;padding:9px 12px;font-size:14px;background:transparent;color:#44372d; }
.mode-menu button:hover,.mode-menu button:focus-visible { background:#fffdf4; }
.mode-menu button[aria-checked=true] { background:#e5d3bb6b;font-weight:600; }

/* Desktop lyrics: a centered, approximately half-screen photograph panel. */
dialog { max-height:calc(var(--app-height) - 32px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch; }
dialog::backdrop { background:#423a3038;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px); }
.lyrics-dialog { position:fixed;inset:0;margin:auto;width:76vw;max-width:1020px;height:76vh;height:calc(var(--app-height) * .76);max-height:700px;min-height:0;padding:0;border:1px solid #fffaf3d9;border-radius:30px;overflow:hidden;background:#f4ede3;color:#352d25;text-align:left;box-shadow:0 24px 90px #34291c30; }
.lyrics-dialog[open] { display:grid;grid-template-rows:auto minmax(0,1fr) auto;isolation:isolate; }
#lyrics-backdrop { position:absolute;inset:0;z-index:-1;pointer-events:none;background:#e7ddce center/cover no-repeat; }
#lyrics-backdrop::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff8ec0d 22%,#fff9ee9e 57%,#fff9efd9); }
.lyrics-topbar { position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px; }
.lyrics-topbar button { position:relative;min-height:42px;padding:8px 13px;background:#fffaf3c7;color:#443b33;border:1px solid #fffb;font-size:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px); }
.lyrics-top-title { font-size:11px;letter-spacing:2px;color:#5d4e40; }
.lyrics-stage { position:relative;min-height:0;display:grid;grid-template-columns:44% 56%;overflow:hidden;padding:0 26px; }
#lyrics-photo { width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent); }
.lyrics-copy { display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 12px 6px 34px; }
.lyrics-kicker { color:#705c48;font-size:12px;letter-spacing:2px; }
.lyrics-copy h1 { font-size:clamp(26px,2.6vw,40px);line-height:1.3;margin:10px 0 12px;color:#372c22;overflow-wrap:anywhere; }
.lyrics-dialog #lyric-lines { position:relative;flex:1;min-height:0;height:auto;padding:28px 4px 65px 0;overflow-y:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#8b735c40 transparent; }
#lyric-lines::-webkit-scrollbar { width:3px; }
#lyric-lines::-webkit-scrollbar-thumb { background:#8b735c40;border-radius:8px; }
.lyrics-dialog #lyric-lines button { padding:14px 0;font-size:19px;line-height:1.65;text-align:left;color:#6c5c4c;font-weight:400;border:0;background:none;text-shadow:0 1px 3px #fff9; }
.lyrics-dialog #lyric-lines button.current { color:#35271d;font-size:23px;font-weight:650; }
.lyrics-player { z-index:5;position:relative;display:grid;gap:6px;width:calc(100% - 48px);max-width:760px;margin:12px auto 20px;padding:12px 20px;color:#44382c;border:1px solid #fffdf7bd;border-radius:25px;background:linear-gradient(120deg,#fffdf5ad,#f9f0e599);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);box-shadow:0 5px 24px #57402612,inset 0 1px #fff9; }
.lyrics-player-controls { justify-content:space-between; }
.lyrics-player-song { max-width:140px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px; }
.lyrics-dialog .icon-button { color:#44382c; }
body.dialog-open { position:fixed;width:100%;overflow:hidden; }
.dialog-fallback-backdrop { position:fixed;inset:0;z-index:99;background:#423a3066; }
dialog[data-fallback][open] { position:fixed;z-index:100;top:0;left:0;right:0;bottom:0;margin:auto; }
.comment-reply { margin:12px 0 4px;padding:14px 18px;background:#e6d7c552;border-left:2px solid #a98c6b;border-radius:0 14px 14px 0; }
.comment-reply strong { color:#745438; }
.comment-reply p { margin-bottom:0; }
#comments-dialog input,#comments-dialog textarea { font-size:16px; }

/* Admin navigation is independent of the mobile public navigation. */
.admin-tabs { position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin:22px 0;padding:0;background:none;box-shadow:none; }
.admin-tabs a[aria-current=page] { background:#6f513d;color:#fff; }
.admin-panel { scroll-margin-top:20px; }
.admin-shell input,.admin-shell textarea,.admin-shell select { max-width:100%;font-size:16px; }
.gallery-admin-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.gallery-admin-card { padding:12px;border:1px solid #fff9;border-radius:20px;background:#fffaf388;min-width:0; }
.gallery-admin-thumb { margin-bottom:12px; }
.gallery-admin-thumb img,.gallery-admin-thumb video { width:100%;height:220px;object-fit:contain;border-radius:12px;background:#e6ddcf; }
.gallery-admin-card small { margin-top:4px;color:#705f4e; }
.video-error { font-size:13px; }
.video-error a { text-decoration:underline; }
.upload-entry-tabs { display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px; }
.upload-entry.active { background:#6f513d;color:#fff; }
.reply-form { padding:12px 18px;border-left:2px solid #c5ad92;background:#f9f1e655;border-radius:14px; }
.reply-form textarea { min-height:80px; }
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
 .glass,.player,.lyrics-player,.mode-menu { background:#f9f3e9ed; }
}
@media(max-width:900px) {
 .lyrics-dialog { width:88vw; }
 .lyrics-player-song { display:none; }
 .lyrics-player-controls { justify-content:space-between;gap:14px; }
 .lyrics-copy { padding-left:18px; }
}
@media(max-width:700px) {
 body { padding-bottom:env(safe-area-inset-bottom,0px); }
 input,textarea,select { font-size:16px; }
 .hero-photo { width:calc(100% + 32px);max-width:none;height:420px;border:0;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent); }
 .hero { overflow:visible; }
 .intro-footer { flex-wrap:wrap;gap:14px; }
 .carousel-controls { gap:14px;margin-left:auto; }
 .player { width:calc(100% - 16px);left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));padding:10px 12px;border-radius:23px;grid-template-columns:1fr;gap:8px; }
 .player-title { font-size:14px; }
 .player-title img { width:30px;height:30px; }
 .player-controls { justify-content:space-between;gap:8px; }
 .transport { gap:12px; }
 .player-controls .icon-button,.lyrics-player-controls .icon-button { width:44px;height:44px; }
 #toggle-play,#lyrics-toggle { width:48px;height:48px; }
 .playback-progress { font-size:11px;gap:7px; }
 .volume-control { display:none; }
 .mode-trigger { padding:8px 10px;font-size:13px; }
 .mode-trigger>.ui-icon:first-child { display:none; }
 .mode-menu { width:158px; }
 .lyrics-dialog { width:calc(100vw - 12px);max-width:none;height:calc(var(--app-height) - 12px);max-height:none;border-radius:24px; }
 .lyrics-topbar { padding:12px 12px 10px;padding-top:max(12px,env(safe-area-inset-top,0px)); }
 .lyrics-topbar button { min-height:44px;padding:8px 12px; }
 .lyrics-top-title { display:none; }
 .lyrics-stage { display:block;min-height:0;padding:0 20px; }
 #lyrics-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.72;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent);mask-image:linear-gradient(to bottom,#000 72%,transparent);pointer-events:none; }
 .lyrics-copy { position:relative;z-index:1;height:100%;padding:18px 16px 6px;background:linear-gradient(90deg,#fffaf1aa,#fffaf17d);border-radius:18px; }
 .lyrics-copy h1 { font-size:32px;margin:8px 0; }
 .lyrics-dialog #lyric-lines button { font-size:18px;padding:14px 0; }
 .lyrics-dialog #lyric-lines button.current { font-size:22px; }
 .lyrics-player { width:calc(100% - 24px);padding:12px;margin:10px auto 12px;margin-bottom:max(12px,env(safe-area-inset-bottom,0px));gap:8px;border-radius:20px; }
 .lyrics-player-controls { gap:8px; }
 .lyrics-player .transport { gap:10px; }
 .admin-tabs { display:flex;position:static;flex-direction:row;flex-wrap:wrap;gap:8px; }
 .admin-tabs a { font-size:14px;padding:10px 13px; }
 .admin-shell { width:100%;padding:12px; }
 .admin-shell .glass { padding:18px; }
 .admin-shell h1 { font-size:30px; }
 .gallery-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
 .gallery-admin-thumb img,.gallery-admin-thumb video { height:150px; }
 .upload-entry-tabs { gap:8px; }
 .upload-entry { padding:10px;font-size:14px; }
 .comment-reply { padding:10px 12px; }
}
@media(max-width:380px) {
 .lyrics-player .transport,.player .transport { gap:5px; }
 .lyrics-player .icon-button,.player .icon-button { width:40px;height:44px; }
 .gallery-admin-grid { grid-template-columns:1fr; }
 .mode-trigger { font-size:12px;padding:8px; }
}
@media(max-height:500px) and (orientation:landscape) {
 .lyrics-dialog { width:90vw;height:calc(var(--app-height) - 12px); }
 .lyrics-topbar { padding:6px 12px; }
 .lyrics-kicker,.lyrics-player-song { display:none; }
 .lyrics-copy h1 { font-size:22px;margin:0; }
 .lyrics-player { margin:4px auto 8px;padding:6px 14px; }
 .lyrics-dialog .transport .icon-button { width:38px;height:38px; }
}

/* Final visual polish for the lyrics overlay and site footer. */
.admin-link { color:#625b55; font-size:12px; opacity:.68; letter-spacing:.02em; }
.admin-link:hover,.admin-link:focus-visible { color:#443d38; opacity:1; }
.lyrics-stage { isolation:isolate; }
#lyrics-photo { border:0; box-shadow:none; outline:0; opacity:1; filter:saturate(.94) contrast(.98); mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent); mask-composite:intersect; -webkit-mask-composite:source-in; -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 85%,transparent); }
.lyrics-copy h1 { text-align:center; }
.lyrics-dialog #lyric-lines { text-align:center; }
.lyrics-dialog #lyric-lines button { width:100%; text-align:center; color:rgba(48,50,52,.70); text-shadow:0 1px 5px rgba(255,253,247,.70); letter-spacing:.01em; }
.lyrics-dialog #lyric-lines button.current { color:#b37b26; font-weight:800; text-shadow:0 1px 5px #fff,0 0 16px rgba(214,169,79,.34); }
@media(max-width:700px) {
 #lyrics-photo { opacity:.66; mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 80%,transparent 100%); -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 80%,transparent 100%); }
 .lyrics-copy h1 { text-align:center; }
 .lyrics-dialog #lyric-lines button { text-align:center; }
}

