.lib-public-reader {
    margin: 24px 0 38px;
    padding: clamp(18px, 4vw, 28px);
    border: 1px solid rgba(162, 210, 119, 0.22);
    border-radius: 24px;
    color: #f4f2df;
    background: linear-gradient(135deg, rgba(25, 61, 32, 0.62), rgba(9, 27, 14, 0.72));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
}
.lib-public-reader__head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.lib-public-reader__kicker { margin:0; color:#a2d277; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; }
.lib-public-reader__head h2 { margin:4px 0 0; color:#f4f2df; font-size:clamp(1.35rem,3vw,2rem); }
.lib-public-reader__controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.lib-public-reader__button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 15px; border:1px solid rgba(162,210,119,.26); border-radius:999px; color:#f8f6e8; background:rgba(25,61,32,.62); font-weight:650; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease; }
.lib-public-reader__button--play { background:rgba(72,118,65,.8); }
.lib-public-reader__button:hover:not(:disabled) { transform:translateY(-2px); border-color:rgba(162,210,119,.58); background:rgba(72,118,65,.56); }
.lib-public-reader__button:disabled { cursor:not-allowed; opacity:.38; }
.lib-public-reader__select { display:inline-flex; align-items:center; gap:9px; color:rgba(244,242,223,.76); font-size:.86rem; }
.lib-public-reader__select select { min-height:44px; padding:0 34px 0 13px; border:1px solid rgba(162,210,119,.25); border-radius:13px; color:#f4f2df; background:#193d20; }
.lib-public-reader__select:first-of-type { margin-left:auto; }
.lib-public-reader__status,.lib-public-reader__notice { margin:15px 0 0; color:rgba(244,242,223,.7); font-size:.88rem; line-height:1.55; }
.lib-public-reader__notice { color:#f1d8b3; }
.lib-public-reader__wave { display:flex; align-items:center; justify-content:center; gap:4px; width:72px; height:48px; }
.lib-public-reader__wave i { width:4px; height:12px; border-radius:999px; background:linear-gradient(to top,#487641,#a2d277); opacity:.65; transform-origin:center; }
.lib-public-reader.is-speaking .lib-public-reader__wave i { animation:libPublicWave .78s ease-in-out infinite alternate; }
.lib-public-reader.is-speaking .lib-public-reader__wave i:nth-child(2){animation-delay:-.22s}.lib-public-reader.is-speaking .lib-public-reader__wave i:nth-child(3){animation-delay:-.43s}.lib-public-reader.is-speaking .lib-public-reader__wave i:nth-child(4){animation-delay:-.12s}.lib-public-reader.is-speaking .lib-public-reader__wave i:nth-child(5){animation-delay:-.52s}.lib-public-reader.is-speaking .lib-public-reader__wave i:nth-child(6){animation-delay:-.32s}
@keyframes libPublicWave { from{transform:scaleY(.55);opacity:.52} to{transform:scaleY(2.45);opacity:1} }
@media(max-width:720px){.lib-public-reader__controls{align-items:stretch}.lib-public-reader__button{flex:1 1 calc(50% - 10px)}.lib-public-reader__select{width:100%;margin:4px 0 0!important;justify-content:space-between}.lib-public-reader__select select{min-width:175px;max-width:70vw}}
@media(prefers-reduced-motion:reduce){.lib-public-reader.is-speaking .lib-public-reader__wave i{animation-duration:1.4s}}
