:root{color-scheme:light;--ink:#183346;--muted:#637582;--blue:#183c55;--line:#dce3e7;--paper:#fff;--bg:#f5f7f9;--accent:#a47632;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd8c42;outline-offset:4px}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:10px 15px;min-height:44px}button:hover{background:#edf2f5}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:white;z-index:10}.skip:focus{top:10px}header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1160px;margin:auto;min-height:102px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:13px;align-items:center;font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:bold}.brand-icon{background:var(--blue);color:white;width:44px;height:48px;display:grid;place-items:center;border-radius:6px;font-size:29px}.brand small{font:13px Arial,sans-serif;color:var(--muted);display:block;margin-top:7px;font-weight:normal}.header-inner nav{display:flex;gap:30px;font-size:15px}.header-inner nav a{padding:14px 0;border-bottom:2px solid transparent}.header-inner nav a[aria-current]{border-color:var(--accent);color:var(--blue)}main{max-width:1160px;margin:auto;padding:0 32px 70px;min-height:calc(100vh - 204px)}.intro{padding:55px 0 40px;max-width:740px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--muted);line-height:1.7}h1,h2,p{margin-top:0}h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.035em;line-height:1.12;font-size:48px;margin:17px 0 20px}.intro h1{font-size:54px}.intro h1 span{color:#688391}.intro p{color:var(--muted);font-size:17px;line-height:1.6;margin-bottom:28px}.search-form{display:flex;align-items:center;gap:12px;background:white;border:1px solid #c7d3da;border-radius:9px;padding:8px 9px 8px 18px;max-width:740px;box-shadow:0 4px 15px #20384705}.search-form>span{font-size:31px;line-height:1;color:#738692}.search-form input{min-width:0;flex:1;border:none;background:transparent;padding:12px 0;font-size:16px;color:var(--ink)}.search-form input:focus{outline:none}.search-form:focus-within{outline:2px solid #638397;outline-offset:2px}.search-form button{background:var(--blue);color:white;border:none;padding:13px 26px}.search-form button:hover{background:#28536e}.library-stats{display:flex;gap:20px;margin-top:18px;font-size:13px;color:var(--muted)}.library-stats span+span:before{content:'·';margin-right:20px;color:#89969e}.section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-bottom:23px;gap:20px}.section-heading h2{font-size:23px;font-weight:500;margin:0}.section-heading>span{color:var(--muted);font-size:14px}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.book-card{background:white;border:1px solid var(--line);border-left:5px solid var(--book-color);padding:24px 25px 20px;min-height:207px;display:flex;flex-direction:column;border-radius:4px 9px 9px 4px;transition:transform .18s,box-shadow .18s}.book-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1833460d}.blue{--book-color:#275776}.wine{--book-color:#874652}.green{--book-color:#2e6a62}.gold{--book-color:#b28740}.slate{--book-color:#6c768c}.book-top,.book-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px}.book-index{font-family:Georgia,serif;font-size:22px;color:var(--book-color)}.book-language{font-size:12px;color:var(--muted);text-align:right;line-height:1.5}.book-card h2{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:normal;line-height:1.22;letter-spacing:-.02em;margin:25px 0}.book-bottom{margin-top:auto;font-size:14px;color:var(--muted)}.card-arrow{font-size:23px;color:var(--book-color)}footer{max-width:1096px;margin:auto;padding:25px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px;line-height:1.6}footer a{text-decoration:underline;text-underline-offset:3px}.back{display:inline-block;color:var(--muted);font-size:14px;margin:30px 0}.back:hover,.breadcrumbs a:hover{text-decoration:underline}.book-heading{display:flex;justify-content:space-between;align-items:center}.book-heading h1{font-size:44px;margin-top:12px}.book-heading p{color:var(--muted);font-size:14px;margin-bottom:27px}.dot{margin:0 9px}.heading-note{font-size:70px;color:#c0cdd5;padding-right:35px}.catalog{margin-top:35px}.catalog-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.catalog-toolbar h2{font-size:21px;font-weight:500;margin:0}.catalog-controls{display:flex;gap:20px;align-items:center;font-size:14px}.catalog-controls label,.checkbox-label{display:flex;align-items:center;gap:8px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}select{border:1px solid #c7d3da;background:white;color:var(--ink);border-radius:6px;padding:10px;min-height:44px;max-width:100%}.song-list{list-style:none;padding:0;margin:0}.song-row{display:flex;align-items:center;gap:20px;min-height:67px;padding:14px 17px;border-bottom:1px solid var(--line);transition:background .1s}.song-row:hover{background:#eaf0f4}.song-number{color:var(--muted);font-size:14px;width:42px;flex-shrink:0;font-variant-numeric:tabular-nums}.song-name{flex:1;line-height:1.5;overflow-wrap:anywhere}.row-arrow{color:#8294a0;font-size:19px}.chord-badge{font-size:12px;background:#e7f0ed;color:#356559;padding:5px 8px;border-radius:4px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:14px;padding:30px 0;line-height:1.6}.reader{background:white;border:1px solid var(--line);border-radius:10px;padding:40px 55px;max-width:940px;margin:0 auto}.song-heading h1{font-size:37px;line-height:1.24;max-width:730px;margin-bottom:28px;overflow-wrap:anywhere}.reader-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:35px;font-size:14px}.reader-toolbar button{padding:9px 12px}.reader-toolbar button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.reading-tools{display:flex;gap:6px;margin-left:auto}.muted{color:var(--muted)}.transpose{display:flex;gap:5px;align-items:center}.transpose output{text-align:center;min-width:24px;font-variant-numeric:tabular-nums}.lyrics{font-size:var(--lyric-size,21px);font-family:Georgia,'Times New Roman',serif;line-height:1.65}.stanza{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;margin:0 0 29px}.stanza-label{font:12px Arial,sans-serif;letter-spacing:.04em;color:#8496a2;padding-top:9px;line-height:1.6}.chorus{border-left:2px solid #b99152;margin-left:-17px;padding-left:15px}.chorus .stanza-label{color:#93703b}.lyric-line{min-height:1.5em;white-space:pre-wrap;overflow-wrap:anywhere}.chord{display:none}.show-chords .lyric-line{line-height:2.9}.show-chords .chord{display:inline-block;position:relative;width:0;height:0;vertical-align:baseline}.chord b{position:absolute;left:0;bottom:.95em;color:#8a5b1f;font:600 .68em Arial,sans-serif;white-space:pre;line-height:1.3}.song-source{border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font:13px Arial,sans-serif;color:var(--muted)}.song-source a:hover{text-decoration:underline}.song-pagination{display:flex;justify-content:space-between;gap:30px;max-width:940px;margin:25px auto 0}.song-pagination a{max-width:45%;display:flex;flex-direction:column;gap:8px;line-height:1.5}.song-pagination a:last-child{text-align:right;margin-left:auto}.song-pagination small{color:var(--muted);font-size:13px}.song-pagination span{font-size:15px}.search-heading h1{font-size:43px;margin-bottom:30px}.search-filters{display:flex;gap:25px;align-items:flex-end;margin:23px 0}.search-filters>label:first-child{display:flex;flex-direction:column;gap:8px;font-size:14px}.checkbox-label{min-height:44px;font-size:14px}#search-status{color:var(--muted);line-height:1.6;margin-top:28px}.result-detail{display:block;color:var(--muted);font-size:13px;margin-top:4px}.result-excerpt{display:block;color:#6e7c86;font-size:14px;font-weight:normal;margin-top:6px}.more{display:block;margin:25px auto}.empty-state{padding:35px 0}.empty-state h2{font-size:23px}.empty-state p{color:var(--muted);line-height:1.6}
@media(min-width:1000px){.book-card:nth-child(4),.book-card:nth-child(5){min-height:190px}.intro{padding-top:49px}}
@media(max-width:800px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{padding:20px 24px}main{padding-left:24px;padding-right:24px}.intro h1{font-size:46px}.reader{padding:30px}.song-heading h1{font-size:32px}.lyrics{font-size:var(--lyric-size,20px)}footer{margin:0 24px}.brand{font-size:20px}}
/* Phone is the primary reading and browsing surface. */
.library-intro{padding:32px 0 28px}
.library-intro h1{font-size:36px;margin:0 0 20px}
@media(max-width:700px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom));background:#fff}
  .header-inner{padding:12px 16px;min-height:68px;gap:12px}
  .brand{font-size:20px;gap:10px;min-width:0}
  .brand-icon{width:34px;height:40px;font-size:25px;flex-shrink:0}
  .brand small{font-size:12px;margin-top:4px}
  .header-inner nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px max(16px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 16px #18334608;font-size:16px}
  .header-inner nav a{display:grid;place-items:center;min-height:48px;padding:10px 16px;border:0;border-radius:8px}
  .header-inner nav a[aria-current]{background:#eaf0f4;color:var(--blue);font-weight:600}
  main{padding:0 16px 28px;min-height:calc(100dvh - 225px)}
  .intro{padding:24px 0}.intro h1{font-size:30px}.intro p{font-size:16px}
  .library-intro{padding:22px 0 20px}.library-intro h1{font-size:28px;margin:0 0 16px}
  .search-form{max-width:none;gap:8px;padding:6px 6px 6px 12px;box-shadow:none}
  .search-form>span{font-size:26px}.search-form input{font-size:16px;padding:10px 0}
  .search-form button{padding:12px;min-height:46px;font-size:16px}
  .library-stats{gap:10px;flex-wrap:wrap;margin-top:13px;font-size:12px}
  .library-stats span+span:before{margin-right:10px}
  .section-heading{padding-top:0;border-top:0;margin:0 0 12px}
  .section-heading h2{font-size:18px}.section-heading>span{display:none}
  .book-grid{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
  .book-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:5px;min-height:94px;padding:14px 16px;border:0;border-left:4px solid var(--book-color);border-radius:0;box-shadow:none}
  .book-card+.book-card{border-top:1px solid var(--line)}
  .book-card:hover{transform:none;box-shadow:none;background:#f5f8fa}
  .book-card h2{grid-column:1;grid-row:1;margin:0;font-size:22px;line-height:1.25}
  .book-top{grid-column:1;grid-row:2;display:block}.book-index{display:none}
  .book-language{font-size:12px;text-align:left;line-height:1.4;display:block}
  .book-bottom{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:4px;margin:0;font-size:12px;white-space:nowrap}
  .card-arrow{font-size:20px}
  .back{display:inline-flex;align-items:center;min-height:44px;margin:7px 0;font-size:14px}
  .book-heading h1{font-size:30px;margin:8px 0 12px}.book-heading p{margin-bottom:18px;line-height:1.5}
  .book-heading .eyebrow{letter-spacing:.05em}.heading-note{display:none}
  .catalog{margin-top:20px}.catalog-toolbar{align-items:stretch;flex-direction:column;gap:10px;padding-bottom:10px}
  .catalog-toolbar h2{font-size:18px}.catalog-controls{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}
  .catalog-controls label{min-height:44px}.catalog-controls select{font-size:16px}
  .song-row{padding:13px 0;gap:10px;min-height:64px}.song-number{width:34px;font-size:14px}
  .song-name{font-size:17px;min-width:0}.chord-badge{font-size:12px;padding:4px 6px}.row-arrow{display:none}
  .breadcrumbs{font-size:14px;gap:7px;padding:4px 0;min-height:48px;align-items:center}
  .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
  .breadcrumbs>a:first-child,.breadcrumbs>span:first-of-type{display:none}
  .reader{padding:14px 0 0;border:0;border-radius:0;background:white}
  .song-heading h1{font-size:29px;line-height:1.2;margin:10px 0 18px}
  .song-heading .eyebrow{font-size:12px;letter-spacing:.04em;line-height:1.5}
  .reader-toolbar{position:sticky;top:0;z-index:10;gap:8px;padding:8px 0;margin:0 0 20px;background:white;font-size:14px;align-items:center}
  .reader-toolbar button{min-width:44px;min-height:46px;padding:10px;font-size:14px;touch-action:manipulation}
  .reading-tools{margin-left:auto;gap:5px}.transpose{order:3;flex:1 0 100%;gap:8px;border-top:1px solid var(--line);padding-top:8px}
  .transpose output{min-width:36px}.transpose #transpose-reset{margin-left:auto}
  .lyrics{font-size:var(--lyric-size,20px);line-height:1.6}
  .stanza{grid-template-columns:1fr;gap:4px;margin-bottom:23px}.stanza-label{padding-top:0;font-size:12px}
  .chorus{margin-left:0;padding-left:12px}.show-chords .stanza{gap:12px}.show-chords .lyric-line{line-height:2.5}
  .song-source{font-size:13px;margin-top:24px;padding-top:16px}.song-source a{display:inline-flex;min-height:44px;align-items:center}
  .song-pagination{gap:16px;margin-top:20px}.song-pagination a{min-height:60px}.song-pagination span{font-size:14px}
  .search-heading .eyebrow{display:none}.search-heading h1{font-size:28px;margin:8px 0 18px}
  .search-filters{flex-direction:column;align-items:stretch;gap:6px;margin:16px 0}
  .search-filters select{width:100%;font-size:16px}.checkbox-label{min-height:44px}
  #search-status{font-size:14px;margin:14px 0}.result-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
  footer{margin:0 16px;padding:18px 0;flex-direction:column;gap:6px;font-size:12px}
}
@media(max-width:360px){
  .brand{font-size:18px}.brand small{font-size:12px}
  .book-card{padding:12px;column-gap:8px}.book-card h2{font-size:20px}
  .search-form>span{display:none}.reading-tools{gap:4px}
  .reader-toolbar{gap:5px}.reader-toolbar button{padding:8px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{padding-bottom:0}header,footer,.breadcrumbs,.reader-toolbar,.song-pagination,.song-source,.skip{display:none!important}body{background:white;color:black}main{padding:0;max-width:none}.reader{border:0;padding:0;max-width:none}.song-heading h1{font-size:24pt}.lyrics{font-size:13pt}.stanza{break-inside:avoid}.chord b{color:black}.chorus{border-color:#999}}
