:root{
  color-scheme:light dark;
  --fh-red:#e31e3a;
  --fh-red-strong:#c91531;
  --ink:#151518;
  --ink-soft:#3b3b40;
  --muted:#737178;
  --canvas:#eeeae2;
  --canvas-2:#e7e1d7;
  --surface:#ffffff;
  --paper:#fffdf8;
  --paper-2:#faf6ee;
  --line:#ded9cf;
  --line-soft:#ece7de;
  --control:#f2eee7;
  --control-hover:#e9e3da;
  --shadow:0 24px 80px rgba(27,23,18,.14),0 3px 10px rgba(27,23,18,.06);
  --font-size:1.22rem;
  --safe-b:env(safe-area-inset-bottom,0px);
  --top-h:72px;
  --nav-h:78px;
  --font-heading:"Montserrat",Arial,Helvetica,sans-serif;
  --font-body:"Titillium Web","Segoe UI",Arial,Helvetica,sans-serif;
}
:root[data-theme="dark"]{
  --ink:#f6f3ec;
  --ink-soft:#d0cdc7;
  --muted:#9e9aa1;
  --canvas:#0f1012;
  --canvas-2:#151619;
  --surface:#17181b;
  --paper:#1b1c20;
  --paper-2:#17181b;
  --line:#34353b;
  --line-soft:#2a2b30;
  --control:#25262b;
  --control-hover:#313238;
  --shadow:0 28px 90px rgba(0,0,0,.48),0 3px 12px rgba(0,0,0,.28);
  --fh-red:#ff405d;
  --fh-red-strong:#ff2748;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]),:root[data-theme="auto"]{
    --ink:#f6f3ec;--ink-soft:#d0cdc7;--muted:#9e9aa1;--canvas:#0f1012;--canvas-2:#151619;--surface:#17181b;--paper:#1b1c20;--paper-2:#17181b;--line:#34353b;--line-soft:#2a2b30;--control:#25262b;--control-hover:#313238;--shadow:0 28px 90px rgba(0,0,0,.48),0 3px 12px rgba(0,0,0,.28);--fh-red:#ff405d;--fh-red-strong:#ff2748
  }
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
body{transition:background-color .18s ease,color .18s ease}
button,input{font:inherit}
button{color:inherit}
button,summary{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
svg{display:block}
.fh-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* App shell */
.fh-app-body{min-height:100vh;overflow-x:hidden;background:
  radial-gradient(circle at 15% 2%,color-mix(in srgb,var(--fh-red) 8%,transparent),transparent 27rem),
  linear-gradient(180deg,var(--canvas),var(--canvas-2));
}
.fh-app{min-height:100vh;padding-bottom:calc(var(--nav-h) + var(--safe-b))}
.fh-topbar{height:var(--top-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(14px,2.6vw,34px);border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--canvas) 88%,transparent);position:sticky;top:0;z-index:40;backdrop-filter:blur(22px) saturate(1.15)}
.fh-brand{display:flex;align-items:center;gap:12px;justify-self:center;min-width:0;border:0;background:transparent;color:inherit;padding:5px 8px;border-radius:12px;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}
.fh-brand:hover{background:var(--control)}
.fh-brand:focus-visible{outline:2px solid var(--fh-red);outline-offset:2px}
.fh-brand-mark{display:grid;place-items:center;width:30px;height:36px;flex:0 0 auto;filter:drop-shadow(0 8px 18px rgba(237,26,59,.28))}
.fh-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.fh-brand-name{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.fh-brand-name strong{font-family:var(--font-heading);font-size:1.02rem;font-weight:700;letter-spacing:-.02em}
.fh-brand-name small{font-size:.64rem;color:var(--muted);margin-top:4px;letter-spacing:.02em}
.fh-top-actions{display:flex;gap:5px;justify-self:end}
.fh-icon-btn{width:43px;height:43px;border:1px solid transparent;background:transparent;border-radius:999px;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.fh-icon-btn:hover{background:var(--control);border-color:var(--line)}
.fh-icon-btn:active{transform:scale(.96)}
.fh-icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fh-theme-icon path{fill:currentColor;stroke:none}.fh-theme-icon circle{fill:none}

/* Book */
.fh-stage{max-width:1440px;margin:0 auto;min-height:calc(100vh - var(--top-h) - var(--nav-h));display:grid;grid-template-columns:58px minmax(0,900px) 58px;justify-content:center;align-items:start;padding:clamp(22px,4vw,48px) 24px clamp(46px,6vw,80px);gap:clamp(10px,2.5vw,28px)}
.fh-paper{background:linear-gradient(90deg,var(--paper-2) 0,var(--paper) 5%,var(--paper) 96%,var(--paper-2) 100%);min-height:calc(100vh - 220px);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px 7px 7px 12px;padding:clamp(34px,6vw,78px) clamp(30px,7vw,88px);position:relative;overflow:hidden;isolation:isolate}
.fh-paper:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.45),transparent 20rem),linear-gradient(180deg,transparent 94%,color-mix(in srgb,var(--ink) 4%,transparent));z-index:-1}
.fh-page-edge{position:absolute;right:5px;top:9px;bottom:9px;width:3px;border-right:1px solid var(--line-soft);border-left:1px solid var(--line-soft);opacity:.75}
.fh-page-arrow{align-self:center;width:52px;height:52px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--surface) 72%,transparent);border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.06);backdrop-filter:blur(10px);transition:transform .16s ease,background .16s ease,opacity .16s ease}
.fh-page-arrow:hover{transform:scale(1.06);background:var(--surface)}
.fh-page-arrow:active{transform:scale(.97)}
.fh-page-arrow svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fh-empty-state{text-align:center;max-width:560px;margin:0 auto;padding:clamp(70px,13vh,150px) 10px}
.fh-book-symbol{width:84px;height:62px;margin:0 auto 30px;position:relative;filter:drop-shadow(0 14px 22px rgba(0,0,0,.08))}
.fh-book-symbol span{position:absolute;top:0;width:42px;height:58px;background:var(--control);border:1px solid var(--line);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface) 35%,transparent)}
.fh-book-symbol span:first-child{left:0;border-radius:8px 1px 7px 10px;transform:skewY(5deg)}
.fh-book-symbol span:last-child{right:0;border-radius:1px 8px 10px 7px;transform:skewY(-5deg)}
.fh-book-symbol:after{content:"";position:absolute;left:50%;top:3px;bottom:4px;width:1px;background:var(--fh-red);box-shadow:0 0 0 1px color-mix(in srgb,var(--fh-red) 18%,transparent)}
.fh-empty-state h1{font-family:var(--font-heading);font-size:clamp(2.8rem,6.4vw,5.1rem);font-weight:700;line-height:1;letter-spacing:-.045em;margin:.08em 0 .2em}
.fh-empty-state>p:not(.fh-kicker){font-size:1rem;line-height:1.65;color:var(--muted);max-width:410px;margin:0 auto}
.fh-empty-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin-top:30px}
.fh-empty-choice-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.fh-empty-actions .fh-primary-button,.fh-empty-actions .fh-secondary-button{min-width:132px}
.fh-continue-button{width:min(360px,100%);min-height:58px;border:1px solid var(--line);border-radius:16px;background:var(--control);color:var(--ink);padding:10px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.fh-continue-button:hover{background:var(--control-hover);transform:translateY(-1px)}
.fh-continue-button:active{transform:scale(.985)}
.fh-continue-button span{font-family:var(--font-heading);font-weight:700;font-size:.94rem}
.fh-continue-button small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}
.fh-kicker{font-family:var(--font-heading);font-size:.69rem;letter-spacing:.18em;font-weight:800;color:var(--muted);margin:0 0 9px;text-transform:uppercase}
.fh-primary-button,.fh-secondary-button{min-height:42px;border-radius:999px;padding:10px 18px;font-weight:750;border:1px solid transparent;cursor:pointer;transition:transform .16s ease,background .16s ease}
.fh-primary-button{background:var(--ink);color:var(--paper)}
.fh-primary-button:hover{transform:translateY(-1px)}
.fh-secondary-button{background:transparent;color:var(--ink);border-color:var(--line)}
.fh-secondary-button:hover{background:var(--control)}

/* Song */
.fh-song{max-width:760px;margin:0 auto}
.fh-song-head{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:28px}
.fh-song-no{font-family:var(--font-heading);font-size:clamp(3.3rem,7vw,5.5rem);font-weight:800;line-height:.82;color:var(--fh-red);letter-spacing:-.065em;font-variant-numeric:tabular-nums}
.fh-song-heading-copy{min-width:0}
.fh-song-head h1{font-family:var(--font-heading);font-size:clamp(1.9rem,4.3vw,3.2rem);font-weight:700;line-height:1.04;margin:0;letter-spacing:-.035em;text-wrap:balance}
.fh-reading-controls{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 0 10px;position:sticky;top:calc(var(--top-h) + 8px);z-index:4;background:linear-gradient(180deg,var(--paper) 76%,transparent);margin-inline:-4px;padding-inline:4px}
.fh-segment{display:inline-flex;background:var(--control);border:1px solid var(--line-soft);border-radius:999px;padding:3px}
.fh-segment button,.fh-tool-btn{border:0;background:transparent;padding:8px 13px;border-radius:999px;cursor:pointer;font-size:.84rem;font-weight:700;white-space:nowrap}
.fh-segment button.is-active{background:var(--ink);color:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.fh-reader-tools{display:flex;gap:5px;align-items:center}
.fh-tool-btn{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent)}
.fh-tool-btn:hover{background:var(--control)}
.fh-inline-present{padding-inline:14px}
.fh-lyrics{font-family:var(--font-body);font-size:var(--font-size);font-weight:400;line-height:1.62;letter-spacing:.002em;max-width:38em;margin:28px auto 0;white-space:pre-wrap;text-wrap:pretty}
.fh-lyrics .fh-chord-line{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--fh-red);font-weight:800;letter-spacing:.015em;margin-bottom:-.28em;font-size:.84em;line-height:1.3}
.fh-song-footer{margin-top:68px;padding-top:21px;border-top:1px solid var(--line);font-size:.8rem;line-height:1.6;color:var(--muted)}
.fh-song-footer small{display:block;margin-top:8px}

/* Bottom navigation */
.fh-book-nav{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 28px));min-height:calc(64px + var(--safe-b));padding:0 8px var(--safe-b);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);display:grid;grid-template-columns:1fr minmax(170px,1.5fr) 1fr;align-items:center;z-index:45;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:18px;box-shadow:0 14px 44px rgba(0,0,0,.14);backdrop-filter:blur(18px)}
.fh-book-nav>button{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:5px;padding:10px 12px;cursor:pointer;min-width:0}
.fh-book-nav>button:last-child{justify-content:flex-end}
.fh-book-nav>button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.fh-book-nav>div{text-align:center;min-width:0;overflow:hidden;padding:0 8px}
.fh-book-nav strong,.fh-book-nav small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fh-book-nav strong{font-size:.85rem}.fh-book-nav small{opacity:.62;font-size:.67rem;margin-top:3px}

/* Drawers */
.fh-drawer{position:fixed;top:0;bottom:0;left:0;width:min(490px,94vw);background:color-mix(in srgb,var(--surface) 97%,transparent);z-index:70;transform:translateX(-104%);transition:transform .24s cubic-bezier(.22,.7,.24,1),box-shadow .18s ease;box-shadow:none;display:flex;flex-direction:column;backdrop-filter:blur(22px);visibility:hidden;pointer-events:none}
.fh-drawer.is-open{transform:translateX(0);box-shadow:28px 0 75px rgba(0,0,0,.22);visibility:visible;pointer-events:auto}
.fh-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:28px 26px 20px;border-bottom:1px solid var(--line)}
.fh-drawer-head h2{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;letter-spacing:-.035em;margin:0}
.fh-drawer-head button{width:40px;height:40px;border:1px solid var(--line);background:var(--control);border-radius:50%;display:grid;place-items:center;cursor:pointer}
.fh-drawer-head button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.fh-drawer-subline{display:flex;justify-content:space-between;gap:12px;padding:11px 26px;color:var(--muted);font-size:.72rem;border-bottom:1px solid var(--line-soft)}
.fh-drawer-list{overflow:auto;padding:5px 0 34px;overscroll-behavior:contain}
.fh-song-row{width:100%;display:grid;grid-template-columns:60px 1fr;gap:5px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;padding:15px 24px;cursor:pointer;color:var(--ink);transition:background .13s ease}
.fh-song-row:hover{background:var(--control)}
.fh-song-row strong{color:var(--fh-red);font-variant-numeric:tabular-nums;font-size:.86rem;padding-top:2px}
.fh-song-row span{font-family:var(--font-heading);font-weight:600;line-height:1.28}.fh-song-row small{display:block;color:var(--muted);margin-top:4px;font-size:.73rem;line-height:1.25}
.fh-list-message{padding:24px 26px;color:var(--muted)}
.fh-search-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding:18px 20px;border-bottom:1px solid var(--line)}
.fh-search-field{display:flex;align-items:center;gap:9px;background:var(--control);border:1px solid var(--line);border-radius:999px;padding:0 14px;min-width:0}
.fh-search-field svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:1.8}
.fh-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);padding:10px 0}
.fh-search-field input::placeholder{color:var(--muted)}
.fh-scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:65;backdrop-filter:blur(2px)}

/* Theme toast */
.fh-toast{position:fixed;top:calc(var(--top-h) + 12px);left:50%;transform:translateX(-50%);z-index:90;background:var(--ink);color:var(--paper);padding:9px 13px;border-radius:999px;font-size:.76rem;font-weight:750;box-shadow:0 8px 28px rgba(0,0,0,.2)}

/* Presentation */
.fh-presentation{position:fixed;inset:0;background:#09090a;color:#fff;z-index:120;display:flex;flex-direction:column;transition:background .16s ease,color .16s ease}
.fh-presentation.is-light{background:#fbfaf6;color:#111}
.fh-presentation-toolbar{height:70px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(9,9,10,.78);backdrop-filter:blur(16px);transition:opacity .18s ease}
.fh-presentation.is-light .fh-presentation-toolbar{background:rgba(251,250,246,.85);border-color:rgba(0,0,0,.12)}
.fh-presentation-title{display:flex;align-items:center;gap:10px;min-width:0}.fh-presentation-title span{font-weight:900;color:#ff405d;font-size:1.08rem}.fh-presentation-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
.fh-presentation-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.fh-presentation-actions button{height:38px;min-width:38px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:inherit;border-radius:9px;padding:0 11px;cursor:pointer}.fh-presentation.is-light .fh-presentation-actions button{border-color:rgba(0,0,0,.15);background:rgba(0,0,0,.05)}.fh-presentation-actions span{font-size:.74rem;opacity:.7;min-width:46px;text-align:center}.fh-present-close{font-weight:750}
.fh-slide-wrap{flex:1;display:grid;place-items:center;min-height:0;padding:clamp(34px,6vw,84px)}
.fh-slide{width:min(1280px,94vw);max-height:100%;overflow:hidden;text-align:center;white-space:pre-wrap;font-family:var(--font-body);font-size:clamp(2rem,4.8vw,5.2rem);line-height:1.18;font-weight:600;letter-spacing:-.015em;text-wrap:balance}
.fh-presentation-help{text-align:center;padding:0 20px 18px;font-size:.72rem;opacity:.42;transition:opacity .18s ease}
.fh-presentation.is-ui-hidden .fh-presentation-toolbar,.fh-presentation.is-ui-hidden .fh-presentation-help{opacity:0;pointer-events:none}

/* Gate */
.fh-gate-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--fh-red) 10%,transparent),transparent 28rem),linear-gradient(180deg,var(--canvas),var(--canvas-2))}
.fh-gate{width:min(480px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(30px,6vw,52px);box-shadow:var(--shadow);text-align:center}
.fh-book-mark{width:54px;height:54px;margin:0 auto 20px;display:grid;place-items:center;background:var(--fh-red);color:#fff;font-size:1.35rem;font-weight:900}
.fh-gate h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(2.4rem,7vw,4rem);letter-spacing:-.04em;margin:.12em 0 .25em}.fh-gate>p:not(.fh-kicker):not(.fh-error){color:var(--muted);line-height:1.6}.fh-gate form{display:grid;gap:10px;margin-top:24px}.fh-gate input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:13px 14px;outline:0}.fh-gate input:focus{border-color:var(--fh-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--fh-red) 14%,transparent)}.fh-gate button{border:0;border-radius:12px;background:var(--ink);color:var(--paper);padding:13px 16px;font-weight:800;cursor:pointer}.fh-error{background:color-mix(in srgb,var(--fh-red) 10%,transparent);border:1px solid color-mix(in srgb,var(--fh-red) 28%,transparent);color:var(--fh-red-strong);border-radius:10px;padding:11px 13px;line-height:1.45}

@media (max-width:820px){
  :root{--top-h:62px;--nav-h:70px}
  .fh-topbar{padding:0 12px}.fh-brand-name small{display:none}.fh-brand-mark{width:25px;height:30px}.fh-icon-btn{width:40px;height:40px}.fh-present-trigger{display:none}
  .fh-stage{display:block;padding:0;min-height:calc(100vh - var(--top-h) - var(--nav-h))}.fh-page-arrow{display:none}.fh-paper{border:0;border-radius:0;box-shadow:none;min-height:calc(100vh - var(--top-h));padding:30px 22px 105px;background:var(--paper)}.fh-page-edge{display:none}
  .fh-empty-state{padding:14vh 4px}.fh-empty-state h1{font-size:clamp(3rem,15vw,4.6rem)}
  .fh-song{max-width:none}.fh-song-head{grid-template-columns:auto 1fr;gap:15px;padding-bottom:20px}.fh-song-no{font-size:3rem}.fh-song-head h1{font-size:clamp(1.8rem,8vw,2.6rem)}
  .fh-reading-controls{top:var(--top-h);margin-inline:-22px;padding:12px 22px 13px;background:color-mix(in srgb,var(--paper) 93%,transparent);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(14px)}.fh-inline-present{display:none}.fh-segment button,.fh-tool-btn{font-size:.79rem;padding:7px 10px}.fh-lyrics{font-size:var(--font-size);line-height:1.62;margin-top:24px}.fh-song-footer{margin-top:50px}
  .fh-book-nav{bottom:0;left:0;transform:none;width:100%;border-radius:0;min-height:calc(var(--nav-h) + var(--safe-b));padding-inline:8px}.fh-book-nav{grid-template-columns:1fr 1.25fr 1fr}.fh-book-nav>button{padding-inline:6px}.fh-book-nav>button small{display:none}.fh-book-nav>div{min-width:0}.fh-book-nav strong{font-size:.78rem}
  .fh-drawer{width:min(470px,96vw)}.fh-drawer-head{padding:22px 20px 17px}.fh-drawer-subline{padding-inline:20px}.fh-song-row{padding:14px 20px}.fh-search-form{grid-template-columns:1fr;padding:14px}.fh-search-form>.fh-primary-button{display:none}
  .fh-presentation-toolbar{height:58px;padding:0 10px}.fh-presentation-title strong{display:none}.fh-presentation-actions{gap:4px}.fh-presentation-actions button{height:34px;min-width:34px;padding:0 8px}.fh-slide-wrap{padding:26px 18px}.fh-slide{font-size:clamp(1.9rem,8vw,3.6rem)}.fh-presentation-help{display:none}
}
@media (max-width:430px){
  .fh-brand-name strong{font-size:.93rem}.fh-top-actions{gap:0}.fh-icon-btn{width:37px;height:37px}.fh-icon-btn svg{width:19px;height:19px}
  .fh-paper{padding-inline:18px}.fh-reading-controls{margin-inline:-18px;padding-inline:18px}.fh-song-head{gap:12px}.fh-song-no{font-size:2.65rem}.fh-song-head h1{font-size:1.82rem}.fh-lyrics{max-width:none}.fh-empty-actions{display:grid}.fh-empty-actions button{width:100%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.fh-verse{display:grid;grid-template-columns:2.1em 1fr;gap:.15em;margin:0 0 1.25em}.fh-verse-no{font-family:var(--font-heading);color:var(--fh-red);font-size:.66em;font-weight:850;line-height:2.45}.fh-verse-text{white-space:pre-wrap}.fh-plain-lines{white-space:pre-wrap}
.fh-chorus{display:grid;grid-template-columns:max-content 1fr;gap:.8em;margin:.15em 0 1.45em;padding:.75em .9em .78em 1em;border-left:3px solid var(--fh-red);border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--fh-red) 6%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fh-red) 10%,transparent)}
.fh-chorus-label{font-family:var(--font-heading);color:var(--fh-red);font-size:.58em;font-weight:800;line-height:2.05;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.fh-chorus-text{white-space:pre-wrap}
@media(max-width:430px){.fh-verse{grid-template-columns:1.8em 1fr}.fh-chorus{grid-template-columns:1fr;gap:.15em;padding:.72em .85em}.fh-chorus-label{line-height:1.4}}


/* v0.1.10: Bundnavigationen følger appens tema. */
:root[data-theme="dark"] .fh-book-nav{background:#0f1012;color:#fff;border-color:#282a2f;box-shadow:0 14px 44px rgba(0,0,0,.32)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]):not([data-theme="dark"]) .fh-book-nav,
  :root[data-theme="auto"] .fh-book-nav{background:#0f1012;color:#fff;border-color:#282a2f;box-shadow:0 14px 44px rgba(0,0,0,.32)}
}


/* v0.1.17: prototype for akkorder + noder */
.fh-music-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 4px}
.fh-prototype-note{width:100%;font-family:var(--font-body);font-size:.76rem;line-height:1.45;color:var(--muted);padding:10px 12px;border-left:3px solid var(--fh-red);background:color-mix(in srgb,var(--fh-red) 5%,var(--paper));border-radius:0 8px 8px 0}
.fh-transpose{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-family:var(--font-heading);font-size:.72rem;font-weight:700;color:var(--muted)}
.fh-transpose>span{margin-right:4px;text-transform:uppercase;letter-spacing:.07em}
.fh-transpose button{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--ink);min-width:34px;height:34px;padding:0 9px;border-radius:999px;font-family:var(--font-heading);font-weight:800;cursor:pointer}
.fh-transpose button:hover{background:var(--control)}
.fh-transpose .fh-key-button{min-width:48px;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fh-chord-sheet{font-family:var(--font-body);font-size:var(--font-size);line-height:1.45;margin-top:4px}
.fh-chord-block{position:relative;display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:.55em;margin:0 0 1.7em}
.fh-chord-block-label{font-family:var(--font-heading);color:var(--fh-red);font-size:.62em;font-weight:800;line-height:2.3;text-transform:uppercase;letter-spacing:.05em}
.fh-chord-chorus{padding:.85em .9em .9em .85em;border-left:3px solid var(--fh-red);border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--fh-red) 5%,var(--paper))}
.fh-chord-lyric-line{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:.18em;row-gap:.62em;margin:0 0 .55em;min-height:2.15em}
.fh-chord-segment{display:inline-flex;flex-direction:column;align-items:flex-start;min-width:max-content;max-width:100%}
.fh-chord-name{font-family:var(--font-heading);font-size:.63em;line-height:1.05;font-weight:800;color:var(--fh-red);white-space:nowrap;margin-bottom:.12em}
.fh-chord-words{white-space:pre-wrap;line-height:1.35;color:var(--ink)}
.fh-chord-prefix,.fh-chord-plain{white-space:pre-wrap;line-height:1.35}
.fh-sheet-view{margin-top:22px}
.fh-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-family:var(--font-heading);font-size:.76rem;font-weight:700;color:var(--muted)}
.fh-sheet-canvas{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto;box-shadow:0 12px 34px rgba(0,0,0,.08);max-height:calc(100vh - 220px);overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.fh-sheet-canvas img{display:block;width:100%;height:auto;max-width:none;background:#fff}
.fh-sheet-status{font-family:var(--font-body);font-size:.95rem;color:#555;text-align:center;padding:42px 20px;background:#fff}

.fh-sheet-canvas:fullscreen{background:#111;display:grid;place-items:center;padding:20px;overflow:auto}
.fh-sheet-canvas:fullscreen img{width:auto;max-width:96vw;max-height:94vh;object-fit:contain}
.fh-sheet-hint{font-family:var(--font-body);font-size:.76rem;color:var(--muted);text-align:center;margin:10px 0 0}
@media(max-width:640px){
  .fh-reading-controls{align-items:flex-start}.fh-segment{max-width:100%;overflow-x:auto}
  .fh-chord-block{grid-template-columns:1.8em minmax(0,1fr);gap:.3em}
  .fh-chord-chorus{grid-template-columns:1fr;gap:.25em;padding:.75em .8em}.fh-chord-chorus .fh-chord-block-label{line-height:1.3}
  .fh-music-tools{margin-top:4px}.fh-transpose{margin-left:0;width:100%;justify-content:flex-end}
  .fh-sheet-canvas{margin-inline:-18px;border-left:0;border-right:0;border-radius:0;max-height:none}
}


/* v0.1.24: lydfil pr. sang */
.fh-audio-player{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;margin:13px 0 8px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.035)}
.fh-audio-play{width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--fh-red);color:#fff;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--fh-red) 22%,transparent);transition:transform .15s ease}
.fh-audio-play:active{transform:scale(.96)}
.fh-audio-icon{width:21px;height:21px;fill:currentColor;stroke:none}.fh-audio-icon-play{margin-left:2px}
.fh-audio-main{min-width:0}
.fh-audio-heading{display:flex;align-items:baseline;gap:9px;min-width:0;font-family:var(--font-heading);margin-bottom:7px}
.fh-audio-heading>span{text-transform:uppercase;letter-spacing:.09em;font-size:.64rem;font-weight:800;color:var(--fh-red)}
.fh-audio-heading strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.fh-audio-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.fh-audio-seek{width:100%;accent-color:var(--fh-red);cursor:pointer;margin:0}
.fh-audio-progress-row span{font-family:var(--font-heading);font-size:.66rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:520px){.fh-audio-player{grid-template-columns:42px minmax(0,1fr);padding:10px 11px;gap:10px}.fh-audio-play{width:42px;height:42px}.fh-audio-heading strong{font-size:.79rem}.fh-audio-progress-row{gap:7px}.fh-audio-progress-row span{font-size:.61rem}}

.fh-notation-frame{display:block;width:100%;min-height:760px;border:0;background:#fff;border-radius:10px} :root[data-theme="dark"] .fh-notation-frame{background:#151619}@media(max-width:700px){.fh-notation-frame{min-height:620px}}#sheetCanvas:fullscreen .fh-notation-frame{height:100vh;min-height:100vh;border-radius:0}

/* v0.2.0 · Sangbog + Lovsange */
.fh-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(560px,100%);margin-top:4px}
.fh-library-card{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--ink);border-radius:18px;padding:20px 18px;text-align:left;display:grid;grid-template-columns:48px 1fr;column-gap:13px;row-gap:3px;align-items:center;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.fh-library-card:hover{transform:translateY(-2px);background:var(--surface);border-color:color-mix(in srgb,var(--fh-red) 30%,var(--line));box-shadow:0 12px 30px rgba(0,0,0,.07)}
.fh-library-card:active{transform:scale(.985)}
.fh-library-icon{grid-row:1/3;width:48px;height:48px;border-radius:14px;background:var(--fh-red);color:#fff;display:grid;place-items:center;font-family:var(--font-heading);font-size:.82rem;font-weight:800;letter-spacing:-.02em}
.fh-library-card:nth-child(2) .fh-library-icon{font-size:1.35rem}
.fh-library-card strong{font-family:var(--font-heading);font-size:1rem;font-weight:700;line-height:1.15}
.fh-library-card small{font-size:.76rem;color:var(--muted);line-height:1.25}
.fh-search-all{min-width:190px}
.fh-song-head.is-lovsang{grid-template-columns:1fr;gap:0}
.fh-row-kind{display:inline-grid!important;place-items:center;width:38px;height:25px;border-radius:999px;background:color-mix(in srgb,var(--fh-red) 12%,transparent);color:var(--fh-red)!important;font-family:var(--font-heading);font-size:.62rem!important;letter-spacing:.08em;padding:0!important;margin-top:0}
.fh-song-row.is-lovsang{grid-template-columns:60px 1fr}
.fh-drawer-switch,.fh-search-filter{display:flex;gap:5px;padding:12px 20px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface) 92%,transparent)}
.fh-drawer-switch button,.fh-search-filter button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:7px 12px;font-family:var(--font-heading);font-size:.72rem;font-weight:700;cursor:pointer}
.fh-drawer-switch button.is-active,.fh-search-filter button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fh-song-footer a{color:var(--fh-red);text-decoration:none;font-weight:600}.fh-song-footer a:hover{text-decoration:underline}
.fh-song-footer small:empty{display:none}
.fh-song-footer small+small{margin-top:6px}
@media(max-width:560px){
  .fh-library-grid{grid-template-columns:1fr;width:100%}.fh-library-card{padding:17px 16px}.fh-search-all{width:100%}.fh-empty-state{padding-top:10vh}
  .fh-drawer-switch,.fh-search-filter{padding-inline:14px;overflow-x:auto}.fh-drawer-switch button,.fh-search-filter button{flex:0 0 auto}
}


/* v0.2.5 · direkte søgning på forsiden + robuste kildeknapper */
.fh-search-home{max-width:760px;padding:clamp(64px,12vh,132px) 10px 90px}
.fh-search-home h1{margin-bottom:34px}
.fh-home-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:min(680px,100%);margin:0 auto}
.fh-home-search-field{min-height:58px;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0 18px;box-shadow:0 8px 30px rgba(0,0,0,.055);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.fh-home-search-field:focus-within{border-color:color-mix(in srgb,var(--fh-red) 55%,var(--line));box-shadow:0 10px 34px rgba(0,0,0,.07),0 0 0 3px color-mix(in srgb,var(--fh-red) 11%,transparent)}
.fh-home-search-field svg{width:23px;height:23px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round}
.fh-home-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:1.05rem;padding:15px 0}
.fh-home-search-field input::placeholder{color:var(--muted)}
.fh-home-search-button{min-width:86px;border:0;border-radius:18px;background:var(--ink);color:var(--paper);font-family:var(--font-heading);font-size:.88rem;font-weight:700;padding:0 18px;cursor:pointer}
.fh-home-search-hint{font-size:.78rem!important;color:var(--muted)!important;margin:13px auto 0!important;max-width:680px!important;text-align:left}
.fh-home-results{width:min(680px,100%);margin:24px auto 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--surface) 88%,transparent);text-align:left}
.fh-home-results:empty{display:none}
.fh-home-results .fh-song-row:last-child{border-bottom:0}

.fh-drawer-head{flex:0 0 auto}
.fh-source-menu{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 18px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface) 94%,transparent);flex:0 0 auto;overflow:visible}
.fh-source-button{min-height:76px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:16px;padding:12px;text-align:left;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer;overflow:visible;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.fh-source-button:hover{background:var(--control);border-color:color-mix(in srgb,var(--fh-red) 28%,var(--line))}
.fh-source-button:active{transform:scale(.985)}
.fh-source-button.is-active{background:color-mix(in srgb,var(--fh-red) 10%,var(--surface));border-color:color-mix(in srgb,var(--fh-red) 58%,var(--line))}
.fh-source-icon{width:36px;height:36px;border-radius:11px;background:var(--fh-red);color:#fff;display:grid;place-items:center;font-family:var(--font-heading);font-size:.68rem;font-weight:800}
.fh-source-button:nth-child(2) .fh-source-icon{font-size:1.08rem}
.fh-source-button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.fh-source-button strong{font-family:var(--font-heading);font-size:.78rem;line-height:1.05}
.fh-source-button small{color:var(--muted);font-size:.65rem;line-height:1.2}
.fh-drawer-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:.72rem;flex:0 0 auto}
.fh-drawer-section-title strong{font-family:var(--font-heading);color:var(--ink);font-size:.75rem}
.fh-drawer-list{flex:1 1 auto;min-height:0;overflow-y:auto}

@media(max-width:560px){
  .fh-search-home{padding:9vh 0 80px}.fh-search-home h1{margin-bottom:27px}
  .fh-home-search-form{grid-template-columns:1fr}.fh-home-search-button{display:none}.fh-home-search-field{min-height:56px;border-radius:17px}
  .fh-home-search-hint{padding:0 3px}
  .fh-home-results{border-radius:14px;margin-top:19px}
  .fh-source-menu{grid-template-columns:1fr;padding:14px 16px 16px;gap:9px}
  .fh-source-button{min-height:68px;grid-template-columns:38px minmax(0,1fr);padding:10px 12px}
  .fh-source-button strong{font-size:.82rem}.fh-source-button small{font-size:.69rem}
  .fh-drawer-section-title{padding-inline:18px}
}

/* v0.2.7 · Sanglister + QR-deling */
.fh-playlist-top{position:relative}
.fh-top-badge{position:absolute;right:0;top:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--fh-red);color:#fff;display:grid;place-items:center;font-family:var(--font-heading);font-size:.56rem;font-weight:800;border:2px solid var(--canvas)}
.fh-song-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 52px;border-bottom:1px solid var(--line-soft);align-items:stretch}
.fh-song-row-wrap .fh-song-row{border-bottom:0}
.fh-row-add{border:0;border-left:1px solid var(--line-soft);background:transparent;color:var(--fh-red);font-family:var(--font-heading);font-size:1.6rem;font-weight:500;cursor:pointer;display:grid;place-items:center;transition:background .14s ease}
.fh-row-add:hover{background:color-mix(in srgb,var(--fh-red) 7%,var(--control))}
.fh-reader-tools .fh-add-list-btn{color:var(--fh-red);border-color:color-mix(in srgb,var(--fh-red) 32%,var(--line))}

.fh-playlist-continue{width:min(680px,100%);margin:18px auto 0;padding:13px 16px;border:1px solid color-mix(in srgb,var(--fh-red) 32%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--fh-red) 6%,var(--surface));color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.fh-playlist-continue span{font-family:var(--font-heading);font-weight:700}
.fh-playlist-continue small{color:var(--muted)}

.fh-active-playlist{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 2px;padding:10px 13px;border-radius:12px;background:color-mix(in srgb,var(--fh-red) 7%,var(--paper));border:1px solid color-mix(in srgb,var(--fh-red) 18%,var(--line));font-size:.78rem}
.fh-active-playlist>span{display:flex;align-items:baseline;gap:8px;min-width:0}.fh-active-playlist strong{font-family:var(--font-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fh-active-playlist small{color:var(--muted);white-space:nowrap}
.fh-active-playlist button{border:0;background:transparent;color:var(--fh-red);font-family:var(--font-heading);font-weight:700;cursor:pointer}

.fh-playlist-shell,.fh-shared-list-shell{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow:hidden}
.fh-playlist-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 18px 9px}
.fh-playlist-picker select,.fh-playlist-name-form input,.fh-share-expiry select,.fh-share-link-row input{min-width:0;border:1px solid var(--line);background:var(--control);color:var(--ink);border-radius:12px;padding:9px 11px;font-family:var(--font-body)}
.fh-playlist-name-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 18px 14px;border-bottom:1px solid var(--line-soft)}
.fh-playlist-name-form .fh-secondary-button{padding:8px 13px}
.fh-playlist-empty{padding:28px 22px;color:var(--muted);text-align:center;font-size:.85rem}
.fh-playlist-items{overflow-y:auto;min-height:0;flex:1 1 auto;padding:4px 0 10px}
.fh-playlist-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line-soft);background:transparent}
.fh-playlist-item[draggable="true"]{cursor:grab}.fh-playlist-item:active{cursor:grabbing}
.fh-drag-handle{color:var(--muted);font-size:1rem;text-align:center;user-select:none}
.fh-playlist-open{border:0;background:transparent;color:var(--ink);display:grid;grid-template-columns:48px minmax(0,1fr);gap:7px;text-align:left;align-items:center;padding:6px 4px;cursor:pointer;min-width:0}
.fh-playlist-open strong{font-family:var(--font-heading);font-size:.72rem;color:var(--fh-red)}
.fh-playlist-open span{font-family:var(--font-heading);font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh-playlist-item-actions{display:flex;gap:2px}.fh-playlist-item-actions button{width:31px;height:31px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.fh-playlist-item-actions button:last-child{color:var(--fh-red)}
.fh-playlist-actions{display:flex;gap:8px;flex-wrap:wrap;padding:14px 18px calc(18px + var(--safe-b));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,transparent)}
.fh-playlist-actions .fh-primary-button,.fh-playlist-actions .fh-secondary-button{flex:1 1 150px}
.fh-danger-link{border:0;background:transparent;color:var(--fh-red);font-family:var(--font-heading);font-weight:700;cursor:pointer;padding:8px 10px}

.fh-share-panel{position:absolute;inset:auto 12px calc(12px + var(--safe-b)) 12px;z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 18px 55px rgba(0,0,0,.24);max-height:calc(100vh - 110px);overflow:auto}
.fh-share-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.fh-share-head>div{display:flex;flex-direction:column;gap:3px}.fh-share-head strong{font-family:var(--font-heading)}.fh-share-head small{color:var(--muted);font-size:.72rem;line-height:1.3}.fh-share-head>button{border:0;background:var(--control);width:34px;height:34px;border-radius:50%;color:var(--ink);font-size:1.3rem;cursor:pointer}
.fh-share-expiry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0;font-size:.76rem;color:var(--muted)}
.fh-qr{width:min(280px,78vw);aspect-ratio:1;margin:8px auto 15px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff;display:grid;place-items:center;overflow:hidden}.fh-qr svg{width:100%;height:100%;display:block}.fh-qr p{color:#333;text-align:center;padding:20px;font-size:.8rem}.fh-share-loading,.fh-share-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#333;font-family:var(--font-body);font-size:.82rem;line-height:1.35;padding:20px}.fh-share-spinner{width:30px;height:30px;border:3px solid #ddd;border-top-color:var(--fh-red);border-radius:50%;animation:fh-spin .8s linear infinite}@keyframes fh-spin{to{transform:rotate(360deg)}}
.fh-share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.fh-share-link-row input{font-size:.7rem}
.fh-share-status{color:var(--muted);font-size:.7rem;margin:10px 0 0}.fh-share-panel>.fh-danger-link{margin-top:4px;padding-left:0}

.fh-playlist-readonly-item{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) 30px;gap:8px;align-items:center;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink);text-align:left;padding:14px 18px;cursor:pointer}
.fh-playlist-readonly-item:hover{background:var(--control)}.fh-playlist-readonly-item strong{color:var(--fh-red);font-family:var(--font-heading);font-size:.75rem}.fh-playlist-readonly-item span{font-family:var(--font-heading);font-weight:600}.fh-playlist-readonly-item small{color:var(--muted);text-align:right}
.fh-shared-home-list{width:min(680px,100%);margin:24px auto 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left;background:var(--surface)}
.fh-shared-start{margin-top:18px}

@media(max-width:760px){
  .fh-reader-tools .fh-add-list-btn{font-size:.72rem;padding-inline:10px}
  .fh-playlist-item-actions button{width:34px;height:34px}
  .fh-playlist-actions{padding-inline:14px}
  .fh-share-panel{inset:auto 8px calc(8px + var(--safe-b)) 8px}
}
@media(max-width:520px){
  .fh-song-row-wrap{grid-template-columns:minmax(0,1fr) 46px}.fh-row-add{font-size:1.45rem}
  .fh-playlist-name-form{grid-template-columns:1fr}.fh-playlist-name-form .fh-secondary-button{display:none}
  .fh-playlist-item{grid-template-columns:24px minmax(0,1fr) auto;padding-inline:7px}.fh-playlist-open{grid-template-columns:42px minmax(0,1fr)}
  .fh-playlist-item-actions button{width:30px;height:32px}.fh-drag-handle{font-size:.9rem}
  .fh-share-link-row{grid-template-columns:1fr}.fh-share-link-row .fh-secondary-button{width:100%}
  .fh-active-playlist{margin-inline:-8px}
}
