:root{color:#18221d;font-synthesis:none;--forest:#17251f;--cream:#f4efe5;--paper:#fffaf0;--gold:#e3ae4d;--coral:#d76442;--muted:#6b706b;background:#f4efe5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%, #efd99f 0, transparent 32rem), var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,select,input[type=range]{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(100%,56rem);padding:max(1.1rem, env(safe-area-inset-top)) 1.1rem max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}.brand{color:var(--forest);letter-spacing:-.02em;align-items:center;gap:.65rem;font-weight:800;display:flex}.brand__mark{width:2rem;height:2rem;color:var(--gold);background:var(--forest);border-radius:.65rem;place-items:center;font-family:Georgia,serif;display:grid}.brand__badge{color:var(--muted);letter-spacing:.08em;border:1px solid #b9b4aa;border-radius:999px;margin-left:auto;padding:.3rem .55rem;font-size:.7rem}.logout-button{color:var(--forest);background:var(--paper);border:1px solid #b9b4aa;border-radius:.65rem;margin-left:.25rem;padding:.45rem .7rem;font-size:.75rem;font-weight:700}.status-card{background:#fffaf0bf;border:1px solid #d7d0c2;border-radius:1rem;margin-top:3rem;padding:1.5rem}.status-card h1{margin-top:0}.status-card code{overflow-wrap:anywhere}.login-card{width:min(100%,28rem);margin-inline:auto}.login-card form{gap:.65rem;display:grid}.login-card label{color:var(--forest);font-size:.82rem;font-weight:800}.login-card input{width:100%;min-height:2.8rem;color:var(--forest);background:var(--paper);border:1px solid #b9b4aa;border-radius:.65rem;padding:.65rem .75rem}.login-card button{min-height:2.8rem;color:var(--paper);background:var(--forest);border:0;border-radius:.65rem;margin-top:.5rem;font-weight:800}.form-error{color:#a32f21;margin:.25rem 0 0;font-weight:700}.player{padding-top:2.4rem}.hero{grid-template-columns:minmax(8.2rem,42%) 1fr;align-items:end;gap:1.25rem;display:grid}.cover-frame{aspect-ratio:1;background:#dfd5c4;border-radius:.55rem;padding:.45rem;position:relative;transform:rotate(-1.5deg);box-shadow:0 1.25rem 2.5rem #17251f33}.cover{object-fit:contain;background:#d9d1c3;border-radius:.25rem;width:100%;height:100%;display:block}.eyebrow{color:var(--coral);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem;font-weight:800}.book-copy h1{color:var(--forest);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,7vw,3.5rem);line-height:.98}.author{margin:.8rem 0 .25rem;font-weight:700}.narrator{color:var(--muted);margin:0;font-size:.88rem}.transport{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0e0;border:1px solid #17251f1c;border-radius:1.25rem;margin-top:2.2rem;padding:1.35rem;box-shadow:0 .6rem 2rem #17251f14}.chapter-now{color:var(--muted);justify-content:space-between;gap:1rem;margin-bottom:.8rem;font-size:.8rem;display:flex}.chapter-now strong{color:var(--forest);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline{width:100%;height:1.2rem;accent-color:var(--coral);margin:0}.time-row{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.75rem;display:flex}.transport-buttons{justify-content:space-between;align-items:center;gap:.4rem;margin:1.1rem 0;display:flex}.transport-buttons button{color:var(--forest);background:0 0;border:0}.icon-button{min-width:2.7rem;min-height:2.7rem;font-size:1.3rem}.skip-button{justify-content:center;align-items:baseline;min-width:3.4rem;min-height:3.4rem;font-weight:800;display:flex;border:2px solid #cfc7ba!important;border-radius:50%!important}.skip-button small{margin-left:.1rem;font-size:.62rem}.play-button{place-items:center;width:4.6rem;height:4.6rem;font-size:1.35rem;display:grid;box-shadow:0 .55rem 1.1rem #17251f40;color:var(--paper)!important;background:var(--forest)!important;border-radius:50%!important}.speed-control{color:var(--muted);border-top:1px solid #ddd4c6;justify-content:space-between;align-items:center;padding-top:.85rem;font-size:.82rem;display:flex}.speed-control select{min-width:5.7rem;color:var(--forest);background:var(--paper);border:1px solid #cbc2b4;border-radius:.65rem;padding:.5rem .7rem;font-weight:800}.chapters{margin-top:2.4rem}.chapters h2{font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.chapters ol{border-top:1px solid #cfc8bc;margin:0;padding:0;list-style:none}.chapters li{border-bottom:1px solid #cfc8bc}.chapter-button{width:100%;color:var(--forest);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .3rem;display:flex}.chapter-button>span{align-items:center;gap:.85rem;font-weight:700;display:flex}.chapter-button small{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.chapter-button time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.chapter-button[aria-current=true]{color:var(--coral)}.chapter-button[aria-current=true]:before{content:"▶";color:var(--coral);font-size:.7rem}.chapter-button[aria-current=true]>span{margin-right:auto}@media (width>=42rem){.app-shell{padding-inline:2rem}.hero{grid-template-columns:17rem 1fr;gap:2.5rem}.transport,.chapters{margin-left:19.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
