@charset "UTF-8";
:root{--pine:#0a3029;--forest:#174b3d;--cream:#f4f2e8;--gold:#d7c18c;--line:#d7c18c40;--muted:#f4f2e89c;font-family:"Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;color:var(--cream);background:var(--pine);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}em{font-style:normal}button,input,a{-webkit-tap-highlight-color:transparent}.proposal-nav{height:38px;background:#05251f;color:#c5d1c7;display:flex;justify-content:space-between;align-items:center;padding:0 3.5%;gap:18px;font-size:10px;border-bottom:1px solid #d7c18c20}.proposal-nav nav{display:flex;gap:4px;height:100%}.proposal-nav nav a{display:flex;align-items:center;padding:0 18px}.proposal-nav a[aria-current]{background:var(--gold);color:#193c2f}.proposal-nav>span{font-size:9px;opacity:.6}.site{min-height:calc(100svh - 38px);display:flex;flex-direction:column}header{height:100px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex:none;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;font-size:17px;letter-spacing:1px;flex-shrink:0}.brand img{width:47px;height:47px;object-fit:contain;border-radius:50%;background:#fff}.brand small{display:block;font:7px Arial;letter-spacing:1.45px;margin-top:8px}.header-title{display:flex;align-items:center;gap:19px}.header-title>span{font-family:SimSun,serif;font-size:24px;letter-spacing:4px}.header-title>small{font-size:8px;line-height:1.7;letter-spacing:1px;max-width:85px;padding-left:19px;border-left:1px solid var(--line);color:var(--gold)}.header-tools{display:flex;align-items:center;gap:21px}.cache-state{font-size:9px;color:var(--muted)}.cache-state:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:8px}.fullscreen{font-size:26px;color:var(--gold);padding:4px}.photo-frame{position:absolute;inset:0;overflow:hidden}.photo-frame img{position:absolute;inset:0;object-fit:cover}.slide-next{opacity:0;transition:opacity 1.1s ease}.slide-next.crossfade{opacity:1}.lyrics-kicker{font-size:10px;letter-spacing:4px;color:var(--gold);margin:0 0 30px;display:flex;align-items:center;justify-content:center;gap:20px}.lyrics-kicker>span{width:34px;height:1px;background:var(--gold);opacity:.65}.next-line{font-size:clamp(17px,1.8vw,29px);letter-spacing:5px;color:var(--muted);margin:28px 0 0}footer{padding:0 4.3%;background:#092d26;flex:none}.player{display:grid;grid-template-columns:335px 1fr;align-items:center;gap:40px;padding:23px 0 18px;border-top:1px solid var(--line)}.track-buttons{display:flex;gap:12px}.track-buttons button{display:flex;align-items:center;justify-content:center;gap:13px;padding:14px 20px;border:1px solid #d7c18c66;font-size:13px;white-space:nowrap;transition:background .25s,color .25s}.track-buttons small{font:8px Arial;letter-spacing:1px;opacity:.7}.track-buttons button.active{background:var(--gold);color:#103d30;border-color:var(--gold)}.transport{display:flex;gap:20px;align-items:center;min-width:0}.restart{font-size:24px;padding:4px}.play{border:1px solid #d7c18c77;color:var(--gold);border-radius:50%;width:45px;height:45px;flex-shrink:0;font-size:15px;display:grid;place-content:center}.seek-wrap{min-width:60px;flex:1}.time-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;margin-bottom:11px;color:#d3ddcd}.time-label>span:last-child{white-space:nowrap}.time-label b{font-family:Arial;font-weight:400;font-variant-numeric:tabular-nums}.seek,.volume{display:block;width:100%;height:3px;accent-color:var(--gold);margin:0;cursor:pointer}.volume-label{display:flex;align-items:center;gap:12px;width:91px;color:var(--gold)}.volume-label>span{font-size:21px}.footer-note{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:#a7bba9;padding-bottom:16px}audio{display:none}
/* 01: a panoramic concert hall, lyrics occupy the central stage */
.hall{position:relative;isolation:isolate;min-height:600px;flex:1;display:flex;flex-direction:column;overflow:hidden}.hall-backdrop{position:absolute;inset:0;z-index:-3}.hall-backdrop img{object-position:center 43%;filter:saturate(.7) brightness(.8)}.hall-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#073429f5 0%,#0734298a 30%,#062f29aa 75%,#082f29d9),linear-gradient(90deg,#032d2677,transparent 60%)}.stage-heading{display:flex;justify-content:space-between;margin:24px 5%;font-size:10px;letter-spacing:2px;color:#e2decb}.hall-frame{position:absolute;inset:67px 4.9% 95px;border:1px solid #d7c18c4a;z-index:-1}.hall-frame:before,.hall-frame:after{content:"";position:absolute;width:24px;height:24px;border-color:var(--gold);border-style:solid}.hall-frame:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.hall-frame:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}.hall-lyrics{text-align:center;padding:42px 7% 38px;flex:1;display:flex;flex-direction:column;justify-content:center}.hall-lyrics h1{font-weight:500;line-height:1.25;font-size:clamp(66px,7.1vw,130px);letter-spacing:9px;margin:0;text-shadow:0 2px 30px #001b1899}.hall-lyrics h1 span,.hall-lyrics h1 em{display:block}.hall-lyrics h1 em{color:var(--gold);margin-top:5px}.hall-lyrics .next-line{color:#d4decdb3;font-size:22px}.lyric-dots{display:flex;gap:9px;justify-content:center;margin-top:25px}.lyric-dots i{width:4px;height:4px;border-radius:50%;background:#d7c18c66}.lyric-dots i:first-child{background:var(--gold)}.hall-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin:0 5% 26px;gap:20px}.hall-bottom small{font-size:8px;letter-spacing:2px;color:var(--gold)}.hall-bottom p{font-size:11px;letter-spacing:2px;margin:10px 0 0}.motto{text-align:right}.motto>span{display:block;font-size:10px;letter-spacing:3px;margin-bottom:10px}.motto>small{color:#bbccbb}
/* 02: green and warm white, a quiet architectural split */
.design-2{background:#f2f0e5}.design-2 header{background:#f2f0e5;color:#174336;border-color:#a38b5340}.design-2 .header-title small{color:#7c693d}.design-2 .cache-state{color:#476452}.design-2 .fullscreen{color:#496d4d}.heritage{display:grid;grid-template-columns:40% 60%;min-height:600px;flex:1}.heritage-image{position:relative;overflow:hidden;isolation:isolate}.heritage-image img{filter:saturate(.7) brightness(.87);object-position:43% center}.image-tint{position:absolute;inset:0;background:linear-gradient(0deg,#052c27e8,transparent 75%),linear-gradient(90deg,#103c2330,transparent);z-index:1}.image-top{position:absolute;top:30px;left:10%;right:10%;display:flex;align-items:center;justify-content:space-between;z-index:2;border-bottom:1px solid #fff4;padding-bottom:17px}.image-top>span{font:22px Georgia,serif;letter-spacing:4px}.image-top small{font:8px Arial;letter-spacing:2px}.image-story{position:absolute;left:10%;right:10%;bottom:45px;z-index:2}.small-rule{display:block;width:35px;height:1px;background:var(--gold);margin-bottom:24px}.image-story>p{font-family:SimSun,serif;font-size:36px;letter-spacing:4px;line-height:1.5;margin:0 0 20px}.image-story>small{font-size:10px;color:#d4decf;letter-spacing:1px}.heritage-lyrics{display:flex;flex-direction:column;padding:27px 9% 25px;position:relative;background:#103e32;isolation:isolate}.heritage-lyrics:before{content:"";position:absolute;inset:18px;border:1px solid #d7c18c25;z-index:-1}.heritage-top,.heritage-bottom{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1px;color:#c7d2bd}.heritage-center{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:left;padding:37px 0}.heritage-center .lyrics-kicker{justify-content:flex-start;font-size:9px;letter-spacing:3px;margin-bottom:32px}.heritage-center h1{font-family:SimSun,serif;font-weight:400;font-size:clamp(59px,5.9vw,110px);line-height:1.35;letter-spacing:4px;margin:0;white-space:nowrap}.heritage-center h1 span,.heritage-center h1 em{display:block}.heritage-center h1 em{color:var(--gold)}.heritage-center .next-line{font-size:clamp(16px,1.7vw,27px);letter-spacing:2px;margin-top:22px;white-space:nowrap}.heritage-rule{display:flex;align-items:center;gap:15px;margin-top:39px;max-width:310px;color:var(--gold)}.heritage-rule>span{height:1px;flex:1;background:#d7c18c50}.heritage-rule>i{font-style:normal;font-size:12px}.heritage-motto{font-size:10px;letter-spacing:3px;color:#cbd7c1;margin:20px 0 0}.heritage-bottom{font-size:8px;letter-spacing:.7px}.design-2 .track-buttons button{border-radius:2px}
/* 03: an open, light-filled stage with a large panorama */
.design-3{color:#174738;background:#f4f2e8;color-scheme:light}.design-3 header{background:#f4f2e8;border-color:#143d3029}.design-3 .header-title small,.design-3 .cache-state{color:#6b744f}.design-3 .fullscreen{color:#466b4d}.overture{padding:22px 4.3% 20px;flex:1;display:flex;flex-direction:column;min-height:600px}.overture-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;margin-bottom:18px;color:#56715b}.panorama{height:245px;display:grid;grid-template-columns:1fr 175px;gap:12px;flex:none}.panorama-main{position:relative;overflow:hidden;isolation:isolate}.panorama-main img{object-position:center 54%;filter:saturate(.75) brightness(.88)}.panorama-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07392cbd,transparent 75%);z-index:1}.panorama-copy{position:absolute;top:32px;left:35px;color:var(--cream);z-index:2}.panorama-copy>span{font-family:SimSun,serif;font-size:30px;line-height:1.6;letter-spacing:3px}.panorama-copy>small{display:block;font-size:9px;margin-top:21px;letter-spacing:1px;max-width:280px}.panorama-sign{position:absolute;bottom:23px;right:25px;font-family:SimSun,serif;font-size:23px;letter-spacing:5px;color:var(--cream);z-index:2}.panorama-sign small{display:block;font:7px Arial;letter-spacing:2px;margin-top:8px}.panorama-side{background:#164937;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.sunmark{font-size:39px;line-height:1;margin-bottom:15px}.panorama-side>p{font-family:SimSun,serif;font-size:23px;line-height:1.5;letter-spacing:3px;margin:0}.panorama-side>span:last-child{font-size:9px;line-height:1.8;letter-spacing:2px;color:#d5dcc4;margin-top:20px}.overture-lyrics{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px 0 26px}.overture-lyrics .lyrics-kicker{color:#7f7046;font-size:9px;margin-bottom:24px;letter-spacing:3px}.overture-lyrics h1{font-size:clamp(45px,5.9vw,112px);font-weight:500;letter-spacing:2px;line-height:1.35;margin:0;white-space:nowrap}.overture-lyrics h1 em{color:#88713e}.overture-lyrics .next-line{color:#72836b;letter-spacing:4px;font-size:22px;margin-top:22px}.overture-line{height:1px;background:#d5cfb8;width:55px;position:relative;margin:25px auto 0}.overture-line i{display:block;position:absolute;left:24px;top:-2px;width:5px;height:5px;transform:rotate(45deg);background:#a38a4e}.overture-bottom{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#71836c;gap:15px}.design-3 footer{color:var(--cream)}.design-3 .track-buttons button{border-radius:30px}.design-3 .play{background:var(--gold);color:#143d30}.design-3 footer input{color-scheme:dark}
@media(min-width:1600px) and (min-height:950px){.hall,.heritage,.overture{min-height:700px}.panorama{height:300px;grid-template-columns:1fr 225px}.hall-lyrics h1{font-size:122px}.heritage-center h1{font-size:110px}.overture-lyrics h1{font-size:106px}.overture-lyrics .next-line{font-size:30px}.next-line{font-size:30px}}
@media(max-width:1150px){.header-title{display:none}.proposal-nav>span{display:none}.player{grid-template-columns:275px 1fr;gap:25px}.track-buttons button{padding:14px 17px}.track-buttons small{display:none}.volume-label{width:65px}.heritage{grid-template-columns:38% 62%}.heritage-lyrics{padding-left:8%;padding-right:8%}.heritage-center h1{font-size:clamp(58px,6.2vw,80px)}.hall-lyrics h1{font-size:clamp(70px,8.2vw,95px)}.hall-lyrics{padding-top:35px;padding-bottom:35px}.hall-lyrics .next-line{font-size:23px}.panorama{height:230px;grid-template-columns:1fr 155px}.overture-lyrics h1{font-size:6.7vw;letter-spacing:1px}.image-story>p{font-size:31px}}
@media(max-width:700px){.proposal-nav{padding:0 10px;gap:8px;font-size:9px;height:38px}.proposal-nav nav{gap:0}.proposal-nav nav a{padding:0 7px;font-size:9px}header{height:84px;padding:0 5%;gap:10px}.brand{font-size:13px;gap:9px}.brand img{width:36px;height:36px}.brand small{font-size:5px;letter-spacing:1px}.header-tools{gap:5px}.cache-state{font-size:7px;max-width:91px}.fullscreen{font-size:22px}.hall{min-height:620px}.stage-heading{font-size:8px;letter-spacing:1px;margin:22px 6%}.stage-heading>span:last-child{max-width:105px;text-align:right;line-height:1.6}.hall-frame{inset:78px 5% 125px}.hall-lyrics{padding:50px 6% 45px}.hall-lyrics h1{font-size:53px;letter-spacing:3px;line-height:1.45}.lyrics-kicker{font-size:8px;letter-spacing:2px;gap:10px}.lyrics-kicker>span{width:18px}.hall-lyrics .next-line{font-size:15px;letter-spacing:2px;margin-top:25px}.hall-bottom{margin:0 6% 30px;display:block}.hall-bottom small{font-size:7px}.hall-bottom p{font-size:9px}.motto{margin-top:20px;text-align:left}.motto>span{font-size:8px;letter-spacing:2px;margin-bottom:0}.motto>small{display:none}footer{padding:0 5%}.player{display:flex;flex-direction:column;gap:20px;padding:20px 0}.track-buttons{width:100%}.track-buttons button{flex:1;font-size:13px}.transport{width:100%;gap:14px}.volume-label{display:none}.time-label{font-size:8px}.footer-note{font-size:7px;letter-spacing:.4px}.heritage{display:flex;flex-direction:column;min-height:unset}.heritage-image{height:260px;flex:none}.heritage-image img{object-position:center 45%}.image-story{bottom:25px;left:7%}.image-story>p{font-size:27px;margin-bottom:9px}.small-rule{margin-bottom:12px}.image-top{left:7%;right:7%;top:20px}.image-top>span{font-size:17px}.image-top small{font-size:7px}.heritage-lyrics{min-height:465px;padding:28px 10%}.heritage-center{padding:38px 0 30px}.heritage-center h1{font-size:56px}.heritage-center .next-line{font-size:16px}.heritage-top>span:last-child{display:none}.heritage-bottom>span:last-child{display:none}.heritage-rule{margin-top:26px}.heritage-motto{font-size:9px}.overture{padding:20px 5%;min-height:600px}.overture-top{font-size:7px;letter-spacing:.5px}.panorama{grid-template-columns:1fr;height:245px}.panorama-side{display:none}.panorama-copy{top:24px;left:24px}.panorama-copy>span{font-size:26px}.panorama-copy>small{font-size:8px;max-width:210px}.panorama-sign{font-size:18px;right:18px;bottom:18px}.overture-lyrics{padding:30px 0}.overture-lyrics h1{font-size:45px;letter-spacing:2px}.overture-lyrics h1>span,.overture-lyrics h1>em{display:block}.overture-lyrics .next-line{font-size:16px;letter-spacing:2px;margin-top:20px}.overture-lyrics .lyrics-kicker{font-size:7px;margin-bottom:15px}.overture-bottom{font-size:7px;letter-spacing:0}.overture-bottom>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Final classroom edition */
[hidden]{display:none!important}.site{min-height:100svh}.proposal-nav{display:none}.icon-button{display:grid;place-items:center}.icon-button svg,.volume-label svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cache-state{border:0;padding:5px;color:#c3d1bd;display:flex;align-items:center;gap:7px;font-size:9px}.cache-state:before{display:none}.cache-state>i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.cache-state.failed>i{background:#e6a88b}.fullscreen{padding:8px}.player{grid-template-columns:130px 1fr;gap:30px}.track-buttons{gap:13px}.track-buttons .icon-button{width:49px;height:49px;border-radius:50%;padding:11px;position:relative}.track-buttons .icon-button.active:after{content:'';position:absolute;bottom:-7px;left:22px;width:4px;height:4px;border-radius:50%;background:var(--gold)}.play{border:1px solid #d7c18c77}.play-shape{fill:currentColor;stroke:none}.play svg{width:22px;height:22px}.restart{padding:8px}.volume-label svg{width:20px;height:20px;flex-shrink:0}.hall-lyrics{min-height:430px}.hall-lyrics h1{overflow-wrap:anywhere;font-size:clamp(64px,6.7vw,122px);line-height:1.32}.hall-lyrics h1.long-lyric{font-size:clamp(46px,5.6vw,102px);letter-spacing:5px}.lyrics-kicker b{font-weight:400}.lyric-notice{font-size:11px;color:#e8d4aa;letter-spacing:1px;margin:18px 0 0;line-height:1.7}.hall-lyrics .next-line{font-size:clamp(17px,1.8vw,28px);line-height:1.7;max-width:92%;margin:22px auto 0}.hall-lyrics .next-line.wide{font-size:clamp(15px,1.5vw,23px)}.lyric-enter{animation:lyric-enter .28s ease-out}.lyric-dots{margin-top:21px}.manual-controls{display:flex;justify-content:center;gap:15px;margin-top:10px}.manual-controls button{border:1px solid var(--line);padding:5px 12px}.loading-dialog{background:#0c372d;color:var(--cream);border:1px solid #d7c18c66;border-radius:4px;box-shadow:0 30px 100px #001d18aa;max-width:460px;width:calc(100% - 40px);padding:35px 34px 28px}.loading-dialog::backdrop{background:#041c17bb;backdrop-filter:blur(8px)}.loading-mark{font-size:26px;color:var(--gold);margin-bottom:20px}.loading-dialog h2{font-family:SimSun,serif;font-size:26px;font-weight:400;letter-spacing:3px;margin:0 0 18px}.loading-description{font-size:12px;line-height:1.9;color:#becfba;margin:0 0 25px}.loading-dialog progress{display:block;width:100%;height:5px;accent-color:var(--gold);margin:0;border:0;border-radius:0;background:#244b3d}.loading-dialog progress::-webkit-progress-bar{background:#244b3d}.loading-dialog progress::-webkit-progress-value{background:var(--gold)}.loading-details{display:flex;justify-content:space-between;font-size:10px;color:#d9c89c;margin-top:12px;font-variant-numeric:tabular-nums}.loading-status{font-size:11px;line-height:1.8;color:#d2ddc8;margin-top:20px;overflow-wrap:anywhere}.loading-actions{display:flex;gap:12px;margin-top:18px}.loading-actions button{border:1px solid #d7c18c77;padding:10px 16px;font-size:12px}.loading-actions .retry{background:var(--gold);color:#113b2f}.hall-backdrop img{object-position:center 43%}.footer-note>span:first-child{letter-spacing:1px}.play:disabled,.restart:disabled,.seek:disabled{cursor:wait}@keyframes lyric-enter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.player{gap:21px}.track-buttons{justify-content:center}.track-buttons .icon-button{flex:0 0 49px}.hall-lyrics{min-height:390px}.hall-lyrics h1{font-size:51px;letter-spacing:3px}.hall-lyrics h1.long-lyric{font-size:38px;letter-spacing:2px}.hall-lyrics .next-line{font-size:15px;letter-spacing:1px}.hall-lyrics .next-line.wide{font-size:13px}.hall{min-height:610px}.header-tools{gap:0}.cache-state{font-size:7px;max-width:99px}.loading-dialog{padding:28px 25px}.loading-dialog h2{font-size:22px}.footer-note{font-size:8px}.footer-note>span:last-child{max-width:130px;text-align:right;line-height:1.7}.track-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.lyric-enter{animation:none}}
.update-app{position:fixed;right:22px;bottom:52px;z-index:50;background:#d7c18c;color:#123c2f;border:1px solid #d7c18c;border-radius:3px;padding:10px 15px;font-size:11px;box-shadow:0 5px 25px #001b1855}header,footer{transition:opacity .3s ease}.fullscreen-idle header,.fullscreen-idle footer{opacity:0;pointer-events:none}.fullscreen-idle header:focus-within,.fullscreen-idle footer:focus-within{opacity:1;pointer-events:auto}
@media(min-width:701px){.hall-lyrics h1{font-size:clamp(70px,8.2vw,122px)}.hall-lyrics h1.long-lyric{font-size:clamp(46px,6.2vw,105px)}}
/* Phone portrait: a complete singing stage and touch controls. */
.touch-hint{display:none}button,input{touch-action:manipulation}.site{min-height:100svh;min-height:100dvh}
@media(max-width:700px){
 header{height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));gap:8px}.brand{min-width:0;font-size:13px;letter-spacing:.4px;gap:8px}.brand img{width:35px;height:35px}.brand small{font-size:5.2px;letter-spacing:.6px;margin-top:6px}.header-tools{gap:0;flex-shrink:0}.cache-state{width:34px;min-height:44px;justify-content:center;max-width:none;padding:8px}.cache-state span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cache-state>i{width:6px;height:6px}.fullscreen{width:40px;min-height:44px;padding:9px}
 .hall{min-height:330px}.stage-heading{margin:17px 6% 12px;font-size:9px;letter-spacing:1px}.hall-frame{inset:51px 5% 85px}.hall-lyrics{min-height:0;padding:23px 6% 27px}.hall-lyrics h1,.hall-lyrics h1.long-lyric{font-size:min(clamp(36px,12vw,54px),calc((100vw - 68px)/var(--line-chars,5) - 1.5px));letter-spacing:1px;line-height:1.4}.lyrics-kicker{margin-bottom:19px;font-size:8px;letter-spacing:1.5px;gap:12px}.lyrics-kicker>span{width:20px}.hall-lyrics .next-line,.hall-lyrics .next-line.wide{font-size:clamp(12px,3.7vw,16px);line-height:1.7;letter-spacing:1px;margin-top:20px;max-width:100%}.lyric-dots{margin-top:16px}.hall-bottom{display:block;margin:0 6% 20px}.hall-bottom small{font-size:7px;letter-spacing:1.5px}.hall-bottom p{font-size:10px;line-height:1.7;letter-spacing:.5px;margin-top:7px}.motto{display:none}
 footer{padding:0 max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.player{display:grid;grid-template-columns:minmax(0,1fr) 44px 50px;gap:11px 12px;padding:16px 0 7px}.track-buttons{grid-column:1;grid-row:1;justify-content:flex-start;gap:13px;width:auto}.track-buttons .icon-button{flex:none;width:48px;height:48px}.track-buttons .icon-button.active:after{bottom:-5px;left:21px}.transport{display:contents}.restart{grid-column:2;grid-row:1;width:44px;height:48px;padding:11px}.play{grid-column:3;grid-row:1;width:48px;height:48px}.seek-wrap{grid-column:1/-1;grid-row:2;min-width:0}.time-label{font-size:9px;margin-bottom:0;line-height:1.7}.track-name{max-width:none}.seek{height:30px;-webkit-appearance:none;appearance:none;background:transparent}.seek::-webkit-slider-runnable-track{height:3px;background:#9a9e76;border-radius:3px}.seek::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--gold);border-radius:50%;margin-top:-6.5px}.seek::-moz-range-track{height:3px;background:#9a9e76;border-radius:3px}.seek::-moz-range-thumb{width:16px;height:16px;background:var(--gold);border:0;border-radius:50%}.volume-label{display:none}.footer-note{font-size:8px;letter-spacing:0;gap:12px;padding-bottom:0;line-height:1.8}.footer-note>span:first-child{letter-spacing:.3px}.footer-note .keyboard-hint{display:none}.footer-note .touch-hint{display:block;max-width:none;white-space:nowrap}.loading-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.loading-actions button{min-height:44px}.update-app{right:16px;bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);min-height:44px}
}
/* Phone landscape: compact stage, full lyrics, and a single control row. */
@media(orientation:landscape) and (max-height:520px) and (max-width:1100px){
 .site{min-height:100dvh}header{height:56px;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));gap:12px}.brand{font-size:12px;gap:9px}.brand img{width:32px;height:32px}.brand small{font-size:5px;margin-top:5px}.header-title{display:none}.header-tools{gap:6px}.cache-state{font-size:8px}.fullscreen{width:42px;min-height:44px}.hall{min-height:225px}.stage-heading{font-size:8px;letter-spacing:1px;margin:12px 5% 7px}.hall-frame{inset:35px 4.9% 44px}.hall-lyrics{min-height:0;padding:12px 10% 16px}.lyrics-kicker{font-size:7px;letter-spacing:2px;margin-bottom:11px;gap:12px}.hall-lyrics h1,.hall-lyrics h1.long-lyric{font-size:min(10.4vh,calc((100vw - 130px)/var(--line-chars,5) - 2px));letter-spacing:2px;line-height:1.24}.hall-lyrics h1 em{margin-top:0}.hall-lyrics .next-line,.hall-lyrics .next-line.wide{font-size:12px;letter-spacing:1px;margin-top:9px;line-height:1.4}.lyric-dots{display:none}.hall-bottom{display:block;margin:0 5% 12px}.hall-bottom small{display:none}.hall-bottom p{font-size:8px;margin:0;letter-spacing:.5px;line-height:1.5}.motto{display:none}
 footer{padding:0 max(20px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.player{display:grid;grid-template-columns:108px minmax(0,1fr);gap:20px;padding:10px 0 6px}.track-buttons{display:flex;gap:12px;width:auto;grid-column:auto;grid-row:auto;justify-content:flex-start}.track-buttons .icon-button{flex:none;width:44px;height:44px;padding:10px}.track-buttons .icon-button.active:after{left:19px;bottom:-4px}.transport{display:flex;gap:12px;width:auto}.restart{width:40px;height:44px;grid-column:auto;grid-row:auto;padding:9px}.play{width:44px;height:44px;grid-column:auto;grid-row:auto}.seek-wrap{grid-column:auto;grid-row:auto}.time-label{font-size:8px;margin-bottom:0;line-height:1.6}.seek{height:22px}.volume-label{display:none}.footer-note{font-size:7px;padding-bottom:0;line-height:1.6}.keyboard-hint{display:none!important}.touch-hint{display:block}.footer-note>span:last-child{max-width:none;white-space:nowrap}
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:700px) and (orientation:portrait){.hall{min-height:320px}}
@media(orientation:landscape) and (max-height:360px) and (max-width:1100px){header{height:48px}.hall{min-height:0}.stage-heading{font-size:7px;margin:7px 5% 4px}.hall-frame{inset:27px 4.9% 29px}.hall-lyrics{padding:6px 10% 8px}.lyrics-kicker{font-size:7px;letter-spacing:1px;margin-bottom:6px}.hall-lyrics h1,.hall-lyrics h1.long-lyric{font-size:8.6vh;line-height:1.2;letter-spacing:1px}.hall-lyrics .next-line,.hall-lyrics .next-line.wide{font-size:10px;line-height:1.4;margin-top:6px}.hall-bottom{margin:0 5% 8px}.hall-bottom p{font-size:7px;line-height:1.4}.player{padding-top:7px;padding-bottom:5px}.footer-note{font-size:7px}}
@media(max-width:700px){.site{height:100svh;height:100dvh}}
@media(orientation:landscape) and (max-height:520px) and (max-width:1100px){.site{height:100svh;height:100dvh}}
