/* Navigation and reader controls share the same touch sizes on all screens. */
#site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,94vw);height:100dvh;max-height:100dvh;border:0;border-left:1px solid #624870;border-radius:24px 0 0 24px;padding:25px;background:#21192c;color:#e9ddf0;overflow:auto;overscroll-behavior:contain;box-shadow:-20px 0 80px #07030c88}
#site-menu::backdrop{background:#0d0719bb;backdrop-filter:blur(4px)}
body:has(dialog[open]){overflow:hidden}
.menu-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:24px}.menu-head h2{font-size:23px;margin:8px 0 0}.menu-head>button{font-size:32px;color:#d3bedf;min-width:44px;min-height:44px}
.menu-nav{display:grid;gap:7px}.menu-nav button{display:flex;align-items:center;gap:16px;text-align:left;min-height:48px;border-radius:12px;padding:10px 15px;color:#e9ddf0;background:#30223d;font-size:18px}.menu-nav button span{font-size:15px}.menu-nav button:hover{background:#483054}
.menu-genres{border-top:1px solid #493253;margin-top:24px;padding-top:8px}.menu-genres h3{font-size:13px;letter-spacing:.3px;color:#c4a9d0}.menu-genres nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}.menu-genres button{min-height:44px;text-align:left;color:#bca8c8;font-size:12px;padding:8px;border-radius:8px}.menu-genres button.active{background:#49334f;color:#f1cf96}.menu-genres button span{margin-right:5px}.menu-account{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 8px;padding-top:20px;border-top:1px solid #493253}.menu-account a{padding:10px 15px;border:1px solid #8d6d43;border-radius:10px;color:#efd1a0;font-size:13px}
header #menu{display:inline-flex;align-items:center;justify-content:center}
#reader-font-size{font:11px/1 system-ui,sans-serif;min-width:34px;text-align:center;color:#cbb2d7;font-variant-numeric:tabular-nums}
.reader-tools button,.reader-tools select{min-height:44px;min-width:44px;font-family:inherit;font-size:13px;touch-action:manipulation}
.reader-tools button:disabled{opacity:.4;cursor:default}.reader-type{flex-wrap:wrap}.reader-type>button:first-child,.reader-type>button:nth-of-type(2){font-size:17px;font-weight:700}
#reader-lyrics{line-height:2;overflow-wrap:anywhere}.lyric-line{white-space:pre-wrap;min-height:2em}.chord-word{display:inline-block;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere}.chord{font-size:.95em}
.reader-actions [hidden]{display:none}.light #site-menu{background:#fffcff;color:#352542;border-color:#ddcfe5}.light .menu-nav button{background:#eee4f4;color:#56366c}.light .menu-head>button{color:#65467a}.light .menu-genres button{color:#725781}.light .menu-genres button.active{background:#e5d6ef;color:#56366c}.light .menu-genres h3{color:#674c78}.light .menu-account a{color:#71512c}.light #reader-font-size{color:#715b80}
@media(max-width:650px){header{flex-wrap:nowrap;padding:12px 16px;gap:8px}header .brand{font-size:22px;letter-spacing:-1px;white-space:nowrap}.header-actions #account-nav{display:none}.header-actions{gap:2px}.header-actions button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:44px;margin:0;font-size:22px}.reader-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px}.reader-tools>div{gap:4px}.reader-tone{grid-column:1 / -1}.reader-tone #reader-reset{margin-left:auto}.reader-type{border:0;padding:0;display:grid!important;grid-template-columns:44px 34px 44px}.reader-type #reader-chords{grid-column:1/-1;font-size:11px}.reader-scrolling{flex-direction:column;align-items:stretch!important;justify-content:space-between;margin-left:auto}.reader-scrolling button,.reader-scrolling select{font-size:12px}.reader-head{padding:15px 18px 7px}.reader-head h2{font-size:23px}.reader-actions{padding-bottom:10px}#reader-body{padding:18px 18px 40px}#reader-lyrics{line-height:2}.reader-tools button,.reader-tools select{font-size:13px;padding:8px 10px}.reader-actions button{min-height:40px}.hero h1{font-size:clamp(31px,8vw,37px)}.menu-head h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
