.player{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 28px #1a282214}.player--empty{display:flex;align-items:center;justify-content:center;min-height:3.5rem;color:var(--muted);font-size:.9rem}.player__meta{margin-bottom:.4rem}.player__title{margin:0;font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__show{margin:.15rem 0 0;font-size:.78rem;color:var(--muted)}.player__progress input[type=range]{width:100%;height:.35rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:linear-gradient(to right,var(--accent) 0 var(--pct, 0%),var(--track) var(--pct, 0%) 100%);outline:none}.player__progress input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 1px 4px #0003}.player__times{display:flex;justify-content:space-between;margin-top:.2rem;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.player__controls{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:.35rem}.icon-btn,.play-btn,.speed-btn{border:none;cursor:pointer;font-family:inherit}.icon-btn{width:2.75rem;height:2.75rem;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center}.play-btn{width:3.5rem;height:3.5rem;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px #1a5f4a59}.play-btn:active,.icon-btn:active{transform:scale(.96)}.speed-group{display:flex;gap:.25rem;margin-left:.35rem}.speed-btn{min-width:2.4rem;height:1.85rem;padding:0 .4rem;border-radius:.45rem;background:var(--chip);color:var(--muted);font-size:.75rem;font-weight:700}.speed-btn.is-active{background:var(--accent-soft);color:var(--accent)}.app{min-height:100dvh;min-height:100svh;width:100%;max-width:32rem;margin:0 auto;padding:0 1rem 1rem;background:transparent}.hero{position:relative;padding:1.75rem 0 1rem}.brand{position:relative;margin:0;font-family:var(--font-display);font-size:clamp(2rem,8vw,2.6rem);letter-spacing:.04em;color:var(--accent);line-height:1.1}.resume-btn{position:relative;margin-top:.9rem;border:none;border-radius:999px;padding:.7rem 1.35rem;background:var(--accent);color:#fff;font-family:inherit;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 8px 20px #1a5f4a47}.levels{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.levels::-webkit-scrollbar{display:none}.level-tab{flex:0 0 auto;border:none;border-radius:.85rem;padding:.7rem 1.05rem;background:var(--chip);color:var(--ink);font-family:inherit;font-weight:800;font-size:.95rem;cursor:pointer;min-height:2.75rem}.level-tab.is-active{background:var(--accent);color:#fff}.level-hint{margin:.55rem 0 1rem;font-size:.82rem;color:var(--muted)}.show-list{display:flex;flex-direction:column;gap:.75rem}.show-card{display:grid;grid-template-columns:4.5rem 1fr;gap:.85rem;align-items:center;width:100%;text-align:left;border:none;border-radius:1rem;padding:.75rem;background:var(--surface);box-shadow:0 1px 0 var(--line);cursor:pointer;font-family:inherit;color:inherit;min-height:5rem}.show-card:active{transform:scale(.99)}.show-card__art,.episode-head__art{width:4.5rem;height:4.5rem;border-radius:.85rem;background:linear-gradient(145deg,var(--accent-soft),#e8d9b8),center / cover no-repeat;background-size:cover;background-position:center}.show-card__body h2,.episode-head h2{margin:0;font-size:1.05rem;font-weight:800}.show-card__body p,.episode-head p{margin:.25rem 0;font-size:.82rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.show-card__body span{font-size:.75rem;color:var(--accent);font-weight:700}.episode-view{animation:rise .28s ease}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.back-btn{border:none;background:transparent;color:var(--accent);font-family:inherit;font-weight:700;font-size:.9rem;padding:.35rem 0;cursor:pointer;margin-bottom:.75rem}.episode-head{display:grid;grid-template-columns:4.5rem 1fr;gap:.85rem;margin-bottom:1rem}.play-all{margin-top:.35rem;border:none;border-radius:.7rem;padding:.55rem .9rem;background:var(--accent-soft);color:var(--accent);font-family:inherit;font-weight:800;cursor:pointer}.episode-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.episode-item{width:100%;display:grid;grid-template-columns:2rem 1fr auto;gap:.65rem;align-items:center;text-align:left;border:none;border-radius:.85rem;padding:.85rem .75rem;background:var(--surface);font-family:inherit;color:inherit;cursor:pointer;min-height:3.4rem}.episode-item.is-active{outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.episode-item__idx{font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.episode-item__title{font-size:.92rem;font-weight:700;line-height:1.35}.episode-item__now{font-size:.72rem;font-weight:800;color:var(--accent)}.empty-eps,.loading,.banner-error{color:var(--muted);text-align:center;padding:1.5rem .5rem}.banner-error{color:#9b3b2e;background:#f8e6e2;border-radius:.75rem;margin:.5rem 0}.player-spacer{height:10.5rem}:root{--ink: #1d2a24;--muted: #5d6b63;--bg: #f3f0e8;--surface: #fffcf6;--line: rgba(29, 42, 36, .08);--accent: #1a5f4a;--accent-soft: #d5ebe2;--chip: #e7e2d6;--track: #d9d3c6;--font-sans: "Nunito", "Segoe UI", sans-serif;--font-display: "ZCOOL XiaoWei", "Nunito", serif;color:var(--ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{margin:0;width:100%;min-height:100%;background:var(--bg)}body{margin:0;width:100%;min-height:100dvh;min-height:100svh;background:var(--bg)}#root{margin:0;width:100%;min-height:100dvh;min-height:100svh;background:transparent}button{-webkit-tap-highlight-color:transparent}img{max-width:100%}
