:root{--ink:#171b18;--deep:#182d29;--deep2:#244039;--muted:#64716b;--paper:#f8f7f2;--ivory:#fffefa;--sage:#dfe9de;--gold:#b08d57;--gold-pale:#f3ebdb;--line:#e2e5df;--shadow:0 18px 42px rgba(26,39,30,.06);--radius:20px;--lyric-size:1.08rem;color-scheme:light}
[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b08d57;outline-offset:4px}button:disabled{opacity:.35;cursor:not-allowed}h1,h2,h3,p{margin-top:0}.skip-link{position:absolute;top:-90px;left:20px;padding:12px;background:white;z-index:40}.skip-link:focus{top:15px}
.notice-top{height:30px;display:flex;align-items:center;justify-content:center;gap:9px;background:#e7e7df;color:#53645a;font-size:.62rem;font-weight:750;letter-spacing:.16em}.notice-dot,.online-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#99713a}.notice-sep{opacity:.55}.site-header{max-width:1470px;margin:auto;padding:23px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-symbol{width:42px;height:42px;border:1px solid #bcb6a4;color:var(--deep);border-radius:50%;display:grid;place-items:center}.brand-wordmark{font-size:1.05rem;line-height:1.15;letter-spacing:.14em;font-weight:850}.brand-wordmark small{display:block;margin-top:6px;font-size:.48rem;font-weight:750;color:#748178;letter-spacing:.22em}.header-right{display:flex;align-items:center;gap:27px}.header-link{border:0;background:transparent;font-size:.75rem;font-weight:700;padding:8px 0}.header-link span{font-size:1rem;color:var(--gold)}.connection-status{font-size:.72rem;color:#53645a;display:flex;align-items:center;gap:8px}.online-dot{background:#4f9566}.offline .online-dot{background:#bd8c35}
.hero{max-width:1470px;margin:0 auto;padding:0 5.5%;height:395px;display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden}.hero-copy{background:var(--deep);color:#fffdf5;padding:51px clamp(35px,5.1vw,84px);border-radius:24px 0 0 24px;position:relative;z-index:1}.eyebrow,.overline{font-size:.62rem;font-weight:800;letter-spacing:.22em;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:20px;color:#ddbb87}.sparkle{font-size:16px}.hero h1{font:normal clamp(2.3rem,3.3vw,3.7rem)/1.035 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0 0 17px}.hero h1 em{color:#d4bd8f;font-weight:normal}.hero-copy>p{color:#e6e4d9;max-width:365px;font-size:.93rem;line-height:1.62}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:25px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 21px;border-radius:8px;font-size:.76rem;font-weight:800;min-height:43px}.button-light{background:#f9f4e8;color:var(--deep)}.button-dark{background:var(--deep);color:white}.button:hover{filter:brightness(.95)}.hero-note{max-width:155px;font-size:.65rem;color:#bcbeb7;line-height:1.5}.hero-art{position:relative;overflow:hidden;border-radius:0 24px 24px 0;background:radial-gradient(ellipse at 65% 34%,#c8a978 0%,#9c8a6e 29%,#5c6357 70%,#3f5347 100%)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(10,45,39,.35))}.halo{position:absolute;border:1px solid rgba(251,242,212,.35);border-radius:50%;width:500px;height:500px;top:58px;left:calc(50% - 220px);box-shadow:0 0 0 31px rgba(248,247,242,.07),0 0 0 89px rgba(248,247,242,.045)}.halo-b{width:345px;height:345px;top:130px;left:calc(50% - 140px);border-color:#f9dfac69}.halo-c{width:650px;height:650px;top:10px;left:calc(50% - 305px)}.sun-motif{position:absolute;z-index:1;width:180px;height:180px;border-radius:50%;bottom:-80px;right:24%;background:#e5c89990;box-shadow:0 0 40px 30px #dec39b32}.sun-motif span{position:absolute;width:2px;height:110px;background:#e2d1ac;left:50%;bottom:105%;transform-origin:bottom center}.sun-motif span:nth-child(1){transform:rotate(-60deg)}.sun-motif span:nth-child(2){transform:rotate(-30deg)}.sun-motif span:nth-child(3){transform:rotate(0deg)}.sun-motif span:nth-child(4){transform:rotate(30deg)}.sun-motif span:nth-child(5){transform:rotate(60deg)}.art-copy{position:absolute;left:58px;top:62px;z-index:2;color:white}.art-copy>span{display:block;font-size:.66rem;letter-spacing:.24em;font-weight:800;opacity:.85;line-height:1.8}.art-copy>strong{display:block;font-family:Georgia,serif;letter-spacing:-.08em;font-size:clamp(3.5rem,5.2vw,5.8rem);font-weight:normal;margin-top:24px}.art-copy i{font-style:normal;color:#ead8b7}
.intro-strip{max-width:1310px;margin:21px auto 0;padding:0 22px;display:flex;justify-content:center;gap:26px;align-items:center;flex-wrap:wrap;color:#657068;font-size:.7rem}.intro-strip b{color:var(--deep);font-weight:800}.tiny-cross{color:var(--gold)}
.workspace{max-width:1470px;margin:44px auto 80px;padding:0 5.5%;display:grid;grid-template-columns:307px minmax(0,1fr);gap:26px;align-items:start}.library-sidebar{background:#f1f3ec;border:1px solid #e4e9dd;border-radius:18px;padding:27px 14px 18px;position:sticky;top:18px}.library-head{padding:0 14px 20px}.library-head h2{font:normal 1.9rem/1.15 Georgia,serif;letter-spacing:-.035em;margin:10px 0 8px}.song-count{font:700 .66rem/1 ui-sans-serif,system-ui,sans-serif;color:#4c6454;margin-left:11px;background:#e1e8dd;border-radius:50%;width:26px;height:26px;display:inline-grid;place-items:center;vertical-align:middle;letter-spacing:0}.library-head p{font-size:.77rem;color:#778279;margin:0}.search-field{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e0e5df;border-radius:9px;padding:0 11px;height:43px;margin:0 10px 18px;color:#889289}.search-field input{background:transparent;border:0;outline:none;width:100%;font-size:.76rem;min-width:0;color:var(--deep)}.search-field:focus-within{border-color:#aebc9f;box-shadow:0 0 0 2px #d5e0cf}.progress-panel{padding:13px 13px 16px;margin:0 10px 15px;background:#e5ecdf;border-radius:10px}.progress-panel>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.progress-panel .overline{font-size:.52rem;color:#6e806d}.progress-panel span#progress-label{font-size:.65rem;color:#546658}.progress-track{height:4px;border-radius:20px;background:#ced9c9;margin-top:12px;overflow:hidden}.progress-fill{width:0;height:100%;background:#5a8166;transition:width .2s}.song-list{display:grid;gap:3px}.song-item{width:100%;display:flex;align-items:center;gap:12px;border:1px solid transparent;background:transparent;border-radius:10px;padding:11px 12px;text-align:left;transition:background .15s;color:var(--ink)}.song-item:hover{background:#e9eee5}.song-item.selected{background:var(--deep);color:white;box-shadow:0 6px 18px #13372c25}.song-number{font-size:.71rem;font-weight:800;color:#809185;flex:0 0 24px}.song-item.selected .song-number{color:#d2bc8a}.song-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.song-text strong{font-size:.765rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.song-text small{font-size:.66rem;color:#819084}.song-item.selected .song-text small{color:#a4b4aa}.done-dot{width:7px;height:7px;background:#8cb78e;border-radius:50%;flex:0 0 7px}.song-list-empty{padding:20px;text-align:center;color:#788479;font-size:.78rem}.sidebar-bottom{margin:30px 11px 0;padding-top:20px;border-top:1px solid #dce2d7;display:flex;align-items:start;gap:13px;color:#768076}.sidebar-bottom .small-glyph{font-size:1.1rem;color:var(--gold)}.sidebar-bottom p{font:italic .82rem Georgia,serif;margin:0}.sidebar-bottom small{display:block;font:700 .52rem system-ui,sans-serif;letter-spacing:.16em;margin-top:10px;color:#869386}
.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 19px;min-height:38px}.detail-crumb{font-size:.62rem;font-weight:850;color:#849187;letter-spacing:.15em}.detail-crumb span{color:#c0cbbf;padding:0 7px}.detail-crumb strong{color:var(--deep)}.role-switch{display:flex;gap:2px;background:#e7ebe5;border-radius:9px;padding:4px;flex:none}.role-switch button{font-size:.68rem;color:#7f8b80;border:0;background:transparent;border-radius:7px;padding:8px 12px;font-weight:750}.role-switch button[aria-pressed=true]{background:white;color:var(--deep);box-shadow:0 1px 4px #15281913}.song-sheet{background:var(--ivory);border:1px solid #e9eae4;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.song-top{display:flex;justify-content:space-between;gap:14px;padding:34px 36px 29px}.track-label{font-size:.61rem;font-weight:800;letter-spacing:.19em;color:var(--gold);margin-bottom:12px}.song-heading{min-width:0}.song-heading h2{font:normal clamp(2rem,3.1vw,3.1rem)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin-bottom:12px}.song-heading>p{font-size:.83rem;line-height:1.65;max-width:420px;color:#69766d;margin-bottom:16px}.song-tags{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-flex;align-items:center;padding:5px 10px;font-size:.66rem;font-weight:750;border-radius:4px;background:#e7eee3;color:#506b56}.tag-muted{background:#f2f0eb;color:#6d746f}.tag-sample{background:#f6eedf;color:#856831}.disc-art{width:122px;height:122px;background:radial-gradient(circle at 30% 25%,#dac391,#a28c69 55%,#527166);border-radius:14px;position:relative;display:grid;place-items:center;overflow:hidden;flex:none;color:#fff7de}.disc-art:after{content:"";position:absolute;inset:8px;border:1px solid #ffffff50;border-radius:11px}.disc-art>span{position:absolute;top:12px;left:13px;z-index:1;font-size:.58rem;font-weight:800;letter-spacing:.14em}.disc-ring{height:76px;width:76px;border:1px solid #f4dfae66;border-radius:50%;box-shadow:0 0 0 16px #ffffff10,0 0 0 33px #ffffff0a}.disc-centre{position:absolute;font-size:1.6rem;z-index:1}.audio-panel{margin:0 36px 30px;border:1px solid #e5e9e2;background:#f4f6f1;border-radius:11px;padding:20px 22px}.audio-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.audio-panel-heading>div{display:flex;gap:9px;align-items:center;font-size:.79rem;color:#294138}.audio-icon{font-size:1.3rem;color:#748977}.audio-feedback{font-size:.64rem;color:#88938a;text-align:right}.audio-modes{display:flex;gap:7px;margin:17px 0 13px;flex-wrap:wrap}.audio-modes button{background:#fff;border:1px solid #dfe5dc;border-radius:6px;color:#77867a;font-weight:750;font-size:.69rem;padding:7px 13px}.audio-modes button[aria-pressed=true]{background:#2d4940;border-color:#2d4940;color:#fff}.audio-panel audio{display:none;width:100%;height:42px}.audio-placeholder{border-top:1px solid #e4e8e0;padding-top:13px;display:flex;gap:11px;align-items:center;color:#818d81;font-size:.71rem}.audio-placeholder-icon{font-size:1.2rem;color:#b1bcae}.audio-panel.available audio{display:block}.audio-panel.available .audio-placeholder{display:none}
.song-tools{border-bottom:1px solid #e8ebe4;border-top:1px solid #edf0ea;display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:12px;flex-wrap:wrap}.content-switch{display:flex;gap:23px}.content-switch button{padding:17px 3px 16px;border:0;border-bottom:2px solid transparent;background:none;color:#829087;font-size:.76rem;font-weight:750}.content-switch button[aria-selected=true]{color:var(--deep);border-bottom-color:var(--gold)}.tool-buttons{display:flex;gap:6px;align-items:center}.tool-btn{background:transparent;border:1px solid #e6eae3;border-radius:7px;min-height:33px;min-width:35px;display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 9px;font-size:.7rem;font-weight:750;color:#52665a}.tool-strong{background:#f0f2ed;border-color:#e6eae3}.tool-btn:hover{background:#e8eee5}.lyric-contents{padding:29px 36px 35px}.lyrics-intro{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid #eff0ea;padding-bottom:18px;margin-bottom:22px}.lyrics-intro h3{font:normal 1.63rem Georgia,serif;letter-spacing:-.025em;margin:0}.lyrics-intro span{font-size:.74rem;color:#8a978b}.lyric-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:9px}.lyric-block{border-bottom:1px solid #eff0eb;padding:0 0 26px;margin-bottom:14px;break-inside:avoid}.lyric-block h4{font-size:.58rem;letter-spacing:.18em;color:#a18d62;font-weight:850;margin:0 0 11px;text-transform:uppercase}.lyric-block p{font-family:Georgia,"Times New Roman",serif;font-size:var(--lyric-size);line-height:1.8;white-space:pre-line;margin:0;color:#27332a}.teaching-contents{padding:32px 36px 36px}.teaching-contents[hidden],.lyric-contents[hidden]{display:none!important}.teaching-intro h3{font:normal 2rem Georgia,serif;letter-spacing:-.035em;margin:8px 0}.teaching-intro p{color:#718075;font-size:.81rem}.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:25px}.teaching-item{background:#f4f5ef;border-radius:10px;padding:19px 18px;min-height:142px}.teaching-item>span{color:#9b835a;font-size:.59rem;letter-spacing:.11em;font-weight:850}.teaching-item p{font-size:.81rem;line-height:1.62;color:#35463a;margin:10px 0 0}.quality-note{margin-top:17px;border:1px solid #e4e6de;background:#fff9ed;border-radius:9px;padding:14px 17px}.quality-note summary{font-size:.73rem;font-weight:800;cursor:pointer;color:#795c34}.quality-note p{margin:10px 0 2px;font-size:.77rem;line-height:1.6;color:#6f614d}.sheet-footer{padding:17px 36px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fafaf7;border-top:1px solid #ebeee8}.rehearsed-label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:.73rem;font-weight:700;color:#506756}.rehearsed-label input{opacity:0;position:absolute;width:1px;height:1px}.check-design{width:19px;height:19px;display:grid;place-items:center;border:1.5px solid #a9b8a6;border-radius:5px;color:transparent;font-weight:900}.rehearsed-label input:checked+.check-design{background:#42664e;border-color:#42664e;color:white}.rehearsed-label input:focus-visible+.check-design{outline:3px solid var(--gold);outline-offset:3px}.copyright-notice{font-size:.62rem;color:#99a298;text-align:right}
.song-navigation{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.song-navigation button{display:flex;align-items:center;gap:14px;background:#f2f4ed;border:1px solid #e4e9e0;border-radius:10px;min-height:78px;padding:13px 18px;text-align:left;color:var(--deep)}.song-navigation button:hover{background:#e7eee5}.song-navigation button:last-child{text-align:right;justify-content:flex-end}.song-navigation button>span:first-child:not(:last-child),.song-navigation button>span:last-child:not(:first-child){font-size:1.2rem}.song-navigation small{display:block;font-size:.58rem;letter-spacing:.11em;color:#8a988c;font-weight:750}.song-navigation strong{display:block;font-size:.8rem;margin-top:3px}.release-note{display:flex;gap:13px;background:#f0f1e9;border-radius:9px;padding:17px 19px}.release-symbol{width:23px;height:23px;border:1px solid #97a696;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800;font-style:italic;font-family:Georgia,serif;font-size:.8rem;color:#7a8c7e}.release-note strong{font-size:.73rem;color:#526455}.release-note p{font-size:.71rem;line-height:1.6;color:#748278;margin:4px 0 0}.site-footer{border-top:1px solid #e4e7df;max-width:1310px;padding:25px 22px 45px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer>div{display:flex;align-items:center;gap:11px}.footer-mark{color:#ad9059;font-size:1.2rem}.site-footer strong{font-size:.66rem;letter-spacing:.11em}.site-footer span:not(.footer-mark),.site-footer a{color:#8b958b;font-size:.67rem}
/* dialog styles */
dialog{border:0;box-shadow:0 22px 80px #091d1b60}dialog::backdrop{background:#102520ad;backdrop-filter:blur(4px)}.guide-dialog{border-radius:17px;width:min(590px,calc(100vw - 24px));max-height:90vh;overflow-y:auto;padding:27px 32px 33px;background:var(--ivory)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header button{background:none;border:0;font-size:1.8rem;color:#738177}.guide-dialog h2{font:normal 2.3rem/1.1 Georgia,serif;letter-spacing:-.04em;margin:12px 0}.dialog-intro{font-size:.8rem;color:#647568}.journey-steps{list-style:none;padding:0;margin:25px 0 20px}.journey-steps li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.journey-steps li>span{color:var(--gold);font-weight:850;font-size:.68rem;min-width:25px}.journey-steps strong{font-size:.88rem;color:#1e362a}.journey-steps p{font-size:.78rem;color:#708074;line-height:1.5;margin:5px 0 0}.dialog-small{font-size:.73rem;color:#718075;line-height:1.7;margin-bottom:23px}.project-dialog{padding:0;background:#162d28;color:#fffbe8;border-radius:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;overflow:auto}.project-dialog[open]{display:flex;flex-direction:column}.project-toolbar{display:flex;justify-content:space-between;align-items:center;padding:19px 24px;background:#ffffff0a;border-bottom:1px solid #ffffff2a}.project-toolbar>div:first-child{display:flex;align-items:center;gap:14px}.project-toolbar small{font-size:.67rem;letter-spacing:.1em;color:#cbb48b}.project-toolbar strong{font:normal 1.2rem Georgia,serif}.project-toolbar>div:last-child{display:flex;gap:8px}.project-toolbar button{border:1px solid #ffffff4d;background:transparent;color:white;border-radius:7px;width:39px;height:39px;font-size:1.2rem}.project-toolbar button:hover{background:#ffffff28}.project-stage{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px 28px;text-align:center;min-height:0}.project-section{font-size:.8rem;font-weight:850;letter-spacing:.22em;color:#cdb486;margin-bottom:28px}.project-lyrics{font:normal clamp(1.65rem,4vw,3.9rem)/1.4 Georgia,"Times New Roman",serif;white-space:pre-line;max-width:900px}.project-hint{text-align:center;padding:14px 20px 25px;color:#b7c2b7;font-size:.69rem}
/* pupil mode prioritises song and lyrics, hides teacher-only flags */
body.pupil-mode .teaching-contents,body.pupil-mode #tab-teaching,body.pupil-mode .progress-panel,body.pupil-mode .release-note,body.pupil-mode .rehearsed-label,body.pupil-mode .copyright-notice,body.pupil-mode .audio-feedback,body.pupil-mode .quality-note{display:none!important}body.pupil-mode .sheet-footer{padding:10px;min-height:8px}body.pupil-mode .lyric-sections{grid-template-columns:1fr}body.pupil-mode .lyric-block p{font-size:calc(var(--lyric-size) * 1.17)}
/* print clean pupil lyrics */
@media print{html,body{background:white!important;color:black!important}.notice-top,.site-header,.hero,.intro-strip,.library-sidebar,.detail-heading,.audio-panel,.song-tools,.song-navigation,.release-note,.site-footer,.disc-art,.song-tags,.song-heading>p,.sheet-footer,.lyrics-intro>span,.project-dialog,.guide-dialog{display:none!important}.workspace{display:block!important;margin:0!important;padding:0!important}.song-sheet{border:0!important;box-shadow:none!important}.song-top{padding:4mm 3mm 0!important}.song-heading h2{font-size:25pt!important}.track-label{font-size:9pt}.lyric-contents{padding:5mm 3mm!important}.lyrics-intro{padding:0 0 5mm!important;margin:0 0 5mm!important}.lyric-sections{display:block!important}.lyric-block{page-break-inside:avoid;margin:0 0 3mm!important;padding:0 0 3mm!important}.lyric-block h4{font-size:8pt!important;color:black!important}.lyric-block p{font-size:12pt!important;line-height:1.42!important;color:black!important}body.pupil-mode .lyric-block p{font-size:12pt!important}body .teaching-contents{display:none!important}@page{size:A4;margin:12mm}}
@media(max-width:1100px){.workspace{grid-template-columns:260px minmax(0,1fr);gap:18px}.hero{height:375px}.hero-copy{padding:47px 36px}.song-top{padding:26px 27px}.audio-panel{margin:0 27px 24px}.song-tools{padding:0 27px}.lyric-contents,.teaching-contents{padding:26px 27px}.sheet-footer{padding:17px 27px}.lyric-sections{column-gap:18px}.intro-strip{gap:16px}}
@media(max-width:800px){.site-header{padding:16px 5%}.header-right{gap:13px}.connection-status,.hide-small{display:none}.hero{height:auto;grid-template-columns:1fr;padding:0 4%}.hero-copy{border-radius:17px 17px 0 0;padding:38px 33px 34px}.hero h1{font-size:2.65rem}.hero-art{height:165px;border-radius:0 0 17px 17px}.hero-art .art-copy{top:18px;left:34px}.hero-art .art-copy>strong{font-size:3rem;margin-top:2px}.intro-strip{justify-content:flex-start;margin-top:19px;font-size:.68rem}.workspace{grid-template-columns:1fr;margin-top:30px;padding:0 4%}.library-sidebar{position:static;padding:18px 12px 14px}.library-head{padding:0 10px 12px}.library-head h2{font-size:1.65rem}.search-field{margin-bottom:10px}.song-list{display:flex;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.song-item{flex:0 0 200px;scroll-snap-align:start}.song-item .song-text strong{white-space:normal}.sidebar-bottom{display:none}.progress-panel{margin-bottom:10px}.detail-heading{margin-top:10px}.song-top{padding:27px}.song-heading h2{font-size:2.4rem}.disc-art{width:100px;height:100px}.audio-panel{margin:0 27px 25px}.audio-feedback{max-width:150px}.song-navigation{margin-top:15px}}
@media(max-width:500px){.notice-top{font-size:.53rem;letter-spacing:.095em}.brand-symbol{width:35px;height:35px}.brand-wordmark{font-size:.85rem;letter-spacing:.11em}.brand-wordmark small{font-size:.4rem}.site-header{gap:8px}.header-link{font-size:.66rem}.hero-copy{padding:33px 26px 31px}.hero h1{font-size:2.5rem}.hero-copy>p{font-size:.84rem}.hero-actions{flex-wrap:wrap;gap:12px}.hero-note{max-width:none}.intro-strip{gap:8px 11px}.intro-strip .tiny-cross:nth-of-type(4){display:none}.detail-heading{flex-direction:column;align-items:flex-start;gap:11px}.role-switch{width:100%}.role-switch button{flex:1}.song-top{padding:26px 22px 20px}.song-heading h2{font-size:2.1rem}.song-heading>p{font-size:.79rem}.disc-art{width:74px;height:74px;align-self:flex-start}.disc-ring{width:45px;height:45px}.disc-art>span{font-size:.5rem}.audio-panel{margin:0 16px 20px;padding:15px}.audio-panel-heading{align-items:flex-start}.audio-feedback{font-size:.58rem;max-width:130px}.audio-modes{gap:5px}.audio-modes button{padding:7px 10px;font-size:.66rem}.song-tools{padding:0 17px;gap:0}.content-switch{gap:14px}.content-switch button{font-size:.71rem}.tool-buttons{gap:2px}.tool-btn{min-width:29px;padding:5px 7px}.tool-btn svg+span{display:none}.lyric-contents,.teaching-contents{padding:25px 23px}.lyric-sections,.teaching-grid{grid-template-columns:1fr}.lyric-block{margin-bottom:4px;padding-bottom:19px}.lyrics-intro span{display:none}.sheet-footer{padding:16px 22px}.copyright-notice{display:none}.song-navigation button{gap:8px;padding:10px}.song-navigation strong{font-size:.71rem}.site-footer{align-items:flex-start;flex-direction:column}.project-toolbar{padding:12px}.project-toolbar strong{font-size:.95rem}.project-toolbar button{width:33px;height:33px}.project-stage{padding:25px 15px}.project-section{margin-bottom:20px}.project-lyrics{font-size:clamp(1.65rem,7vw,2.5rem);line-height:1.4}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Prevent horizontally scrolling song cards from widening mobile grid tracks. */
.library-sidebar,.detail-column,.workspace,.song-list{min-width:0}
@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr)}.song-list{width:100%;max-width:100%;overflow-x:auto}}
