/* Book launch: existing covers, radio controls, and listener chat remain live. */
.home-page{background:radial-gradient(ellipse at 70% 24%,#16372a 0%,#0b211a 55%,#0b1a15 100%)}
.home-page .hero h1 em{color:#f5e7c9}
.home-page #listener-app{gap:clamp(18px,2.5vw,38px);padding-block:20px;align-items:start}
.home-page .radio-room{justify-content:flex-start}.home-page .hero{margin-bottom:13px}.home-page .hero h1{font-size:clamp(29px,3.2vw,45px);font-weight:650;color:#f5e7c9}.home-page .hero .intro{font-size:13px;color:#d5dacd}
.home-books{min-width:0;margin-bottom:17px;padding:14px;border:1px solid #a88d5e;border-radius:15px;background:linear-gradient(140deg,#153126,#0c211b);box-shadow:inset 0 1px 0 #e3c99530,0 12px 25px #0003}
.home-books-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.home-books-heading h2{margin:0;font-size:19px;color:#f1dbb2}.home-books-heading a{font-size:11px;color:#ebc991;text-decoration:none;white-space:nowrap}
.home-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-book{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;min-width:0;padding:8px;border:1px solid #58715a;border-radius:9px;background:#203a2d}.home-book-cover{display:block;height:78px;min-width:0}.home-book-cover img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px;box-shadow:0 4px 8px #0008}.home-book-cover span{display:grid;place-items:center;height:100%;padding:4px;background:#58472e;font-size:9px;text-align:center}.home-book>div{display:flex;flex-direction:column;min-width:0}.home-book h3{margin:0;font-size:12px;line-height:1.5}.home-book h3 a{text-decoration:none;color:#f1e7d4}.home-book p{font-size:9px;color:#b9cbb9;margin:2px 0 auto;line-height:1.5}.home-book-sample{display:flex;align-items:center;justify-content:space-between;gap:3px;min-height:27px;padding:3px 5px;border-radius:5px;background:#ebd2a1;color:#183026;text-decoration:none;font-weight:700;font-size:9px;white-space:nowrap}.home-books-note{color:#c9d4c2;font-size:10px;text-align:center;margin:9px 0 0}.home-books-empty{grid-column:1/-1;margin:0;color:#c6d1bf;font-size:12px}
.home-page .player-card{padding:10px}.home-page .radio-face{padding:11px 15px 8px}.home-page .radio-nameplate{padding-bottom:8px}.home-page .frequency-dial{min-height:130px}.home-page .frequency-scale{margin-top:10px}.home-page .controls{padding-top:9px}.home-page .radio-bottom{margin-top:7px;padding-top:6px}.home-page .receiver-status{padding-top:14px}.home-page .below{margin-top:9px;padding-top:7px}
.home-page .chat-card{min-height:570px;max-height:max(570px,calc(100dvh - 170px))}
.books-library-page{background:radial-gradient(ellipse at 83% 8%,#24463455,transparent 42%),#0b1e18}.books-library-page #main{max-width:1480px;padding-inline:clamp(18px,3.5vw,54px)}
.books-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:32px;align-items:center;min-height:315px;margin:12px 0 6px;padding:24px 32px;border:1px solid #ba985d;border-radius:16px;background:radial-gradient(circle at 25% 100%,#3a2b185e,transparent 44%),linear-gradient(120deg,#193a2c,#0e271e);overflow:hidden;box-shadow:0 20px 35px #0003}.books-hero h1{font-size:clamp(36px,4.5vw,67px);font-weight:700;line-height:1.35;color:#f6e8cb;margin:4px 0 8px}.books-hero h1 em{font-style:normal;color:#f5d391}.books-hero-lead{max-width:660px;font-size:16px;line-height:2;color:#ecdfc7;margin:0 0 7px}.books-hero-note{font-size:12px;color:#c2d0be;margin:0}.books-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.books-primary,.books-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:7px 14px;border:1px solid #e5c68b;border-radius:7px;text-align:center;text-decoration:none;font-size:12px;font-weight:700}.books-primary{color:#142a20;background:#edd5aa}.books-primary:hover{background:#fff0cc}.books-secondary{color:#ecd9ae;background:#11281d}.books-secondary:hover{background:#2a4635}.books-hero-count{margin:14px 0 0;color:#e1c798;font-size:12px}.books-hero-art{display:flex;align-items:flex-end;justify-content:center;min-height:250px;direction:ltr;overflow:visible}.books-hero-art img{height:230px;width:min(30%,160px);object-fit:cover;object-position:top;box-shadow:5px 14px 19px #000a,-6px 0 0 #2c2015;border:2px solid #89745b;border-radius:4px}.books-hero-art img:nth-child(2){height:248px;transform:translateY(-4px)}.books-hero-art img:nth-child(3){height:236px}
.books-library-page .archive-shelf{padding-top:28px}.books-shelf-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #bd9a6066;padding-bottom:11px}.books-shelf-heading h2{margin:0;color:#f1deb9;font-size:25px}.books-library-page .shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:19px}.books-library-page .shelf-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;min-height:184px;padding:12px;border:1px solid #9a824f;border-radius:13px;background:linear-gradient(125deg,#1f3b2e,#10271e);box-shadow:inset 0 1px 0 #dac58b24,0 9px 19px #0003}.books-library-page .shelf-cover-link{display:block;min-width:0}.books-library-page .shelf-cover{display:block;width:100%;height:158px;object-fit:cover;border:1px solid #ad9165;border-radius:4px;box-shadow:4px 5px 10px #0007}.shelf-cover-placeholder{display:grid;place-items:center;height:158px;padding:8px;background:#4c3d2c;color:#f4ddb3;font-size:13px;text-align:center}.books-library-page .shelf-body{display:flex;flex-direction:column;min-width:0}.books-library-page .shelf-kicker{font-size:9px}.books-library-page .shelf-body h3{font-size:17px;line-height:1.5;margin:3px 0}.books-library-page .shelf-body h3 a{color:#f4e9d0;text-decoration:none}.books-library-page .shelf-author{font-size:11px}.books-library-page .shelf-count{margin-top:4px}.shelf-actions{display:grid;gap:6px;margin-top:auto}.shelf-actions .books-primary,.shelf-actions .books-secondary{min-height:31px;padding:4px 6px;font-size:10px}.books-episode-note{color:#abbdab;font-size:11px;margin:5px 0 0}.books-library-page .archive-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.books-library-page .episode-grid{margin-top:10px}.books-join{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 12px;padding:21px 28px;border:1px solid #bf9e62;border-radius:12px;background:linear-gradient(120deg,#173a29,#0b2119)}.books-join strong{font-size:20px;color:#f2dcaf}.books-join p{font-size:12px;color:#c2d0bc;margin:2px 0 0}.books-join>a{padding:8px 21px;border:1px solid #e1bf82;border-radius:6px;color:#f0d8a6;text-decoration:none;white-space:nowrap}
@media(max-width:1300px){.home-books-grid{grid-template-columns:1fr 1fr}.home-book:last-child{display:none}.books-library-page .shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:999px){.home-page #listener-app{display:flex;flex-direction:column}.home-page .radio-room,.home-page .chat-card{width:100%}.home-page .chat-card{min-height:460px;height:500px}.home-books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-book:last-child{display:grid}}
@media(max-width:720px){.books-hero{grid-template-columns:1fr;gap:14px;padding:22px}.books-hero-art{min-height:160px}.books-hero-art img{height:145px}.books-hero-art img:nth-child(2){height:160px}.books-hero-art img:nth-child(3){height:149px}.books-library-page .shelf-grid{grid-template-columns:1fr 1fr}.books-library-page .shelf-card{grid-template-columns:75px minmax(0,1fr);gap:8px;padding:8px}.books-library-page .shelf-cover,.shelf-cover-placeholder{height:110px}.books-library-page .shelf-body h3{font-size:13px}.books-library-page .shelf-kicker{display:none}.shelf-actions .books-primary,.shelf-actions .books-secondary{font-size:9px}.books-join{flex-direction:column;align-items:start}}
@media(max-width:550px){.home-books-grid{grid-template-columns:1fr}.home-book:last-child{display:grid}.home-book{grid-template-columns:53px minmax(0,1fr)}.home-book-cover{height:70px}.home-page .hero h1{font-size:28px}.home-books-heading h2{font-size:17px}.books-library-page .shelf-grid{grid-template-columns:1fr}.books-library-page .shelf-card{grid-template-columns:90px minmax(0,1fr)}.books-library-page .shelf-cover,.shelf-cover-placeholder{height:126px}.books-library-page .shelf-body h3{font-size:16px}.books-library-page .shelf-kicker{display:block}.books-hero h1{font-size:37px}.books-hero-lead{font-size:13px}.books-hero-art{min-height:130px}.books-hero-art img{height:125px}.books-hero-art img:nth-child(2){height:137px}.books-hero-art img:nth-child(3){height:130px}}

/* Visual QA: one height budget for the two desktop columns. */
@media (min-width:1000px) {
  .home-page #listener-app {
    width:100%; max-width:1440px; grid-template-columns:minmax(0,880fr) minmax(360px,452fr);
    gap:20px; padding:36px 44px 12px; align-items:stretch; min-height:0;
    grid-template-rows:minmax(0,1fr);
  }
  .home-page .radio-room { min-height:0; max-height:none; }
  .home-page .chat-card { height:704px; min-height:0; max-height:none; }
  .home-page .hero { min-height:92px; margin:0 0 20px; }
  .home-page .hero .eyebrow { display:none; }
  .home-page .hero h1 { margin:0 0 1px; line-height:1.35; font-size:40px; }
  .home-page .hero .intro { font-size:15px; }
  .home-books { height:220px; margin:0 0 20px; padding:13px 16px; }
  .home-books-heading { margin-bottom:9px; }
  .home-books-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
  .home-book:last-child { display:grid; }
  .home-book { grid-template-columns:100px minmax(0,1fr); gap:9px; height:150px; padding:0; overflow:hidden; direction:ltr; }
  .home-book-cover { height:148px; }
  .home-book-cover img { border-radius:4px 0 0 4px; }
  .home-book>div { padding:7px 7px 7px 0; direction:rtl; }
  .home-book h3 { font-size:17px; line-height:1.4; }
  .home-book p { font-size:12px; line-height:1.5; }
  .home-book-sample { min-height:40px; padding:5px 8px; font-size:14px; white-space:normal; line-height:1.35; }
  .home-books-note { display:none; }
  .home-page .player-card { padding:9px; }
  .home-page .radio-face { padding:7px 12px 5px; }
  .home-page .radio-nameplate { padding-bottom:4px; }
  .home-page .radio-nameplate h2 { font-size:15px; }
  .home-page .radio-hardware { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:12px; height:195px; }
  .home-page .speaker { min-height:0; }
  .home-page .tuner { display:flex; flex-direction:column; min-height:0; }
  .home-page .frequency-dial { flex:none; min-height:110px; padding:7px 12px 5px; }
  .home-page .frequency-scale { margin-top:5px; }
  .home-page .frequency-ticks { height:13px; margin-top:2px; }
  .home-page .dial-needle { height:30px; }
  .home-page .dial-bands { margin-top:2px; }
  .home-page .track { margin:4px 0 0; }
  .home-page .audio-wave { height:9px; }
  .home-page .controls { flex:1; justify-content:space-evenly; padding:4px 4px 0; }
  .home-page .power-control { gap:3px; min-width:85px; }
  .home-page .power-knob { width:49px; height:49px; }
  .home-page .knob-notch { transform-origin:1px 18px; }
  .home-page .volume-control { width:105px; max-width:105px; }
  .home-page .vintage-dial { width:96px; height:88px; }
  .home-page .vintage-dial svg { width:96px; height:96px; }
  .home-page .volume-wheel { width:59px; height:59px; left:18px; top:18px; }
  .home-page .wheel-face { width:49px; height:49px; }
  .home-page .wheel-face i { left:22px; top:4px; height:13px; transform-origin:1.5px 19px; }
  .home-page .wheel-face span { top:24px; }
  .home-page #radio-volume { width:78px; height:78px; left:9px; top:9px; }
  .home-page .dial-low,.home-page .dial-high { bottom:-1px; }
  .home-page .volume-caption { margin-top:0; font-size:9px; }
  .home-page .radio-bottom { margin-top:3px; padding-top:2px; }
  .home-page .receiver-status { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0 12px; min-height:39px; padding-top:4px; text-align:start; }
  .home-page .on-air { justify-content:start; min-height:18px; }
  .home-page .playback-state { margin:0; line-height:1.4; }
  .home-page .listening-meta { grid-column:1/-1; justify-content:start; font-size:9px; line-height:1.25; }
  .home-page .below { min-height:38px; margin-top:6px; padding-top:4px; }
  .home-page .below h2 { font-size:13px; margin:0; }
  .home-page .below p { font-size:11px; }
}

/* Readable conversation and one shared sign-in flow. */
.home-page .chat-card { background:#162720; border-color:#bd9c6459; padding:22px 24px; border-radius:18px; }
.home-page .chat-heading h2 { color:#efe5c9; font-size:24px; font-weight:650; margin:0; }
.home-page .chat-symbol { width:36px; height:36px; font-size:22px; }
.home-page #chat-mode { color:#c2d0c0; font-size:13px; margin:5px 0 0; padding-bottom:10px; }
.home-page .chat-messages { flex:1 1 auto; min-height:0; padding:8px 0; }
.home-page .chat-messages li { padding:5px 0; font-size:14px; line-height:1.7; }
.home-page .chat-messages strong { font-size:12px; margin-bottom:2px; }
.home-page .chat-messages li>span { padding:7px 11px; background:#244033; border-color:#63816a3d; }
.home-page .chat-messages li.chat-empty { font-size:14px; min-height:100px; }
.home-page .chat-empty::before { font-size:26px; margin-bottom:7px; }
.home-page .chat-compose { max-height:55%; padding-top:10px; }
.home-page #chat-access { font-size:12px; margin:0 0 4px; }
.chat-guest { display:flex; flex-direction:column; align-items:center; padding:5px 0 0; }
.chat-guest-icon { display:grid; place-items:center; width:32px; height:32px; border:1px solid #c7ab7d; border-radius:50%; color:#e8d4ab; font-size:21px; line-height:1; }
.chat-guest-icon svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.chat-guest p { margin:7px 0 9px; font-size:14px; color:#e6e4d4; }
.chat-guest button { width:min(100%,300px); min-height:50px; border:1px solid #e9d2a6; border-radius:9px; color:#182a20; background:#ebcc93; font-weight:700; font-size:14px; }
.chat-guest button:hover { background:#ffdf9f; }
.home-page .chat-form label { font-size:13px; }
.home-page .chat-row input,.home-page .chat-identity input { font-size:14px; }
.home-page .chat-row button { min-height:44px; font-size:13px; }

/* Library cards and the fixed player need legible actions and a safe final row. */
.books-library-page .shelf-author,.books-library-page .shelf-count,.books-episode-note { font-size:12px; }
.books-library-page .shelf-kicker { font-size:11px; }
.books-library-page .shelf-actions .books-primary,.books-library-page .shelf-actions .books-secondary { min-height:40px; font-size:13px; }
.books-library-page .archive-shelf { padding-top:16px; }
.books-library-page .shelf-grid { margin-top:14px; }
.books-library-page #main { padding-bottom:140px; }
@media (min-width:1000px) and (max-height:810px) {
  .home-page #listener-app { padding-top:10px; }
  .home-page .hero { min-height:62px; margin-bottom:10px; }
  .home-page .hero h1 { font-size:31px; }
  .home-page .hero .intro { font-size:13px; }
  .home-books { height:166px; margin-bottom:10px; padding:8px 12px; }
  .home-books-heading { margin-bottom:6px; }
  .home-books-heading h2 { font-size:17px; }
  .home-book { height:120px; grid-template-columns:78px minmax(0,1fr); }
  .home-book-cover { height:118px; }
  .home-book h3 { font-size:16px; }
  .home-book p { display:none; }
  .home-book-sample { min-height:40px; }
  .home-page .radio-hardware { height:170px; }
  .home-page .frequency-dial { min-height:93px; }
  .home-page .frequency-ticks { height:9px; }
  .home-page .audio-wave,.home-page .radio-nameplate>span,.home-page .radio-bottom>span:last-child { display:none; }
  .home-page .vintage-dial { height:72px; }
  .home-page .volume-caption { display:none; }
  .home-page .below { margin-top:4px; }
  .home-page .chat-card { height:605px; }
}
@media (max-width:999px) {
  .home-page #listener-app { padding-block:18px; }
  .home-page .chat-card { height:560px; min-height:0; max-height:none; }
  .home-book h3 { font-size:16px; }
  .home-book p { font-size:12px; }
  .home-book-sample { min-height:44px; font-size:14px; padding:5px 10px; }
  .books-library-page #main { padding-bottom:170px; }
}
@media (max-width:550px) {
  .home-books { padding:12px; }
  .home-book { grid-template-columns:82px minmax(0,1fr); min-height:116px; }
  .home-book-cover { height:114px; }
  .home-book>div { display:flex; flex-direction:column; }
  .home-book-sample { margin-top:auto; }
  .home-page .chat-card { padding:18px; }
  .home-page .chat-heading h2 { font-size:21px; }
}
