:root{--bg:#101c1c;--card:#182828;--ink:#e8f6f4;--ink-soft:#c9e4e1;--muted:#93b5b2;--line:#2d4a48;--accent:#4ec4bb;--accent-deep:#9aeee6;--on-accent:#062221;--danger:#ffb4b4;--shadow:0 18px 50px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5fbfb;--card:#fff;--ink:#1a4a4a;--ink-soft:#2d6363;--muted:#5a9090;--line:#c5e5e3;--accent:#3bb5ad;--accent-deep:#0e6b66;--on-accent:#fff;--danger:#9f2d2d;--shadow:0 18px 50px #145a5614;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}.top{z-index:2;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.mark{letter-spacing:.01em;color:var(--accent-deep);align-items:center;gap:10px;font-family:Palatino,Palatino Linotype,Georgia,serif;font-size:22px;display:inline-flex}.mark img{border-radius:10px;width:36px;height:36px;display:block}.tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.tools a{color:var(--ink-soft);white-space:nowrap;font-size:14px;font-weight:600}.about{max-width:880px}.about h1{color:var(--accent-deep);margin:0;font-family:Palatino,Palatino Linotype,Georgia,serif;font-size:clamp(32px,5vw,44px);font-weight:600;line-height:1.1}.about .lead{max-width:58ch;color:var(--ink-soft);margin:14px 0 0}.shot{border:1px solid var(--line);border-radius:16px;width:100%;height:auto;margin-top:18px;display:block}.steps{gap:12px;margin:32px 0 0;padding:0;list-style:none;display:grid}.steps li{background:var(--card);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;gap:14px;padding:16px;display:grid}.steps b{font-variant-numeric:tabular-nums;color:var(--accent-deep);letter-spacing:.06em;font-size:13px}.steps h2{margin:0;font-size:17px;font-weight:650}.steps p{color:var(--ink-soft);margin:6px 0 0}.theme{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.theme svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.page{width:min(1040px,100% - 32px);margin:0 auto;padding:28px 0 48px}.shelf-page{width:min(1600px,100% - 48px)}.shelf{margin-bottom:36px}.shelf h2{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 14px;font-size:15px;font-weight:600}.covers{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));justify-content:center;gap:28px 32px;margin:0;padding:0;list-style:none;display:grid}.covers a{flex-direction:column;align-items:center;gap:12px;width:min(100%,680px,49.3333vh);margin-inline:auto;display:flex}.cover,.cover-fallback{aspect-ratio:2/3;width:100%;height:auto;box-shadow:var(--shadow);background:var(--card);border-radius:2px 16px 16px 2px}.cover{object-fit:cover;display:block}.cover-fallback{text-align:center;color:var(--accent-deep);border:1px solid var(--line);place-items:center;padding:16px;display:grid}.covers span{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:clamp(16px,1.6vw,22px);font-weight:560;display:-webkit-box;overflow:hidden}.book{gap:28px;display:grid}.book-hero{text-align:center}.book-hero .cover,.book-hero .cover-fallback{width:260px;height:390px;margin:0 auto 18px}.book-hero h1{letter-spacing:.01em;color:var(--accent-deep);margin:0;font-family:Palatino,Palatino Linotype,Georgia,serif;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.15}.rule{background:var(--accent);opacity:.7;border:0;width:42px;height:2px;margin:14px auto}.summary{max-width:62ch;color:var(--ink);margin:0 auto}.summary.clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.by{color:var(--accent-deep);margin:12px 0 0;font-style:italic}.text-btn{color:var(--accent-deep);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0}.panel h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.narrators{margin:22px 0 8px}.group{margin-top:12px}.group p{color:var(--ink-soft);margin:0 0 8px;font-size:13px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip,.rate,.skip,.step{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px}.chip{padding:7px 12px}.chip[data-on=true]{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}.chapters{margin:12px 0 0;padding:0;list-style:none}.chapters button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:14px;padding:14px;display:flex}.chapters button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.chapters button[data-on=true]{background:var(--accent-deep);color:var(--on-accent);border-bottom-color:#0000}.num{font-variant-numeric:tabular-nums;width:3ch;color:var(--muted);font-size:13px}.chapters button[data-on=true] .num{color:inherit;opacity:.8}.chapters button span:nth-child(2){flex:1;font-weight:550}.bars{align-items:flex-end;gap:2px;width:14px;height:14px;display:flex}.bars i{background:currentColor;border-radius:1px;width:3px;height:5px;display:block}.bars[data-on=true] i{animation:.9s ease-in-out infinite bounce}.bars i:nth-child(2){animation-delay:.15s}.bars i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{height:4px}50%{height:14px}}body.with-player{padding-bottom:148px}.dock{z-index:3;width:min(1040px,100% - 24px);margin:0;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.dock-card{background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:22px;gap:16px;padding:16px 18px 14px;display:grid;box-shadow:0 16px 50px #0e6b6624}.now{align-items:center;gap:12px;min-width:0;display:flex}.now-link{min-width:0;color:inherit;flex:1;align-items:center;gap:12px;display:flex}.now-link>div{min-width:0}.flag{border:1px solid var(--line);background:var(--card);height:32px;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;margin-left:auto;padding:0 12px}.flag:disabled{opacity:.5;cursor:default}.flag-pop{z-index:5;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.flag-card{border:1px solid var(--line);background:var(--card);width:min(440px,100%);color:var(--ink);box-shadow:var(--shadow);border-radius:18px;padding:22px}.flag-card h2{margin:0;font-size:20px;line-height:1.3}.flag-card p{color:var(--ink-soft);margin:10px 0 0}.flag-card label{color:var(--ink-soft);margin-top:14px;font-size:13px;font-weight:600;display:block}.flag-card textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);resize:vertical;border-radius:12px;margin-top:6px;padding:10px 12px}.flag-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;display:flex}.flag-actions .flag{background:var(--accent-deep);color:var(--on-accent);border-color:var(--accent-deep);margin-left:0}.now img,.now .dot{object-fit:cover;border-radius:10px;flex:none;width:48px;height:48px}.now .dot{background:linear-gradient(160deg, #7fd4ce, var(--accent-deep))}.now strong,.now em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.now strong{font-size:15px}.now em{color:var(--muted);font-size:13px;font-style:normal}.transport{flex-direction:column;gap:8px;display:flex}.controls{justify-content:center;align-items:center;gap:8px;display:flex}.skip,.step,.rate{min-width:36px;height:36px;color:var(--ink-soft);padding:0 10px}.step{width:36px;padding:0;font-size:22px;line-height:1}.play{background:var(--accent-deep);width:58px;height:58px;color:var(--on-accent);cursor:pointer;border:0;border-radius:50%;place-items:center;margin:0 6px;display:grid;box-shadow:0 8px 20px #0e6b6647}.play[data-on=true]{animation:1.8s ease-out infinite ring}.play svg{fill:currentColor;width:22px;height:22px}@keyframes ring{70%{box-shadow:0 0 0 12px #0000}to{box-shadow:0 0 #0000}}.seek-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.seek-row span{font-variant-numeric:tabular-nums;color:var(--muted);min-width:48px;font-size:12px}.seek-row span:last-child{text-align:right}.seek{appearance:none;background:linear-gradient(to right, var(--accent) var(--played), var(--line) var(--played));cursor:pointer;border:0;border-radius:999px;width:100%;height:6px}.seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-deep);border:2px solid var(--card);width:16px;height:16px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%}.seek::-moz-range-thumb{border:2px solid var(--card);background:var(--accent-deep);border-radius:50%;width:16px;height:16px}.seek::-moz-range-track{background:0 0;border:0;height:6px}.note{text-align:center;color:var(--muted);margin:0;font-size:13px}.note.error{color:var(--danger)}.ghost{opacity:0;pointer-events:none;width:0;height:0;position:fixed}.spin{border:2px solid color-mix(in srgb, var(--on-accent) 35%, transparent);border-top-color:var(--on-accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:800px){.covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.covers a{width:100%}}@media (max-width:720px){.book-hero .cover,.book-hero .cover-fallback{width:220px;height:330px}}@media (min-width:860px){.book{grid-template-columns:300px 1fr;align-items:start;gap:48px}.book-hero{text-align:left;position:sticky;top:88px}.book-hero .cover,.book-hero .cover-fallback{margin:0 0 18px}.book-hero h1{font-size:34px}.rule{margin-left:0}.summary{margin:0}.dock-card{grid-template-columns:240px 1fr;align-items:center}}@media (prefers-reduced-motion:reduce){.play[data-on=true],.bars[data-on=true] i,.spin{animation:none}}
