main{width:min(100% - 40px,800px);display:block;text-align:left;padding:24px 0 56px}
.album-summary{text-align:center}
.translation-credits{margin:20px 0;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.translation-credits h3{margin:0 0 16px;font-size:19px;line-height:1.5;min-height:0}.translation-credits .source-paragraph{white-space:normal;min-height:0;line-height:1.75;font-size:16px}.credit-detail+.credit-detail{margin-top:12px}.credit-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.credit-note .source-paragraph{font-size:14px}.credit-note strong{font-weight:400}
@media(max-width:600px){.translation-credits{padding:18px 16px}.translation-credits h3{font-size:18px}.translation-credits .source-paragraph{font-size:15px}.credit-note .source-paragraph{font-size:14px}}
.usage-terms{margin:24px 0;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.usage-terms h3{margin:0 0 14px;font-size:19px;line-height:1.5}.usage-terms .source-paragraph{white-space:normal;min-height:0;font-size:16px;line-height:1.75}.terms-intro{margin-bottom:20px}.terms-list{margin:0;padding-left:24px;display:grid;gap:18px}.terms-list li{padding-left:6px}.terms-list li::marker{font-weight:700}.terms-list strong:first-child{display:block;margin-bottom:4px}.terms-list li+li{padding-top:16px;border-top:1px solid var(--border)}
@media(max-width:600px){.usage-terms{padding:18px 16px}.usage-terms h3{font-size:18px}.usage-terms .source-paragraph{font-size:15px}}
.album-credits .document>h2{margin-bottom:14px}.album-credits .credit-summary+.credit-summary{margin-top:14px}
.source-separator+.blank+.blank,.source-separator+.blank+.blank+.blank,.source-separator+.blank+.blank+.blank+.blank,.document>h2+.blank{display:none}
.document .source-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--soft);font-size:13px;line-height:1.4;text-decoration:none}.source-button:hover{background:var(--bg)}.source-button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.source-attribution{margin:12px 0 0;line-height:0}.source-separator{font-size:0;line-height:0;min-height:0}.document .source-separator hr{margin:16px 0}.blank:has(+.source-separator),.source-separator+.blank{display:none}
.album-cover{display:block;width:min(100%,380px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 28px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
.preview-note{padding:10px 16px;border:1px dashed var(--border);border-radius:10px;font-size:13px;text-align:center;margin:0 0 32px}
.album-heading{text-align:center;margin-bottom:28px}.album-heading .avatar{width:72px;height:72px;margin-bottom:20px}.album-heading h1{font-size:42px;margin:8px 0 14px}.album-heading p{font-size:15px}
.catalog-note{margin:0 0 20px;font-size:14px}.tracks{padding:0;list-style:none;margin:0;display:grid;gap:10px}.track{display:flex;width:100%;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--card);text-decoration:none;transition:transform .15s,background .15s}.track:hover{background:var(--soft);transform:translateY(-1px)}.track-number{font-size:14px;opacity:.7;min-width:24px}.track-title{flex:1;min-width:0;display:grid;gap:3px}.track-title strong{font-size:19px}.track-title span{font-size:14px}.track-action{font-size:12px;white-space:nowrap}.instrumental{opacity:.68}
.back{font-size:14px;margin-bottom:20px}.reading-heading{text-align:center;margin:38px 0}.reading-heading h1{font-size:34px;margin:8px 0}.reading-heading a{font-size:13px;margin-top:12px}.document{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:40px 48px;margin-bottom:30px}.source-paragraph{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.9;min-height:1.9em}.source-paragraph.centered{text-align:center}.source-paragraph[lang=en]{font-size:15px;opacity:.8}.blank{white-space:pre-wrap;height:1.2em;margin:0;line-height:1.2}.document a{font-size:inherit;min-height:0;display:inline}.footer{padding-top:24px}
.document h2{font-size:21px;margin-bottom:12px}.document hr{border:0;border-top:1px solid var(--border);margin:14px 0}.adjacent{display:flex;justify-content:space-between;gap:24px;margin:24px 0}.adjacent a{font-size:15px}.terms-link a{font-size:14px}
.back,.terms-link a,.adjacent a,.catalog-note a,.reading-heading>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:15px;line-height:1.5;text-decoration:none;gap:8px}
.back:hover,.terms-link a:hover,.adjacent a:hover,.catalog-note a:hover,.reading-heading>a:hover{background:var(--soft)}
.name-secondary,.track-title>span{font-size:14px!important;font-weight:400;opacity:.78;line-height:1.65}.album-heading .name-secondary,.reading-heading .name-secondary{margin:8px 0 16px}.source-name-secondary{display:block;font-size:14px;font-weight:400;opacity:.78}.album-credits{margin-top:48px;scroll-margin-top:24px}#songs{scroll-margin-top:24px}.album-credits>h2{font-size:21px;margin-bottom:20px}
.back:focus-visible,.terms-link a:focus-visible,.adjacent a:focus-visible,.catalog-note a:focus-visible,.reading-heading>a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.adjacent a{flex:1;min-width:0;overflow-wrap:anywhere}.terms-link a{width:100%;text-align:center}.blank{height:12px;min-height:0;line-height:0;font-size:0}.blank:has(+.blank),.document>.blank:first-child,.document>.blank:last-child{display:none}.social{min-height:48px;width:48px}
@media(max-width:600px){main{width:calc(100% - 32px);padding-top:12px}.document{padding:28px 20px;border-radius:14px}.source-paragraph{font-size:16px}.source-paragraph[lang=en]{font-size:14px}.track{padding:16px 14px;gap:10px}.track-action{max-width:85px;white-space:normal;text-align:right}.track-title strong{font-size:17px}.album-heading h1{font-size:36px}.reading-heading h1{font-size:29px}.preview-note{margin-bottom:24px}}

/* Balanced archive layout with a comfortable reading column. */
main{width:min(100% - 48px,840px);padding:24px 0 64px}
.album-heading{margin:8px 0 24px}.album-cover{margin-bottom:24px}.album-heading h1{line-height:1.35;margin:8px 0 10px}.album-summary{max-width:620px;margin:0 auto 32px;line-height:1.75}
.album-overview{max-width:760px;margin:0 auto 40px;padding:32px 36px}.album-overview .source-paragraph{line-height:1.85}.album-overview h2{margin-bottom:18px;line-height:1.5;min-height:0}
#songs{font-size:24px;margin:0 0 20px}.tracks{gap:12px}.track{padding:18px 22px}.track-title{gap:5px}.track-title strong{line-height:1.5}.track-action{padding-left:12px}
.album-credits{margin-top:56px}.album-credits>h2{font-size:24px;line-height:1.5;margin:0 0 20px}.album-credits>.document{padding:28px;margin-bottom:20px}.album-credits .document>h2{margin:0 0 24px;line-height:1.5;min-height:0}.source-name-secondary{margin-top:6px;line-height:1.65}
.translation-credits,.usage-terms{margin:0;padding:24px}.album-credits .source-separator{display:none}.translation-credits+.usage-terms{margin-top:24px}.usage-terms{margin-top:24px}.terms-list{gap:16px}.credit-note .source-paragraph{opacity:.85}
.rights-details{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px;padding:24px 0 0;border-top:1px solid var(--border)}.rights-details .credit-summary{font-size:14px;line-height:1.85;min-height:0;margin:0;font-weight:400}.translation-use{padding-top:16px;border-top:1px solid var(--border)}.rights-details .credit-summary::first-line{font-weight:600}
@media(min-width:760px){.rights-details{grid-template-columns:1.25fr 1fr;gap:24px}.translation-use{padding:0 0 0 24px;border-top:0;border-left:1px solid var(--border)}}
@media(max-width:600px){main{width:calc(100% - 32px);padding:16px 0 40px}.album-cover{width:min(100%,340px);border-radius:14px}.album-summary{font-size:13px;margin-bottom:24px}.album-overview{padding:24px 20px;margin-bottom:32px}.album-credits{margin-top:40px}.album-credits>h2,#songs{font-size:21px}.album-credits>.document{padding:20px 16px}.translation-credits,.usage-terms{padding:20px 16px}.translation-credits h3,.usage-terms h3{font-size:18px}.track{padding:16px 14px;gap:10px}.track-action{padding-left:0;max-width:64px;font-size:11px}.track-title>span{font-size:13px!important}.rights-details{padding-top:20px}.rights-details .credit-summary{font-size:13px}.album-credits .document>h2{margin-bottom:20px}}
.page-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.page-actions .back{margin:0}.page-actions .back:last-child{margin-left:auto}#top{scroll-margin-top:20px}
@media(max-width:600px){.page-actions{gap:10px}.page-actions .back{padding:10px 12px;font-size:13px;text-align:center}}
.album-support{margin-top:40px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.album-support h2{font-size:21px;line-height:1.5;margin:0 0 8px}.album-support p{font-size:14px;line-height:1.7;margin:0 0 16px;opacity:.85}.support-links{display:flex;flex-wrap:wrap;gap:10px}.support-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--soft);font-size:14px;text-decoration:none}.support-links a:hover{background:var(--bg)}.footer-utilities{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 0 12px;white-space:normal}.footer-utilities button,.footer-utilities a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:10px;font:inherit;font-size:14px;line-height:1.5;text-decoration:none;cursor:pointer}.footer-utilities button:hover,.footer-utilities a:hover{background:var(--soft)}#utility-status{display:block;min-height:24px;margin-bottom:12px;font-size:13px}.footer-utilities :focus-visible,.support-links a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:600px){.album-support{padding:20px 16px;margin-top:28px}.album-support h2{font-size:19px}.support-links a{font-size:13px}.footer-utilities{gap:8px}.footer-utilities button,.footer-utilities a{font-size:13px}}
.song-artwork{margin:0 auto 24px}.song-artwork .album-cover{width:min(100%,340px);margin-bottom:10px}.song-artwork figcaption{font-size:12px;line-height:1.6;opacity:.75}.song-artwork figcaption a{font-size:12px;color:inherit}.rights-details .credit-summary{overflow-wrap:normal;word-break:normal}.translation-use .credit-summary{line-height:1.8}.reading-heading{margin-top:28px}
@media(max-width:600px){.song-artwork .album-cover{width:min(100%,300px)}}
.reading-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.reading-actions>.back:first-child{justify-self:start}.reading-actions>.back:last-child{justify-self:end;margin-left:0}.song-steps{display:flex;justify-content:center;gap:8px}.song-steps a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card);font-size:13px;line-height:1.5;text-decoration:none;white-space:nowrap}.song-steps a:hover{background:var(--soft)}.song-steps a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:760px){.reading-actions{grid-template-columns:1fr 1fr}.song-steps{grid-column:1/-1;grid-row:1;justify-self:center}.reading-actions>.back{grid-row:2}.reading-actions>.back:last-child{grid-column:2}}
.song-steps{gap:10px;padding:5px;border:1px solid var(--border);border-radius:16px;background:var(--soft)}.song-steps a{min-width:112px;min-height:44px;padding:11px 14px;font-size:14px;border-color:transparent;border-radius:11px;background:var(--card);text-decoration:none;color:var(--ink);transition:background-color .15s,border-color .15s}.song-steps a:hover{background:var(--bg);border-color:var(--border)}.song-artwork .album-cover{margin-bottom:0}
@media(max-width:760px){.song-steps{margin-bottom:4px}.song-steps a{min-width:120px}}
main.not-found-page{display:grid;place-items:center;padding:40px 0;text-align:center}.not-found-message{width:100%;max-width:620px;margin:0 auto}.not-found-message h1{font-size:clamp(28px,4vw,40px);line-height:1.4;margin:0 0 14px}.not-found-message p{margin:0;font-size:16px;line-height:1.8;text-wrap:pretty}
@media(max-width:600px){main.not-found-page{padding:40px 0}.not-found-message p{font-size:15px}}
.song-composer{display:inline-block;max-width:100%;margin:8px auto 0;padding:12px 20px;border:1px solid var(--border);border-radius:12px;background:var(--card);text-align:center}.song-composer .source-paragraph{font-size:14px;line-height:1.6;min-height:0;white-space:normal}.lyrics-section,.song-viewpoint,.song-translators{margin-bottom:24px}.song-viewpoint .source-paragraph{white-space:normal}.song-viewpoint h2,.song-translators h2{font-size:19px;line-height:1.5;min-height:0;margin:0 0 16px}.song-viewpoint .source-paragraph:not(h2){font-size:16px;line-height:1.85}.song-translators{padding:24px 32px;background:var(--soft)}.song-translators .source-paragraph{font-size:15px;line-height:1.8;min-height:0}.lyrics-section .source-separator,.song-viewpoint .source-separator,.song-translators .source-separator{display:none}.song-steps a{min-width:44px;width:44px;padding:10px;font-size:22px;line-height:1}.temporary-files{margin-top:28px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.temporary-files h2{font-size:19px;line-height:1.6;margin:0 0 16px}.temporary-files h2 span{font-weight:400;font-size:12px;margin-left:8px;opacity:.7}.temporary-files .back{margin:0;font-size:14px}
@media(max-width:760px){.song-steps a{min-width:44px}}@media(max-width:600px){.song-composer{padding:12px 16px}.song-translators{padding:22px 20px}.song-viewpoint .source-paragraph:not(h2){font-size:15px}.temporary-files{padding:20px 16px}}

/* Shared footer layout: socials, actions, then existing page disclaimer. */
body{min-height:100svh;display:flex;flex-direction:column}
body>main{flex:1}
body>.footer{flex:none;align-self:center;display:flex;flex-direction:column;align-items:center;gap:24px;width:min(100%,1008px);margin:0 auto;padding:48px 24px 32px;text-align:center;white-space:normal;font-size:12px;line-height:1.8;color:var(--ink)}
.footer>.socials{width:100%;margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px}
.footer .social{width:44px;height:44px;min-height:44px;min-width:44px;padding:0;display:grid;place-items:center}
.footer .social svg{width:28px;height:28px;display:block}
.footer>.footer-utilities{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%}
.footer-utilities button,.footer-utilities a{min-height:44px;padding:10px 16px;font-size:14px;line-height:1.5;border-radius:10px}
.footer>.footer-copy{width:100%;margin:0;white-space:pre-line;text-wrap:pretty;overflow-wrap:anywhere}
.footer>#utility-status{margin:0;min-height:0;font-size:13px;line-height:1.6;white-space:normal}
.footer>#utility-status:empty{display:none}
@media(max-width:600px){body>.footer{padding:40px 16px 24px;gap:24px}.footer>.socials{gap:16px}.footer>.footer-utilities{gap:10px}.footer-utilities button,.footer-utilities a{font-size:13px}}

/* Standalone footer images avoid inline SVG paint differences in Safari. */
.footer .social img{display:block;width:28px;height:28px;max-width:none;filter:none;opacity:1}
:root[data-theme="dark"] .footer .social img{filter:invert(1)}

/* Unified light palette and motion, local preview only until approved. */
:root{--bg:#e6f2f8;--ink:#143246;--muted:#4b687b;--card:#f7fbfe;--accent:#39aebe;--border:#aac5d4;--soft:#d7eaf3;--note-bg:#edf6fb;--platform-ink:#143246;--hover-shadow:0 6px 18px #14324614;--surface-shadow:0 2px 10px #14324608;--motion:.2s;--ease:cubic-bezier(.2,.7,.2,1)}
:root[data-theme="dark"]{--bg:#101f2c;--ink:#edf6fb;--muted:#b7cddd;--card:#182f40;--accent:#5bc8d4;--border:#45687e;--soft:#203b4d;--note-bg:#203b4d;--platform-ink:#fff;--hover-shadow:0 6px 18px #00000024;--surface-shadow:0 2px 10px #00000010}
body,.footer,.site-brand,.section-title,.description,.tagline,.footer-copy{transition:background-color var(--motion) var(--ease),color var(--motion) var(--ease)}
.card,.track,.document,.album-cover,.note,.song-composer,.album-support,.temporary-files,.translation-credits,.usage-terms,.song-steps,.rights-details,.social,.page-nav a,.theme-toggle,.nav-toggle,.back,.support-links a,.song-steps a,.footer-utilities a,.footer-utilities button{transition:background-color var(--motion) var(--ease),color var(--motion) var(--ease),border-color var(--motion) var(--ease),box-shadow var(--motion) var(--ease),transform var(--motion) var(--ease)}
.card,.track,.document,.album-cover,.song-composer,.album-support,.temporary-files{box-shadow:var(--surface-shadow)}
.card:hover,.track:hover{background:var(--soft);border-color:var(--accent);box-shadow:var(--hover-shadow);transform:translateY(-2px)}
.card:active,.track:active{transform:translateY(0) scale(.99)}
.theme-toggle:hover,.nav-toggle:hover,.back:hover,.support-links a:hover,.song-steps a:hover,.footer-utilities a:hover,.footer-utilities button:hover{background:var(--soft);border-color:var(--accent);box-shadow:var(--hover-shadow);transform:translateY(-1px)}
.theme-toggle:active,.nav-toggle:active,.back:active,.support-links a:active,.song-steps a:active,.footer-utilities a:active,.footer-utilities button:active{transform:translateY(0)}
.social:hover{background:var(--soft);transform:translateY(-2px)}
.theme-toggle svg{transition:transform var(--motion) var(--ease)}
.theme-toggle:hover svg{transform:rotate(12deg)}
.profile,.album-heading,.reading-heading,.not-found-message{animation:profile-enter .42s var(--ease)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.card:hover,.card:active,.track:hover,.track:active,.social:hover,.theme-toggle:hover,.nav-toggle:hover,.back:hover,.support-links a:hover,.song-steps a:hover,.footer-utilities a:hover,.footer-utilities button:hover,.theme-toggle:hover svg{transform:none}}

.footer .social img{transition:filter var(--motion) var(--ease)}

/* Shared cover dimensions for album and song pages. */
.album-heading > .album-cover,.song-artwork .album-cover{width:min(100%,380px);aspect-ratio:1;object-fit:contain}
@media(max-width:600px){.album-heading > .album-cover,.song-artwork .album-cover{width:min(100%,340px)}}

/* Rights notice follows the unchanged translator credits on each song page. */
.song-rights{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.song-rights p{margin:0;font-size:inherit;line-height:inherit}
.song-rights p+p{margin-top:12px}
.song-rights-only .song-rights{margin:0;padding:0;border:0}
@media(max-width:600px){.song-rights{font-size:13px}}
