.icon{display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;flex-shrink:0;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.icon-sm{width:20px;height:20px}.icon-lg{width:28px;height:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;font-family:var(--font-zh);font-size:.95rem;font-weight:500;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;outline:none;border-radius:var(--radius-sm, 8px);padding:0 20px;min-height:44px;transition:all .2s cubic-bezier(.25,.46,.45,.94);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-pill{border-radius:999px}.btn-sm{min-height:32px;padding:0 12px;font-size:.85rem;border-radius:6px}@media(hover:hover){.btn:hover:not(:disabled){transform:translateY(-1px)}}.btn:active:not(:disabled){transform:scale(.96)!important;transition-duration:.05s}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none;transform:none!important}.btn-primary{background-color:var(--accent);color:var(--text-inverse);box-shadow:0 4px 12px var(--accent-shadow)}@media(hover:hover){.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 6px 16px var(--accent-shadow)}}.btn-secondary{background-color:var(--bg-card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}@media(hover:hover){.btn-secondary:hover:not(:disabled){background-color:var(--bg-card-hover);border-color:var(--border-active)}}.btn-ghost{background-color:transparent;color:var(--text-secondary)}@media(hover:hover){.btn-ghost:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--text)}}.btn-ghost:active:not(:disabled){background-color:var(--bg-card-hover)}.btn-danger{background-color:transparent;color:var(--danger);border:1px solid var(--danger-dim)}@media(hover:hover){.btn-danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--danger) 5%,transparent 95%)}}.btn-danger:active:not(:disabled){background-color:color-mix(in srgb,var(--danger) 10%,transparent 90%)}.btn-icon{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;background-color:transparent;color:var(--text-secondary);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover){.btn-icon:hover:not(:disabled){background-color:var(--bg-secondary);color:var(--text)}}.btn-icon:active:not(:disabled){transform:scale(.92)!important;background-color:var(--bg-card-hover);transition-duration:.05s}.btn-icon:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}#app{min-height:100vh;display:flex;flex-direction:column;max-width:100vw;overflow-x:hidden}@supports (min-height:100dvh){#app{min-height:100dvh}}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top,0px);background:var(--bg-header);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:background .35s}.nav{display:flex;align-items:center;padding:0 16px;height:50px;gap:0;position:relative}.logo{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;flex-shrink:0;cursor:pointer}.logo-eq{flex-shrink:0;overflow:visible;transform-origin:bottom center}.eq-bar{fill:var(--text-muted);transform-origin:bottom center;transition:fill .3s}.logo:not(.playing):not(.paused) .eq-bar{transform:scaleY(.45);opacity:.5;animation:none}.logo.paused .eq-bar{fill:var(--accent);transform:scaleY(.55);opacity:.65;animation:none}.logo.playing .eq-bar{fill:var(--accent)}.logo.playing .b1{animation:eqB1 2s 0s ease-in-out infinite}.logo.playing .b2{animation:eqB2 1.7s .1s ease-in-out infinite}.logo.playing .b3{animation:eqB3 1.9s .2s ease-in-out infinite}@keyframes eqB1{0%,to{transform:scaleY(.35)}50%{transform:scaleY(.85)}}@keyframes eqB2{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes eqB3{0%,to{transform:scaleY(.35)}45%{transform:scaleY(.9)}}.logo-title{font-size:17px;font-weight:500;color:var(--text);white-space:nowrap;letter-spacing:.03em;font-family:var(--font-serif);pointer-events:none}.nav-spacer{flex:1}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:190;background:var(--bg-header);backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border-top:1px solid var(--border);box-shadow:0 -8px 32px var(--shadow-sm);padding-bottom:var(--safe-bottom);display:flex;justify-content:space-around;align-items:flex-end;height:calc(64px + var(--safe-bottom));transition:transform .34s cubic-bezier(.22,1,.36,1)}.tab-bar.hide{transform:translateY(100%)}.tab{background:none;border:none;padding:7px 0 6px;font-family:var(--font-zh);font-size:var(--fs-label);font-weight:400;color:var(--text-muted);cursor:pointer;position:relative;transition:color .2s;white-space:nowrap;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.tab-icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.tab.active{color:var(--accent);font-weight:500}.tab.active .tab-icon{stroke-width:2;transform:scale(1.08)}.tab.active:after{content:"";position:absolute;top:5px;left:50%;transform:translate(-50%);width:32px;height:32px;background:var(--accent-glow);border-radius:10px;z-index:-1;animation:tabPillIn .25s cubic-bezier(.22,1,.36,1) forwards}@keyframes tabPillIn{0%{opacity:0;transform:translate(-50%) scale(.7)}to{opacity:1;transform:translate(-50%) scale(1)}}.tab-sub{display:none}.tab-center{flex:1;display:flex;align-items:center;justify-content:center;padding:0 0 6px;position:relative}.center-play-btn{position:relative;width:48px;height:48px;margin-top:-18px;border:none;background:var(--accent);border-radius:50%;color:var(--text-inverse);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--accent-shadow);transition:all .2s cubic-bezier(.22,1,.36,1);z-index:2;-webkit-appearance:none;appearance:none}.center-play-btn.no-audio{opacity:.55;box-shadow:0 0 0 3px var(--border);animation:centerBtnPulse 2.5s ease-in-out infinite}@keyframes centerBtnPulse{0%,to{box-shadow:0 0 0 3px var(--border)}50%{box-shadow:0 0 0 6px transparent}}.center-play-btn:active{transform:scale(.94)}.center-play-btn svg.center-play-icon{width:22px;height:22px;fill:var(--text-inverse);stroke:none;position:relative;z-index:2}.center-play-btn .progress-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:56px;height:56px;z-index:1;transform:rotate(-90deg)}.center-play-btn .progress-ring-bg{fill:none;stroke:var(--border);stroke-width:3}.center-play-btn .progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset .15s linear}.center-play-btn.playing{animation:centerSpin 8s linear infinite}@keyframes centerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.center-play-btn.playing .progress-ring{animation:centerSpinReverse 8s linear infinite}@keyframes centerSpinReverse{0%{transform:rotate(-90deg)}to{transform:rotate(-450deg)}}.nav-actions{display:flex;align-items:center;gap:0;flex-shrink:0}.btn-icon{-webkit-appearance:none;appearance:none;background:none;border:none;border-radius:50%;width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s;padding:0}.btn-icon:hover,.btn-icon:active{color:var(--text)}.btn-icon:active{transform:scale(.88);transition:transform .05s}.btn-icon.active{color:var(--accent)}.btn-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ai-pill-btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:4px;background:none;color:var(--accent);border:none;border-radius:8px;padding:6px 10px;font-family:var(--font-en);font-size:var(--fs-body);font-weight:500;letter-spacing:.03em;cursor:pointer;transition:opacity .15s,background .15s;min-height:32px}.ai-pill-btn:hover{opacity:.7}.ai-pill-btn:active,.ai-pill-btn.tapped{color:var(--accent);background:var(--accent-dim);transform:scale(.93);opacity:1}@keyframes aiBtnTap{0%{transform:scale(.93);background:var(--accent-dim);color:var(--accent)}60%{transform:scale(1.04);background:var(--accent-dim);color:var(--accent)}to{transform:scale(1);background:transparent;color:var(--text-secondary)}}.ai-pill-btn.tapped{animation:aiBtnTap .35s cubic-bezier(.22,1,.36,1) forwards}.ai-pill-icon{width:16px;height:16px;stroke:currentColor;fill:none;flex-shrink:0}.content{flex:1;padding:24px 20px calc(64px + var(--safe-bottom) + 16px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.content.has-player{padding-bottom:calc(64px + var(--safe-bottom) + 16px)}.view{display:none;animation:viewIn .3s ease-out}.view.active{display:block}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.content{max-width:720px;margin:0 auto;padding-left:24px;padding-right:24px}.nav{max-width:720px;margin-left:auto;margin-right:auto}.tab-bar{max-width:420px;left:50%;transform:translate(-50%);border-radius:16px 16px 0 0;border-left:1px solid var(--border);border-right:1px solid var(--border)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:9999;background:var(--accent);color:var(--text-inverse);padding:8px 20px;border-radius:0 0 8px 8px;font-size:var(--fs-body);font-family:var(--font-zh);text-decoration:none;transition:top .2s}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){.center-play-btn.playing,.center-play-btn.playing .progress-ring,.view{animation:none}}@media print{.header,.tab-bar,.player,.expanded,.install-banner,.ios-guide,.about-overlay{display:none!important}.content{padding:0!important}body{background:#fff!important;color:#000!important}.card,.ep-item{break-inside:avoid}}@media(prefers-contrast:more){:root{--border: rgba(0, 0, 0, .2);--text-muted: rgba(26, 26, 26, .5);--text-secondary: rgba(26, 26, 26, .7) }[data-theme=dark]{--border: rgba(255, 255, 255, .25);--text-muted: rgba(238, 238, 238, .5);--text-secondary: rgba(238, 238, 238, .7) }}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation:fadeSlideUp .6s cubic-bezier(.22,1,.36,1) forwards}.stagger-2{animation:fadeSlideUp .6s cubic-bezier(.22,1,.36,1) .13s forwards;opacity:0}.stagger-3{animation:fadeSlideUp .6s cubic-bezier(.22,1,.36,1) .26s forwards;opacity:0}.stagger-4{animation:fadeSlideUp .6s cubic-bezier(.22,1,.36,1) .39s forwards;opacity:0}@media(prefers-reduced-motion:reduce){.stagger-1,.stagger-2,.stagger-3,.stagger-4{animation:none!important;opacity:1!important;transform:none!important}}.playlist-panel{display:none;flex-direction:column;flex:1;overflow:hidden;padding:0 20px}.playlist-panel.show{display:flex}.playlist-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0}.pl-tab{-webkit-appearance:none;appearance:none;background:none;border:none;padding:10px 16px 8px;font-size:var(--fs-body);font-weight:500;color:var(--text-muted);cursor:pointer;position:relative;transition:color .2s}.pl-tab.active{color:var(--accent)}.pl-tab.active:after{content:"";position:absolute;bottom:-1px;left:16px;right:16px;height:2px;background:var(--accent);border-radius:1px}.playlist-sub{display:flex;align-items:center;justify-content:space-between;padding:8px 0 4px;flex-shrink:0}.playlist-count{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted)}.pl-sort-btn{-webkit-appearance:none;appearance:none;background:none;border:none;display:flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--text-muted);cursor:pointer;padding:4px 0}.pl-sort-btn:hover{color:var(--text-secondary)}.playlist-items{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.pl-item{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:4px;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s cubic-bezier(.22,1,.36,1);min-height:54px;background:transparent;border:1px solid transparent}.pl-item:hover{background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--border),0 2px 8px #00000005;transform:translateY(-1px)}.pl-item:active{transform:scale(.98);background:var(--accent-glow)}.pl-item.current{background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--accent-dim),0 4px 16px #0000000a;transform:translateY(-1px)}.pl-item-num{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);width:24px;text-align:center;flex-shrink:0}.pl-item.current .pl-item-num{color:var(--accent)}.pl-item-body{flex:1;min-width:0}.pl-item-title{font-size:var(--fs-body);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-item.current .pl-item-title{color:var(--accent);font-weight:500}.pl-item-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.pl-item-duration{font-family:var(--font-en);font-size:var(--fs-label);color:var(--text-muted)}.pl-item-progress{font-size:var(--fs-label);color:var(--accent);font-weight:500}.pl-item-cached:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.6;flex-shrink:0}.pl-item-loading-spinner{display:none}.pl-item.loading .pl-item-loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:plSpinnerAnim .7s linear infinite;flex-shrink:0}@keyframes plSpinnerAnim{to{transform:rotate(360deg)}}.pl-hist-sub{font-size:var(--fs-caption);color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player{display:none}.ctrl{-webkit-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s cubic-bezier(.22,1,.36,1)}.ctrl:hover{color:var(--accent);background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--border),0 2px 8px #0000000a;transform:translateY(-1px)}.ctrl:active{transform:scale(.9);transition:transform .05s}.ctrl svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ctrl.active{color:var(--accent)}.ctrl-play{width:44px;height:44px;background:var(--accent);border-radius:50%;color:var(--text-inverse);box-shadow:0 4px 16px var(--accent-shadow);transition:all .2s cubic-bezier(.22,1,.36,1)}.ctrl-play:hover{background:var(--accent);transform:scale(1.04);color:var(--text-inverse);box-shadow:0 6px 24px var(--accent-shadow)}.ctrl-play:active{transform:scale(.92);opacity:1;transition:transform .05s}.ctrl-play svg{width:20px;height:20px;fill:currentColor;stroke:none}.expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);transform:translate3d(0,100%,0);transition:transform .38s cubic-bezier(.22,1,.36,1),visibility 0s .38s;display:flex;flex-direction:column;overflow:hidden;will-change:transform;visibility:hidden;pointer-events:none}.expanded.show{transform:translateZ(0);visibility:visible;pointer-events:auto;transition:transform .38s cubic-bezier(.22,1,.36,1),visibility 0s}body.player-modal-open{overflow:hidden;overscroll-behavior:none}body.player-modal-open #app{height:100vh;overflow:hidden}@supports (height:100dvh){body.player-modal-open #app{height:100dvh}}body.player-modal-open .content{overflow:hidden}.expanded,.exp-player-content,.playlist-items{overscroll-behavior:contain}.expanded:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:var(--hero-radial, radial-gradient(ellipse at 50% -10%, rgba(212, 175, 55, .15) 0%, transparent 65%));pointer-events:none;z-index:0}.exp-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;padding-top:env(safe-area-inset-top,12px);flex-shrink:0;position:relative;z-index:1}.exp-label{font-family:var(--font-en);font-size:var(--fs-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;font-weight:600}.exp-top .btn-icon{min-width:44px;height:44px;border-radius:50%;background:transparent;transition:all .2s cubic-bezier(.22,1,.36,1)}.exp-top .btn-icon:hover{background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--border);transform:scale(.96)}.exp-top-right{display:flex;align-items:center;gap:0}.exp-player-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0 20px;justify-content:center;position:relative;z-index:1}.exp-player-content.hide{display:none}.exp-series-info{width:85vw;max-width:320px;margin:0 auto 28px;background:var(--bg-card);border:none;border-radius:32px;padding:40px 24px 32px;text-align:center;position:relative;overflow:hidden;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--border),0 16px 40px #0000000f}.exp-series-info:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 20%,var(--accent-gradient-top) 0%,transparent 65%)}.exp-series-info:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 110%,var(--accent-gradient-bottom) 0%,transparent 50%)}.exp-series-icon{width:72px;height:72px;margin:0 auto 16px;opacity:.28;filter:drop-shadow(0 4px 12px var(--accent-shadow))}.exp-series-name{font-size:var(--fs-xl);font-weight:600;color:var(--text);margin-bottom:6px;position:relative;line-height:1.5;letter-spacing:.02em}.exp-series-speaker{font-size:var(--fs-caption);color:var(--text-secondary);position:relative;letter-spacing:.03em}.exp-series-ep-count{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);margin-top:8px;position:relative;letter-spacing:.05em}.exp-track-title{font-size:var(--fs-body);font-weight:500;color:var(--accent);margin-top:14px;position:relative;line-height:1.55;border-top:1px solid var(--border);padding-top:12px;letter-spacing:.02em}.exp-bottom{flex-shrink:0;padding:0 20px 16px;padding-bottom:var(--safe-bottom);background:transparent;position:relative;z-index:1}.exp-secondary{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;background:var(--bg-card);border-radius:100px;padding:6px 12px;width:max-content;margin-left:auto;margin-right:auto;box-shadow:inset 0 0 0 1px var(--border)}.exp-secondary .ctrl{width:44px;height:44px}#expDownload.dl-downloading{color:var(--accent);animation:dl-pulse 1.2s ease-in-out infinite}#expDownload.dl-done{color:var(--accent)}#expDownload.dl-error{color:var(--text-muted)}@keyframes dl-pulse{0%,to{opacity:1}50%{opacity:.4}}.exp-progress{margin-bottom:16px;touch-action:none;-webkit-user-select:none;user-select:none}.exp-progress-bar{width:100%;height:40px;cursor:pointer;position:relative;display:flex;align-items:center}.exp-progress-track{width:100%;height:4px;background:var(--border);border-radius:2px;position:relative}.exp-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dim));border-radius:2px;width:100%;transform-origin:left center;transform:scaleX(0);will-change:transform;transition:transform .1s linear;position:relative;z-index:1}.exp-progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:var(--bg-card);border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent-shadow),0 2px 6px #0000001a;left:0%;transition:left .1s linear,transform .2s cubic-bezier(.22,1,.36,1);z-index:2}.exp-progress-bar:hover .exp-progress-thumb,.exp-progress-bar:active .exp-progress-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 16px var(--accent-shadow),0 4px 12px #00000026}.exp-time{display:flex;justify-content:space-between;font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);margin-top:4px;letter-spacing:.02em;font-variant-numeric:tabular-nums;opacity:.8}.exp-ctrls{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px}.exp-ctrls .ctrl{width:48px;height:48px}.exp-ctrls .ctrl svg{width:20px;height:20px}.exp-ctrls .ctrl-play{width:68px;height:68px;box-shadow:0 8px 32px var(--accent-shadow),inset 0 0 0 1px #fff3}.exp-ctrls .ctrl-play svg{width:26px;height:26px}.exp-ctrls .ctrl-skip{position:relative}.exp-ctrls .ctrl-skip svg{width:20px;height:20px}.exp-ctrls .ctrl-skip .skip-label{position:absolute;font-family:var(--font-en);font-size:.5rem;font-weight:700;color:currentColor;bottom:8px;left:50%;transform:translate(-50%);pointer-events:none;line-height:1}.timer-badge{position:absolute;top:2px;right:2px;background:var(--accent);color:var(--text-inverse);font-family:var(--font-en);font-size:.5rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.speed-btn{font-family:var(--font-en);font-size:var(--fs-caption);font-weight:600;min-width:44px;letter-spacing:-.01em}.speed-btn .ctrl-label{font-size:var(--fs-label)}.player-track.buffering:after{content:"...";animation:bufDots 1s steps(3) infinite}@keyframes bufDots{0%{content:"."}33%{content:".."}66%{content:"..."}}.center-play-btn.buffering{position:relative;animation:none}.center-play-btn.buffering:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2.5px solid transparent;border-top-color:var(--accent);animation:arcSpin .9s linear infinite}.exp-ctrls .ctrl-play.buffering{position:relative;animation:none;opacity:1}.exp-ctrls .ctrl-play.buffering:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2.5px solid transparent;border-top-color:var(--accent);animation:arcSpin .9s linear infinite}@keyframes arcSpin{to{transform:rotate(360deg)}}.exp-progress-buffer{position:absolute;height:100%;background:var(--accent);opacity:.15;border-radius:2px;width:100%;transform-origin:left center;transform:scaleX(0);will-change:transform;transition:transform .3s linear}.player-track.error{color:var(--accent);cursor:pointer}.player-track.error:after{content:attr(data-error-msg);font-size:var(--fs-caption);color:var(--accent);margin-left:6px;animation:errorPulse 2s ease-in-out infinite}@keyframes errorPulse{0%,to{opacity:1}50%{opacity:.5}}.center-play-btn.error{position:relative}.center-play-btn.error:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2.5px solid var(--accent);opacity:.6;animation:errorPulse 2s ease-in-out infinite}.exp-ctrls .ctrl-play.error{position:relative}.exp-ctrls .ctrl-play.error:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2.5px solid var(--accent);opacity:.6;animation:errorPulse 2s ease-in-out infinite}.ctrl:active{transform:scale(.92)!important;transition:transform .05s!important}.ctrl.loading{position:relative;opacity:.5;pointer-events:none}.ctrl.loading:before{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.ctrl.appreciate-pop{animation:appreciatePop .5s cubic-bezier(.22,1,.36,1)}@keyframes appreciatePop{0%{transform:scale(1)}30%{transform:scale(1.3)}60%{transform:scale(.9)}to{transform:scale(1)}}.appreciate-badge{position:absolute;top:2px;right:2px;background:var(--accent);color:var(--text-inverse);font-family:var(--font-en);font-size:.5rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;transition:transform .2s ease}.appreciate-badge.badge-bump{animation:badgeBump .3s ease}@keyframes badgeBump{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.appreciate-float{position:absolute;left:50%;bottom:100%;transform:translate(-50%);font-family:var(--font-zh);font-size:var(--fs-caption);font-weight:500;color:var(--accent);white-space:nowrap;pointer-events:none;animation:floatUp 1.2s ease-out forwards;z-index:10}@keyframes floatUp{0%{opacity:1;transform:translate(-50%) translateY(0)}60%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-38px)}}@media(orientation:landscape)and (max-height:500px){.exp-series-info{width:28vw;max-width:160px;margin-bottom:8px;padding:14px 12px}.exp-series-icon{width:40px;height:26px;margin-bottom:8px}.exp-player-content{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px}.exp-player-content .exp-series-info{margin:0}.exp-bottom{padding-top:4px}.exp-secondary{gap:8px;margin-bottom:4px}.exp-secondary .ctrl{width:36px;height:36px}.exp-ctrls{margin-bottom:4px;gap:4px}.exp-ctrls .ctrl{width:38px;height:38px}.exp-ctrls .ctrl svg{width:18px;height:18px}.exp-ctrls .ctrl-play{width:46px;height:46px}.exp-ctrls .ctrl-play svg{width:20px;height:20px}.exp-progress{margin-bottom:6px}}.expanded.show .exp-series-info{animation:expSlideFadeIn .5s cubic-bezier(.22,1,.36,1) .1s both;opacity:0;transform:translateY(12px)}.expanded.show .exp-progress{animation:expSlideFadeIn .5s cubic-bezier(.22,1,.36,1) .15s both;opacity:0;transform:translateY(12px)}.expanded.show .exp-ctrls{animation:expSlideFadeIn .5s cubic-bezier(.22,1,.36,1) .2s both;opacity:0;transform:translateY(12px)}.expanded.show .exp-secondary{animation:expSlideFadeIn .5s cubic-bezier(.22,1,.36,1) .25s both;opacity:0;transform:translateY(12px)}@media(prefers-reduced-motion:reduce){.expanded.show .exp-series-info,.expanded.show .exp-progress,.expanded.show .exp-ctrls,.expanded.show .exp-secondary{animation:none!important;opacity:1!important;transform:none!important}}@keyframes expSlideFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.series-list{display:flex;flex-direction:column;gap:12px;position:relative}.series-list-overflow{display:flex;flex-direction:column;gap:12px}.series-list.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 0%,transparent 100%) 0%,var(--bg) 96%)}.series-list-toggle-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:center;margin-top:14px}.series-list-toggle-meta{font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.02em}.series-list-toggle{-webkit-appearance:none;appearance:none;border:none;background:color-mix(in srgb,var(--accent-glow) 72%,var(--bg-card) 28%);color:var(--accent);border-radius:999px;padding:10px 18px;font-family:var(--font-zh);font-size:var(--fs-caption);font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,var(--border) 72%);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,background .2s ease}.series-list-toggle:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent-glow) 88%,var(--bg-card) 12%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,var(--border) 60%),0 6px 18px -14px var(--accent-shadow)}.series-list-toggle:active{transform:translateY(0)}.card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:none;border-radius:var(--radius);padding:16px 18px;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;min-height:52px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none;transition:box-shadow .3s ease}.card:hover{background:var(--bg-card-hover)}.card:hover:before{box-shadow:inset 0 0 0 1px var(--border-active)}.card:active{opacity:.8}.card-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--border)}.card-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.5}.card-body{flex:1;min-width:0}.card-title{font-size:var(--fs-body);font-weight:500;color:var(--text);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.card-intro{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:3px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-arrow{color:var(--text-muted);flex-shrink:0;opacity:.5;transition:opacity .2s,transform .2s}.card:hover .card-arrow{opacity:.9;transform:translate(2px)}.card-arrow svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}.card.now-playing{border-color:var(--border-active);background:var(--accent-glow);box-shadow:0 2px 16px var(--accent-shadow)}.card.now-playing .card-icon{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dim) 100%);border-color:transparent;opacity:1}.card.now-playing .card-icon svg{stroke:var(--text-inverse)}.card-playing-tag{font-size:var(--fs-label);color:var(--accent);margin-left:6px;font-weight:600;white-space:nowrap;letter-spacing:.02em}.card-share-btn{-webkit-appearance:none;appearance:none;background:none;border:none;width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);border-radius:50%;transition:all .2s;flex-shrink:0;padding:0}.card-share-btn:hover{color:var(--accent);background:var(--accent-glow)}.card-share-btn:active{transform:scale(.9)}.card-share-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}.ep-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.btn-back{-webkit-appearance:none;appearance:none;background:var(--bg-card);border:none;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s cubic-bezier(.22,1,.36,1)}.btn-back:active{transform:scale(.92);background:var(--bg-secondary)}.btn-back:hover{background:var(--border-active);transform:scale(1.05)}.btn-back:active{transform:scale(.95)}.btn-back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.ep-header-info{flex:1;min-width:0}.ep-header-title{font-size:var(--fs-heading);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-header-sub{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.ep-header-intro{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px;line-height:1.45;opacity:.8}.btn-play-all{-webkit-appearance:none;appearance:none;background:var(--accent);border:none;border-radius:50%;width:40px;height:40px;min-width:40px;cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 14px var(--accent-shadow)}.btn-play-all:hover{opacity:.88;transform:scale(1.06)}.btn-play-all:active{transform:scale(.94)}.btn-play-all svg{width:16px;height:16px;fill:var(--text-inverse);stroke:none}.btn-share-series{-webkit-appearance:none;appearance:none;background:var(--accent-glow);border:none;border-radius:50%;width:34px;height:34px;min-width:34px;cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);padding:0}.btn-share-series:hover{color:var(--accent);background:var(--border-active)}.btn-share-series:active{transform:scale(.9)}.btn-share-series svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}.ep-list{list-style:none;display:flex;flex-direction:column;gap:2px}.ep-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .18s,transform .12s;min-height:48px;content-visibility:auto;contain-intrinsic-size:52px}.ep-item:hover{background:var(--accent-glow)}.ep-item:active{transform:scale(.99)}.ep-item.playing{background:var(--accent-glow)}.ep-num{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);width:32px;text-align:center;flex-shrink:0}.ep-item.playing .ep-num{display:none}.eq-bars{display:none;width:28px;justify-content:center;align-items:flex-end;gap:2px;height:14px;flex-shrink:0}.ep-item.playing .eq-bars{display:flex}.eq-bar{width:2px;background:var(--accent);border-radius:1px;animation:eqBars .7s ease-in-out infinite}.eq-bar:nth-child(1){height:50%;animation-delay:0s}.eq-bar:nth-child(2){height:100%;animation-delay:.12s}.eq-bar:nth-child(3){height:40%;animation-delay:.24s}.eq-bar:nth-child(4){height:70%;animation-delay:.36s}@keyframes eqBars{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.ep-text{flex:1;min-width:0;overflow:hidden}.ep-title{font-size:var(--fs-body);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-intro{display:block;font-size:var(--fs-caption);color:var(--text-secondary);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-item.playing .ep-title{color:var(--accent);font-weight:500}.ep-progress{height:2px;background:var(--border);border-radius:1px;margin-top:4px;overflow:hidden}.ep-progress-fill{height:100%;background:var(--accent);border-radius:1px;opacity:.6}.ep-share-btn{-webkit-appearance:none;appearance:none;background:none;border:none;width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);border-radius:50%;transition:all .2s;flex-shrink:0;padding:0;opacity:0}.ep-duration{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0;white-space:nowrap;min-width:34px;text-align:right}.ep-item.playing .ep-duration{color:var(--accent)}.ep-cached .ep-duration:after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.65;margin-left:5px;vertical-align:middle;flex-shrink:0}.ep-item:hover .ep-share-btn,.ep-share-btn:focus{opacity:1}.ep-share-btn:hover{color:var(--accent);background:var(--accent-glow)}.ep-share-btn:active{transform:scale(.9)}.ep-share-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.5}@media(hover:none){.ep-share-btn{opacity:.5}}.ep-actions{display:flex;align-items:center;gap:8px;padding:4px 0 8px}.appreciate-btn{-webkit-appearance:none;appearance:none;display:flex;align-items:center;gap:5px;background:var(--bg-card);border:none;box-shadow:inset 0 0 0 1px var(--border);border-radius:20px;padding:6px 14px;font-family:var(--font-zh);font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);position:relative}.appreciate-btn:active{transform:scale(.96);background:var(--bg-secondary)}.appreciate-btn:hover{border-color:var(--border-active);color:var(--accent)}.appreciate-btn.appreciated{color:var(--accent);border-color:var(--accent)}.appreciate-btn svg{color:var(--text-muted);transition:color .2s}.appreciate-btn:hover svg,.appreciate-btn.appreciated svg{color:var(--accent)}.wenku-link-btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;background:var(--bg-card);border:none;box-shadow:inset 0 0 0 1px var(--border);border-radius:20px;padding:6px 14px;font-family:var(--font-zh);font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);text-decoration:none}.wenku-link-btn:active{transform:scale(.96);background:var(--bg-secondary)}.wenku-link-btn:hover{border-color:var(--border-active);color:var(--accent)}.wenku-link-btn svg{color:var(--text-muted);transition:color .2s}.wenku-link-btn:hover svg{color:var(--accent)}.search-label{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:10px;padding-left:4px}.search-group-label{font-size:var(--fs-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 4px 4px;font-weight:500;border-bottom:1px solid var(--border);margin-bottom:4px}.search-hl{background:var(--accent-glow);color:var(--accent);font-weight:500;padding:0 1px;border-radius:2px}@media(min-width:500px){.card{padding:14px 16px;gap:12px}.card-icon{width:36px;height:36px;border-radius:10px}.card-intro{-webkit-line-clamp:3}}.my-page{display:none;animation:viewIn .3s ease-out}.my-page.active{display:block}.my-profile{display:flex;flex-direction:column;align-items:center;padding:28px 0 20px}.my-avatar{width:72px;height:72px;border-radius:50%;border:2px solid var(--border);box-shadow:0 2px 12px var(--accent-shadow);background:var(--accent-glow);display:flex;align-items:center;justify-content:center}.my-avatar svg{width:40px;height:26px}.my-name{font-size:var(--fs-heading);font-weight:500;color:var(--text);margin-top:10px}.my-subtitle{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.my-section{margin-bottom:24px}.my-section-title{font-size:var(--fs-caption);color:var(--text-secondary);letter-spacing:.06em;padding:0 8px 10px;font-weight:600;text-transform:uppercase}.my-list{display:flex;flex-direction:column;gap:0;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:none;position:relative}.my-list:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none}.my-item{display:flex;align-items:center;gap:14px;padding:16px 18px;background:transparent;cursor:pointer;transition:background .2s,transform .2s;min-height:52px;border-bottom:1px solid var(--border)}.my-list .my-item:last-child{border-bottom:none}.my-item:hover{background:var(--bg-card-hover)}.my-item-icon{width:20px;height:20px;stroke:var(--text-secondary);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.my-item-label{flex:1;font-size:var(--fs-body);color:var(--text)}.my-item-value{font-size:var(--fs-caption);color:var(--text-secondary)}.my-item-arrow{width:14px;height:14px;stroke:var(--text-muted);fill:none;stroke-width:1.5;flex-shrink:0}.my-item-subtle .my-item-icon{stroke:var(--text-muted)}.my-item-subtle .my-item-label{color:var(--text-secondary);font-size:var(--fs-caption)}.my-item-body{flex:1;min-width:0}.my-item-body .my-item-label{display:block}.my-item-desc{display:block;font-size:var(--fs-caption);color:var(--text-muted);margin-top:1px}.my-namo{text-align:center;font-size:var(--fs-body);color:var(--accent);font-weight:400;margin-top:24px;opacity:.6;letter-spacing:.08em}.my-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px}.my-section-header .my-section-title{padding:0}.my-history-clear{-webkit-appearance:none;appearance:none;background:none;border:none;font-size:var(--fs-caption);color:var(--text-muted);cursor:pointer;padding:2px 4px;transition:color .15s}.my-history-clear:hover{color:var(--accent)}.my-list .my-history-item:last-child{border-bottom:none}.my-history-item{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:transparent;cursor:pointer;transition:background .2s,transform .2s;border-bottom:1px solid var(--border)}.my-history-item:hover{background:var(--bg-card-hover)}.my-history-item-icon,.my-history-icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:color-mix(in srgb,var(--accent-glow) 78%,var(--bg-card) 22%);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,var(--border) 88%)}.my-history-item-icon svg,.my-history-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.my-history-body{flex:1;min-width:0}.my-history-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.my-history-series,.my-history-when{font-size:var(--fs-caption);color:var(--text-muted)}.my-history-series{font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-history-when{flex-shrink:0}.my-history-title{font-size:var(--fs-body);color:var(--text);font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.my-history-sub,.my-history-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-caption);color:var(--text-secondary);margin-top:6px}.my-history-episode{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent-glow) 70%,transparent 30%);color:var(--accent)}.my-history-progress-text{color:var(--text-secondary)}.my-history-bar{height:3px;background:var(--border);border-radius:2px;margin-top:10px;overflow:hidden}.my-history-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.my-history-time{font-size:var(--fs-caption);color:var(--text-muted);flex-shrink:0;white-space:nowrap}.my-history-empty{text-align:center;padding:20px 16px;color:var(--text-muted);font-size:var(--fs-caption)}.my-history-more{text-align:center;padding:12px 16px;font-size:var(--fs-caption);color:var(--accent);cursor:pointer;background:var(--bg-card);transition:background .15s}.my-history-more:hover{background:var(--bg-card-hover)}.my-install-card{padding:16px;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border) 86%)}.my-install-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--accent-glow) 72%,#fff 28%);color:var(--accent);font-size:var(--fs-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.my-install-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.my-install-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;flex-shrink:0}.my-install-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round}.my-install-text{flex:1}.my-install-text-title{font-size:var(--fs-body);font-weight:500;color:var(--text)}.my-install-text-desc{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.my-install-benefit{font-size:var(--fs-caption);color:var(--text-muted);margin-bottom:12px;line-height:1.5;padding:8px 12px;background:var(--accent-glow);border-radius:8px}.my-install-steps{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.my-install-steps .ios-icon{display:inline-block;width:18px;height:18px;vertical-align:middle;margin:0 2px}.my-install-btn{display:block;width:100%;padding:10px;border:none;border-radius:8px;background:var(--accent);color:var(--text-inverse);font-size:var(--fs-body);font-weight:500;cursor:pointer;text-align:center;transition:opacity .15s}.my-install-btn:hover{opacity:.85}.home-page{display:none;animation:viewIn .3s ease-out;position:relative;padding-bottom:24px}.home-page:before,.home-page:after{display:none}.home-page.active{display:block}.home-section{margin-bottom:48px}.home-section-tight{margin-bottom:36px}.home-section-title{font-size:var(--fs-caption);color:var(--text-secondary);letter-spacing:.03em;padding:0 0 12px;font-weight:500;position:relative;display:flex;align-items:center;gap:0}.home-section-title:before{display:none}.home-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px}.home-section-header .home-section-title{padding:0}.home-section-more{font-size:var(--fs-caption);color:var(--accent);cursor:pointer;white-space:nowrap;font-weight:500;opacity:.8;transition:opacity .15s}.home-section-more:hover{opacity:1}.home-chanting-wrap{position:relative}.home-chanting-wrap:after{content:"";position:absolute;top:0;right:-10px;bottom:8px;width:48px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none;transition:opacity .3s}.home-chanting-wrap.scrolled-end:after{opacity:0}.home-chanting-arrow{position:absolute;right:-4px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:opacity .3s;z-index:1}.home-chanting-wrap.scrolled-end .home-chanting-arrow{opacity:0}.home-chant-count{font-size:var(--fs-caption);color:var(--text-muted);font-weight:400}.home-chanting-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 0 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-chanting-scroll::-webkit-scrollbar{display:none}.home-chant-card{flex-shrink:0;width:130px;background:var(--bg-card);border-radius:var(--radius);padding:16px 12px;text-align:center;border:none;cursor:pointer;transition:background .2s ease;position:relative}.home-chant-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none;transition:box-shadow .3s ease}.home-chant-card:hover{background:var(--bg-card-hover)}.home-chant-card:hover:before{box-shadow:inset 0 0 0 1px var(--border-active)}.home-chant-card.playing{background:var(--accent-glow)}.home-chant-card.playing:before{box-shadow:inset 0 0 0 1px var(--accent)}.home-chant-play{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);box-shadow:inset 0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center}.home-chant-play svg{width:14px;height:14px;fill:var(--accent);stroke:none;margin-left:1px}.home-chant-card.playing .home-chant-play{background:var(--accent)}.home-chant-card.playing .home-chant-play svg{fill:var(--text-inverse)}.home-chant-name{font-size:var(--fs-caption);color:var(--text);line-height:1.3;font-weight:400}.home-continue-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border-radius:var(--radius);padding:16px 18px;border:none;cursor:pointer;transition:background .2s ease;position:relative;overflow:hidden}.home-continue-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none;transition:box-shadow .3s ease}.home-continue-card:hover{background:var(--bg-card-hover)}.home-continue-card:hover:before{box-shadow:inset 0 0 0 1px var(--border-active)}.home-continue-icon{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-continue-icon svg{width:16px;height:16px;fill:none;stroke:var(--text-inverse);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.home-continue-body{flex:1;min-width:0}.home-continue-title{font-size:var(--fs-body);color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-continue-sub{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.home-continue-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--border)}.home-continue-progress-fill{height:100%;background:var(--accent);transition:width .3s}.home-continue-card.playing{border-color:var(--accent);background:var(--accent-glow)}.home-continue-card.playing .home-continue-icon{animation:eqPulse 1.5s ease-in-out infinite}@keyframes eqPulse{0%,to{opacity:1}50%{opacity:.6}}.home-rec-list{display:flex;flex-direction:column;gap:12px;background:transparent;border:none;border-radius:var(--radius);overflow:hidden}.home-rec-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);padding:16px 18px;cursor:pointer;transition:background .2s ease;border:none;border-radius:var(--radius);position:relative}.home-rec-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--border);pointer-events:none;transition:box-shadow .3s ease}.home-rec-card:hover{background:var(--bg-card-hover)}.home-rec-card:hover:before{box-shadow:inset 0 0 0 1px var(--border-active)}.home-rec-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);box-shadow:inset 0 0 0 1px var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-rec-icon svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.home-rec-body{flex:1;min-width:0}.home-rec-title{font-size:var(--fs-body);color:var(--text);font-weight:500}.home-rec-intro{font-size:.73rem;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-rec-sub{font-size:.73rem;color:var(--text-muted);margin-top:2px}.home-ai-badge{font-size:.64rem;font-weight:600;color:var(--accent);background:var(--accent-glow);padding:2px 8px;border-radius:999px;letter-spacing:.02em}.home-rec-ai-intro{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-rec-skeleton{pointer-events:none}.skeleton-pulse{background:var(--border);border-radius:4px;animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-line{height:12px;border-radius:4px}.home-rec-skeleton .home-rec-icon{background:var(--border)}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.7}}.home-guide-card{display:flex;align-items:center;gap:12px;background:var(--accent-glow);border-radius:8px;padding:12px 16px;border:1px solid var(--border);cursor:pointer;transition:background .15s}.home-guide-card:hover{background:var(--bg-card-hover)}.home-guide-icon{width:36px;height:36px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-guide-icon svg{width:18px;height:18px;stroke:var(--text-inverse)}.home-guide-body{flex:1;min-width:0}.home-guide-title{font-size:var(--fs-body);color:var(--text);font-weight:500}.home-guide-sub{font-size:.73rem;color:var(--text-secondary);margin-top:2px}.home-quote-callout{background:transparent;border:none;border-left:2px solid var(--accent);border-radius:0;padding:20px 24px;position:relative;margin-bottom:32px;text-align:left;cursor:pointer;transition:opacity .15s ease-out;-webkit-tap-highlight-color:transparent}.home-quote-callout:active{opacity:.7}.home-quote-callout:before{display:none}.home-quote-callout .home-quote-text{font-size:1.125rem;line-height:1.9;color:var(--text);font-weight:400;letter-spacing:.04em;font-family:var(--font-serif)}.home-quote-callout .home-quote-author{font-size:var(--fs-caption);color:var(--text-muted);margin-top:14px;text-align:right;font-weight:500;letter-spacing:.02em}.counter-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:radial-gradient(120% 80% at 50% -20%,var(--accent-glow),transparent 55%),linear-gradient(180deg,var(--bg) 0%,var(--bg-secondary) 100%);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .35s;overflow:hidden;visibility:hidden;pointer-events:none}.counter-view--visible{transform:translateY(0);visibility:visible;pointer-events:auto;transition:transform .35s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.counter-header{display:flex;align-items:center;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:var(--bg-header);border-bottom:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);gap:8px;flex-shrink:0}.counter-header--minimal{display:grid;grid-template-columns:minmax(44px,auto) 1fr minmax(72px,auto);align-items:center;gap:4px;padding-left:10px;padding-right:12px;border-bottom-color:transparent;background:linear-gradient(180deg,var(--bg-header) 70%,transparent)}.counter-header-slot{display:flex;align-items:center;min-width:0}.counter-header-slot--start{justify-content:flex-start}.counter-header-slot--center{justify-content:center}.counter-header-slot--end{justify-content:flex-end}.counter-records-entry{-webkit-appearance:none;appearance:none;border:none;background:transparent;padding:8px 4px;font-family:var(--font-zh);font-size:var(--fs-caption);font-weight:500;color:var(--accent);letter-spacing:.06em;cursor:pointer;border-radius:8px;transition:opacity .2s,background .2s;max-width:100%;white-space:nowrap}.counter-records-entry:hover{background:var(--accent-glow)}.counter-records-entry:active{opacity:.85}.counter-tool-icon{-webkit-appearance:none;appearance:none;border:none;background:transparent;padding:6px;color:var(--text-tertiary);cursor:pointer;border-radius:8px;transition:color .2s,background .2s;display:flex;align-items:center;justify-content:center}.counter-tool-icon svg{fill:none;stroke:currentColor}.counter-tool-icon:hover{background:var(--accent-glow)}.counter-tool-icon--active{color:var(--accent)}.counter-header-slot--center{gap:4px}.counter-dimmer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:manipulation}.counter-dimmer--active{opacity:1}.counter-dimmer__hint{position:absolute;bottom:max(32px,env(safe-area-inset-bottom,32px));color:#ffffff40;font-size:var(--fs-body);font-family:var(--font-zh);letter-spacing:.08em;transition:opacity 1s ease;z-index:2}.counter-dimmer__num{position:absolute;color:#ffffff26;font-family:var(--font-en);font-size:15vw;font-weight:300;line-height:1;opacity:0;transition:opacity .5s ease-out;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;mix-blend-mode:plus-lighter}.counter-dimmer__ripple{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 60%);animation:counter-ripple-anim .8s cubic-bezier(.1,.8,.3,1) forwards;pointer-events:none;z-index:3}.counter-header-title{flex:1;text-align:center;font-size:var(--fs-body);font-weight:600;color:var(--text);letter-spacing:.03em}.counter-header--minimal .counter-header-title{font-size:var(--fs-body);font-weight:600;letter-spacing:.12em;color:var(--text-secondary)}.counter-shell{flex:1;min-height:0;display:flex;flex-direction:column}.counter-back,.counter-menu{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;cursor:pointer;color:var(--text);padding:0;flex-shrink:0;transition:background .15s}.counter-back:hover,.counter-menu:hover{background:var(--bg-card-hover)}.counter-back svg,.counter-menu svg{display:block;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.counter-wakelock-btn{color:var(--text-muted);transition:color .2s}.counter-wakelock-btn.active{color:var(--accent)}.counter-wakelock-btn:hover{background:var(--bg-card-hover)}.counter-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:8px 22px 0;overflow:hidden}.counter-honor-block{width:100%;max-width:340px;text-align:center;padding:20px 8px 8px;pointer-events:none;user-select:none;-webkit-user-select:none}.counter-honor-caption{margin:0 0 10px;font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);opacity:.85}.counter-focus{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:8px 0 22px;margin-bottom:4px}.counter-stats{display:flex;gap:0;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;width:100%;max-width:360px}.counter-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px;gap:4px;border-right:1px solid var(--border)}.counter-stat:last-child{border-right:none}.counter-stat--accent .counter-stat-val{color:var(--accent)}.counter-stat-val{font-size:1.3rem;font-weight:700;color:var(--text);line-height:1;font-variant-numeric:tabular-nums;font-family:var(--font-en)}.counter-stat-lbl{font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.counter-lotus-wrap .counter-number,.counter-lotus-wrap .counter-hint{pointer-events:none}.counter-tap-area{position:relative;width:min(272px,72vw);height:min(272px,72vw);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.counter-tap-area:focus{outline:none}.counter-ring--outer{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none;transition:transform .15s ease,opacity .15s ease;animation:counter-breathe-anim 4s ease-in-out infinite}@keyframes counter-breathe-anim{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.03);opacity:1}}.counter-tap-area:active .counter-ring--outer{transform:scale(1.08)!important;opacity:.7!important}.counter-progress-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.counter-progress-bg{fill:none;stroke:var(--border);stroke-width:5}.counter-progress-fill{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .25s ease}.counter-lotus-wrap{position:absolute;top:11%;right:11%;bottom:11%;left:11%;border-radius:50%;background:color-mix(in srgb,var(--bg-card) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 1px #ffffff0a inset,0 20px 48px -24px var(--accent-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.counter-tap-area:active .counter-lotus-wrap{transform:scale(.96);box-shadow:0 4px 16px var(--accent-shadow),0 1px 4px #0000000f}.counter-number{font-size:clamp(2.5rem,9vw,3.1rem);font-weight:700;color:var(--text);line-height:1;font-variant-numeric:tabular-nums;font-family:var(--font-en);letter-spacing:-.03em;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.counter-number--bump{transform:scale(1.12)}.counter-practice-name{margin:0;font-size:var(--fs-heading);line-height:1.65;color:var(--accent);letter-spacing:.18em;font-weight:500;font-family:var(--font-serif);max-width:100%;text-align:center;text-wrap:balance}.counter-hint{font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.14em;margin-top:2px;font-weight:500;opacity:.9}.counter-ripples{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;pointer-events:none}.counter-ripple{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:2px solid var(--accent);background:radial-gradient(circle,rgba(217,119,87,.4) 0%,transparent 60%);animation:counter-ripple-anim .8s cubic-bezier(.1,.8,.3,1) forwards;pointer-events:none;z-index:10}@keyframes counter-ripple-anim{0%{transform:scale(.5);opacity:1;border-width:4px}to{transform:scale(4.5);opacity:0;border-width:1px}}.counter-daily-wrap{width:100%;max-width:360px;display:flex;flex-direction:column;gap:6px}.counter-daily-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-caption);color:var(--text-secondary)}.counter-daily-lbl strong{color:var(--text);font-weight:600}.counter-daily-goal{color:var(--text-secondary)}.counter-progress-bar{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.counter-progress-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease;min-width:0}.counter-progress-bar-fill--done{background:var(--success)}.counter-streak{font-size:var(--fs-caption);color:var(--accent);text-align:center;letter-spacing:.04em;font-weight:500;margin-top:2px}.counter-per-loop{font-size:var(--fs-label);color:var(--text-muted);text-align:right}.counter-footer{flex-shrink:0;margin-top:8px;padding:0 24px 6px;padding-bottom:calc(6px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:18px}.counter-huixiang-primary{-webkit-appearance:none;appearance:none;width:100%;max-width:320px;border:1px solid var(--accent);border-radius:999px;padding:14px 24px;background:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 82%,white 18%) 0%,var(--accent) 100%);border-color:color-mix(in srgb,var(--accent) 72%,var(--border) 28%);color:var(--text-inverse);font-family:var(--font-zh);font-size:var(--fs-body);font-weight:600;letter-spacing:.2em;cursor:pointer;box-shadow:0 10px 28px -8px var(--accent-shadow);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,filter .2s ease}.counter-huixiang-primary:hover{filter:saturate(1.03) brightness(1.02);box-shadow:0 14px 32px -10px var(--accent-shadow)}.counter-huixiang-primary:active{transform:scale(.98)}.counter-huixiang-primary__text{display:block}.counter-actions{display:flex;gap:8px;padding:0 20px 12px;flex-shrink:0}.counter-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-label);color:var(--text-secondary);font-family:var(--font-zh);transition:background .15s,border-color .15s}.counter-action-btn:hover{background:var(--bg-card-hover)}.counter-action-btn svg{stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--text-secondary)}.counter-action-btn--goal{border-color:var(--border);color:var(--text-secondary)}.counter-action-btn--goal svg{color:var(--text-secondary)}.counter-action-btn--huixiang{border-color:var(--accent);background:var(--accent-glow);color:var(--accent);font-weight:500;flex:1.4}.counter-action-btn--huixiang:hover{background:var(--border-active)}.counter-action-btn--huixiang svg{color:var(--accent)}.counter-action-btn--clear{color:var(--text-muted);border-color:var(--border)}.counter-action-btn--danger{color:#c83c3ccc}.counter-action-btn--danger svg{color:#c83c3ccc}.practice-picker-panel{gap:12px;max-height:80vh;overflow-y:auto}.practice-picker-list{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.practice-item{display:flex;align-items:center;gap:10px;padding:13px 14px;background:var(--bg-card);cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s;-webkit-tap-highlight-color:transparent}.practice-item:last-child{border-bottom:none}.practice-item:hover{background:var(--bg-card-hover)}.practice-item--active{background:var(--accent-glow)}.practice-item-body{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.practice-item-name{font-size:var(--fs-body);color:var(--text);font-family:var(--font-zh);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-item--active .practice-item-name{color:var(--accent);font-weight:500}.practice-item-badge{font-size:.62rem;background:var(--accent);color:var(--text-inverse);padding:1px 6px;border-radius:10px;font-weight:600;flex-shrink:0}.practice-item-del{-webkit-appearance:none;appearance:none;background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--text-muted);flex-shrink:0;transition:all .15s}.practice-item-del:hover{background:#c83c3c1a;color:#c83c3ccc}.practice-add-section{display:flex;flex-direction:column;gap:8px}.practice-add-input-row{display:flex;gap:8px;align-items:center}.practice-add-btn{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:1px dashed var(--border-active);background:transparent;border-radius:var(--radius-sm);font-size:var(--fs-caption);color:var(--accent);cursor:pointer;font-family:var(--font-zh);transition:background .15s;opacity:.8}.practice-add-btn:hover{background:var(--accent-glow);opacity:1}.practice-add-hint{text-align:center;font-size:var(--fs-caption);color:var(--text-muted);padding:6px 0}.huixiang-panel{gap:14px}.hx-header{text-align:center;padding-bottom:2px}.hx-title{font-size:var(--fs-ui);font-weight:600;color:var(--text);letter-spacing:.06em;font-family:var(--font-serif)}.hx-stats{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:5px}.hx-stats strong{color:var(--accent);font-weight:600}.hx-huixiang-preview{background:linear-gradient(135deg,var(--accent-glow),var(--bg-secondary));border:1px solid var(--border-active);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px 12px}.hx-section-label{font-size:var(--fs-label);font-weight:600;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}.hx-optional{font-weight:400;font-size:.64rem;background:var(--border);padding:1px 6px;border-radius:8px;letter-spacing:.04em;text-transform:none}.hx-huixiang-text{font-size:var(--fs-body);font-family:var(--font-serif);color:var(--text);line-height:1.95;letter-spacing:.06em}.hx-huixiang-attr{font-size:var(--fs-label);color:var(--accent);text-align:right;margin-top:8px;opacity:.75;letter-spacing:.04em}.hx-another-section{display:flex;flex-direction:column;gap:6px}.hx-another-hint{font-size:var(--fs-label);color:var(--text-muted);margin-top:2px}.hx-custom-input{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text);font-family:var(--font-zh);outline:none;resize:none;transition:border-color .15s;box-sizing:border-box}.hx-custom-input:focus{border-color:var(--accent-dim)}.hx-gongxiu-row{padding:2px 0}.hx-gongxiu-label{display:flex;align-items:center;gap:10px;cursor:pointer}.hx-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.hx-gongxiu-text{font-size:var(--fs-body);color:var(--text-secondary)}.hx-confirm-btn{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-inverse);font-size:var(--fs-body);font-weight:600;font-family:var(--font-serif);cursor:pointer;letter-spacing:.06em;transition:opacity .15s}.hx-confirm-btn:hover{opacity:.88}.hx-confirm-btn:active{transform:scale(.98);transition:transform .05s}.huixiang-display{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;opacity:0;transition:opacity .45s ease;pointer-events:none}.huixiang-display--in{opacity:1;pointer-events:auto}.hd-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:40px 32px;cursor:pointer}.hd-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;max-width:300px}.hd-lotus{font-size:2.6rem;line-height:1;animation:hd-lotus-pulse 2.5s ease-in-out infinite}@keyframes hd-lotus-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.hd-main-text{font-size:var(--fs-heading);font-family:var(--font-serif);color:var(--text);line-height:2.1;letter-spacing:.07em}.hd-personal{font-size:var(--fs-body);color:var(--text-secondary);letter-spacing:.04em;font-family:var(--font-zh);border-bottom:1px solid var(--border);padding-bottom:16px;width:100%;text-align:center;line-height:1.8}.hd-gongxiu-btn{-webkit-appearance:none;appearance:none;background:none;border:1px solid var(--border-active);border-radius:20px;padding:8px 20px;font-family:var(--font-zh);font-size:var(--fs-caption);color:var(--accent);cursor:pointer;transition:background .15s;letter-spacing:.04em}.hd-gongxiu-btn:hover{background:var(--accent-glow)}.hd-namo{font-size:var(--fs-heading);color:var(--accent);font-weight:500;letter-spacing:.22em;font-family:var(--font-serif)}.hd-hint{font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.04em}.counter-namo{margin:0;text-align:center;font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.28em;font-family:var(--font-serif);font-weight:400;opacity:.72;pointer-events:none;user-select:none;-webkit-user-select:none;padding-bottom:4px}.counter-goal-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end}.counter-goal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;opacity:0;transition:opacity .25s}.counter-goal-sheet--visible .counter-goal-backdrop{opacity:1}.counter-goal-panel{position:relative;background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;padding:20px;padding-bottom:calc(20px + var(--safe-bottom));transform:translateY(100%);transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:16px}.counter-goal-sheet--visible .counter-goal-panel{transform:translateY(0)}.counter-goal-panel-title{font-size:var(--fs-body);font-weight:600;color:var(--text);text-align:center}.counter-goal-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.counter-goal-opt{padding:12px 8px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:500;color:var(--text);cursor:pointer;text-align:center;transition:background .15s,border-color .15s;font-family:var(--font-en)}.counter-goal-opt:hover{background:var(--bg-card-hover)}.counter-goal-opt--active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.counter-goal-opt--my{border-color:var(--border-active);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-zh);font-size:var(--fs-body);letter-spacing:.02em}.counter-goal-opt--my.counter-goal-opt--active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.counter-goal-section-label{font-size:var(--fs-label);font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.counter-goal-cancel{width:100%;padding:12px;border:none;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text-secondary);cursor:pointer;font-family:var(--font-zh)}.counter-goal-cancel:hover{background:var(--bg-card-hover)}.counter-goal-custom-row{display:flex;gap:8px;align-items:center}.counter-goal-custom-input{flex:1;padding:10px 12px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text);font-family:var(--font-en);outline:none;transition:border-color .15s;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.counter-goal-custom-input::-webkit-inner-spin-button,.counter-goal-custom-input::-webkit-outer-spin-button{-webkit-appearance:none}.counter-goal-custom-input:focus{border-color:var(--accent-dim)}.counter-goal-custom-input--error{border-color:#c83c3cb3;animation:counter-input-shake .3s ease}@keyframes counter-input-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.counter-goal-custom-btn{padding:10px 14px;border:1px solid var(--accent-dim);background:var(--accent-glow);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--accent);cursor:pointer;font-family:var(--font-zh);white-space:nowrap;transition:background .15s}.counter-goal-custom-btn:hover{background:var(--accent-glow);filter:brightness(1.1)}.counter-practice-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end}.counter-practice-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;opacity:0;transition:opacity .25s}.counter-practice-sheet--visible .counter-practice-backdrop{opacity:1}.counter-practice-panel{position:relative;background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;padding:20px;padding-bottom:calc(20px + var(--safe-bottom));transform:translateY(100%);transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:16px}.counter-practice-sheet--visible .counter-practice-panel{transform:translateY(0)}.counter-practice-panel-title{font-size:var(--fs-body);font-weight:600;color:var(--text);text-align:center}.counter-practice-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.counter-practice-opt{padding:12px 8px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:500;color:var(--text);cursor:pointer;text-align:center;transition:background .15s,border-color .15s;font-family:var(--font-zh)}.counter-practice-opt:hover{background:var(--bg-card-hover)}.counter-practice-opt--active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.counter-practice-opt--custom{flex:1}.counter-practice-custom-row{display:flex;gap:8px;align-items:center}.counter-practice-custom-edit{flex-shrink:0;padding:10px 14px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:500;color:var(--text-2);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.counter-practice-custom-edit:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--accent)}.counter-custom-input-wrap{margin-top:-4px}.counter-custom-input-wrap--hidden{display:none}.counter-history{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:var(--bg);transform:translate(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;overflow:hidden;pointer-events:none}.counter-history--in{transform:translate(0);pointer-events:auto}.ch-header{display:flex;align-items:center;padding:8px 4px;padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);flex-shrink:0;gap:0;background:var(--bg-header);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ch-title{flex:1;text-align:center;font-size:var(--fs-body);font-weight:600;color:var(--text);letter-spacing:.03em}.ch-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px calc(24px + var(--safe-bottom))}.ch-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.ch-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 14px 12px;display:flex;flex-direction:column;gap:5px}.ch-stat-val{font-size:1.5rem;font-weight:700;color:var(--accent);font-family:var(--font-en);line-height:1;letter-spacing:-.02em}.ch-stat-lbl{font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.ch-milestone{background:var(--accent-glow);border:1px solid var(--border-active);border-radius:var(--radius);padding:12px 14px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.ch-milestone-icon{font-size:1.2rem;flex-shrink:0;line-height:1}.ch-milestone-text{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.55}.ch-milestone-text strong{color:var(--accent);font-weight:600}.ch-practice-tabs{display:flex;gap:7px;margin-bottom:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.ch-practice-tabs::-webkit-scrollbar{display:none}.ch-practice-tab{-webkit-appearance:none;appearance:none;flex-shrink:0;padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:var(--font-zh)}.ch-practice-tab.active{background:var(--accent);color:var(--text-inverse);border-color:transparent;font-weight:500}.ch-section{margin-bottom:24px}.ch-section-title{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}.ch-section-title:before{content:"";display:inline-block;width:3px;height:12px;background:var(--accent);border-radius:2px;opacity:.7;flex-shrink:0}.ch-heatmap-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:5px}.ch-heatmap-label{font-size:.6rem;color:var(--text-muted);text-align:center;font-family:var(--font-zh)}.ch-heatmap{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ch-cell{aspect-ratio:1;border-radius:3px;background:var(--border);opacity:.4;transition:opacity .1s,transform .1s;cursor:default}.ch-cell[data-level="0"]{background:var(--border);opacity:.35}.ch-cell[data-level="1"]{background:var(--accent);opacity:.22}.ch-cell[data-level="2"]{background:var(--accent);opacity:.45}.ch-cell[data-level="3"]{background:var(--accent);opacity:.72}.ch-cell[data-level="4"]{background:var(--accent);opacity:1}.ch-cell--today{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.ch-cell--future,.ch-cell--pad{background:transparent!important;opacity:0!important;pointer-events:none}.ch-heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px}.ch-legend-label{font-size:.6rem;color:var(--text-muted)}.ch-legend-cell{width:10px;height:10px;border-radius:2px;background:var(--accent)}.ch-list{display:flex;flex-direction:column}.ch-day-item{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);gap:12px}.ch-day-item:last-child{border-bottom:none}.ch-day-dot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:1px}.ch-day-dot--done{background:var(--accent)}.ch-day-dot--partial{background:var(--accent);opacity:.45}.ch-day-info{flex:1;min-width:0}.ch-day-date{font-size:var(--fs-body);color:var(--text-secondary);font-weight:400}.ch-day-sub{font-size:var(--fs-label);color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-day-count{font-size:var(--fs-ui);font-weight:600;color:var(--text);font-family:var(--font-en);flex-shrink:0;letter-spacing:-.01em;white-space:nowrap}.ch-day-count--done{color:var(--accent)}.ch-empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:var(--fs-body);line-height:1.9}.counter-share-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;opacity:0;transition:opacity .3s ease;pointer-events:none}.counter-share-modal--in{opacity:1;pointer-events:auto}.csm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.csm-panel{position:absolute;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:16px 16px calc(16px + var(--safe-bottom));max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(100%);transition:transform .3s cubic-bezier(.22,1,.36,1)}.counter-share-modal--in .csm-panel{transform:translateY(0)}.csm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.csm-title{font-size:var(--fs-body);font-weight:600;color:var(--text);letter-spacing:.04em}.csm-close{color:var(--text-muted)}.csm-preview{border-radius:12px;overflow:hidden;background:var(--bg-secondary);min-height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.csm-generating{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:var(--fs-body);padding:32px}.csm-generating svg{animation:csm-spin .9s linear infinite;stroke:var(--accent)}@keyframes csm-spin{to{transform:rotate(360deg)}}.csm-error{text-align:center;padding:24px;color:var(--text-muted);font-size:var(--fs-body)}.csm-actions{display:flex;gap:10px}.csm-btn{-webkit-appearance:none;appearance:none;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border-radius:var(--radius-sm);font-size:var(--fs-body);font-weight:500;font-family:var(--font-zh);cursor:pointer;transition:opacity .15s,transform .1s;border:none}.csm-btn:active{transform:scale(.97)}.csm-btn--primary{background:var(--accent);color:var(--text-inverse);flex:1.5}.csm-btn--primary:hover{opacity:.88}.csm-btn--secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.csm-btn--secondary:hover{background:var(--bg-card-hover)}.chi-top-stats{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 0;margin-bottom:22px}.chi-top-item{flex:1;text-align:center;display:flex;flex-direction:column;gap:4px}.chi-top-val{font-size:1.5rem;font-weight:700;color:var(--accent);font-family:var(--font-en);line-height:1;letter-spacing:-.02em}.chi-top-lbl{font-size:var(--fs-label);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.chi-top-divider{width:1px;height:36px;background:var(--border);flex-shrink:0}.chi-practice-card{margin-bottom:22px;padding:16px 16px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);box-shadow:0 8px 28px -18px #0000001f}.chi-practice-card-label{font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.chi-practice-card-name{font-size:var(--fs-ui);font-weight:500;font-family:var(--font-serif);color:var(--accent);letter-spacing:.12em;line-height:1.5;margin-bottom:12px;text-wrap:balance}.chi-practice-card-stats{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:var(--fs-caption);color:var(--text-secondary)}.chi-practice-stat strong{font-family:var(--font-en);font-weight:600;color:var(--text);letter-spacing:-.02em}.chi-practice-stat--goal{text-align:right}.chi-practice-check{display:inline;color:var(--success);font-weight:600;margin-right:2px}.chi-practice-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.chi-practice-bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .35s ease;min-width:0}.chi-practice-bar-fill--done{background:var(--success)}.chi-month{margin-bottom:24px}.chi-month-hdr{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid var(--border);margin-bottom:2px}.chi-month-lbl{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted);letter-spacing:.06em}.chi-month-total{font-size:var(--fs-caption);color:var(--accent);font-family:var(--font-en);font-weight:600;letter-spacing:-.01em}.chi-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);min-height:42px}.chi-row:last-child{border-bottom:none}.chi-row--empty{opacity:.45}.chi-date{width:58px;flex-shrink:0;display:flex;flex-direction:column;gap:1px}.chi-date-main{font-size:var(--fs-body);color:var(--text);font-weight:400;font-family:var(--font-en)}.chi-date-sub{font-size:var(--fs-label);color:var(--text-muted)}.chi-content{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chi-breakdown{font-size:var(--fs-caption);color:var(--text-secondary)}.chi-no-record{font-size:var(--fs-caption);color:var(--text-muted)}.chi-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.chi-count{font-size:var(--fs-body);font-weight:600;color:var(--text);font-family:var(--font-en);letter-spacing:-.01em}.chi-count.done{color:var(--accent)}.chi-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0}.chi-dot.done{background:var(--accent)}.chi-month-nav{display:flex;align-items:center;justify-content:space-between;padding:4px 0 14px}.chi-month-info{display:flex;flex-direction:column;align-items:center;gap:3px}.chi-month-nav-lbl{font-size:var(--fs-body);font-weight:600;color:var(--text);letter-spacing:.04em}.chi-month-nav-total{font-size:var(--fs-caption);color:var(--accent);font-family:var(--font-en);font-weight:600;min-height:1em}.chi-nav-btn{-webkit-appearance:none;appearance:none;background:none;border:none;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:background .15s}.chi-nav-btn:hover{background:var(--bg-card-hover)}.chi-nav-btn--disabled{color:var(--text-muted);opacity:.35;cursor:default}.chi-cal-wrap{margin-bottom:16px}.chi-cal-wdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.chi-cal-wday{text-align:center;font-size:var(--fs-label);color:var(--text-muted);padding:2px 0;font-weight:500}.chi-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.chi-cal-pad{aspect-ratio:1}.chi-cal-cell{aspect-ratio:1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--bg-secondary);cursor:default;transition:transform .1s;position:relative;overflow:hidden}.chi-cal-cell:not(.chi-cal-cell--future){cursor:pointer}.chi-cal-cell:not(.chi-cal-cell--future):hover{filter:brightness(.94);transform:scale(.96)}.chi-cal-cell{background:var(--bg-secondary)}.chi-cal-cell--active{background:var(--accent-glow);border:1px solid var(--border-active)}.chi-cal-cell--goal{background:var(--accent);border:none}.chi-cal-cell--today{outline:2px solid var(--accent);outline-offset:1px}.chi-cal-cell--future{opacity:.25}.chi-cal-day{font-size:var(--fs-caption);font-weight:500;color:var(--text);line-height:1;font-family:var(--font-en)}.chi-cal-cell--active .chi-cal-day{color:var(--accent);font-weight:600}.chi-cal-cell--goal .chi-cal-day{color:var(--text-inverse);font-weight:600}.chi-cal-count{font-size:.6rem;color:var(--accent-dim);font-family:var(--font-en);line-height:1;letter-spacing:-.01em}.chi-cal-cell--goal .chi-cal-count{color:#fffc}.chi-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:8px 0}.chi-legend-lbl{font-size:var(--fs-label);color:var(--text-muted);margin-right:8px}.chi-legend-dot{width:12px;height:12px;border-radius:4px}.chi-legend-dot--none{background:var(--bg-secondary);border:1px solid var(--border)}.chi-legend-dot--partial{background:var(--accent-glow);border:1px solid var(--border-active)}.chi-legend-dot--goal{background:var(--accent)}.chi-tools-section{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.chi-tools-heading{margin:0 0 14px;font-size:var(--fs-label);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.chi-tools-list{display:flex;flex-direction:column;gap:10px}.chi-tool-row{-webkit-appearance:none;appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:var(--font-zh);font-size:var(--fs-body);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.chi-tool-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--bg-card-hover)}.chi-tool-row:active{transform:scale(.99)}.chi-tool-row--danger{border-color:color-mix(in srgb,rgba(200,60,60,.45) 50%,var(--border));color:#c83c3ceb}.chi-tool-row--danger:hover{background:color-mix(in srgb,rgba(200,60,60,.06) 100%,var(--bg-card))}.chi-tool-label{flex:1;min-width:0;font-weight:500;letter-spacing:.04em}.chi-tool-chevron{flex-shrink:0;opacity:.35;stroke:currentColor}.chi-tool-meta--pill{flex-shrink:0;font-size:var(--fs-label);font-weight:600;letter-spacing:.06em;padding:5px 10px;border-radius:999px;background:var(--accent-glow);color:var(--accent);border:1px solid var(--border-active)}.chi-tool-row--toggle .chi-tool-chevron{display:none}.bulu-date-badge{background:var(--accent-glow);border:1px solid var(--border-active);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.bulu-date-name{font-size:var(--fs-body);font-weight:600;color:var(--accent);font-family:var(--font-serif);letter-spacing:.04em}.bulu-date-existing{font-size:var(--fs-caption);color:var(--text-secondary)}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.loader svg{width:36px;height:36px;stroke:var(--accent);fill:none;stroke-width:1.2;opacity:.4;animation:breathe 2.5s ease-in-out infinite}.loader-logo{width:120px!important;height:auto!important;object-fit:contain;color:var(--accent)}@keyframes breathe{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.05);opacity:.6}}.loader-text{font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted)}.loader-home{align-items:stretch;justify-content:flex-start;padding:22px 0 32px;gap:18px}.loader-brand{display:flex;align-items:center;gap:14px;padding:0 4px}.loader-copy{display:flex;flex-direction:column;gap:3px}.loader-kicker{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.loader-home-skeleton{display:flex;flex-direction:column;gap:14px}.loader-block{position:relative;overflow:hidden;background:color-mix(in srgb,var(--border) 78%,var(--bg-card) 22%)}.loader-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);animation:loaderSweep 1.8s ease-in-out infinite}.loader-home-hero{height:138px;border-radius:24px}.loader-home-pills{display:flex;gap:10px}.loader-pill{height:32px;border-radius:999px;flex:1}.loader-home-list{display:flex;flex-direction:column;gap:12px}.loader-home-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:color-mix(in srgb,var(--bg-card) 90%,var(--bg-secondary) 10%);box-shadow:var(--shadow-sm)}.loader-home-icon{width:44px;height:44px;border-radius:16px;flex-shrink:0}.loader-home-lines{display:flex;flex-direction:column;gap:8px;width:100%}.loader-line{height:11px;border-radius:999px;width:82%}.loader-line-lg{width:58%}.loader-line-sm{width:36%}@keyframes loaderSweep{to{transform:translate(100%)}}.error-msg{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:var(--fs-body)}.error-msg button{margin-top:12px;background:var(--accent);color:var(--text-inverse);border:none;border-radius:20px;padding:8px 20px;font-family:var(--font-zh);font-size:var(--fs-body);cursor:pointer}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.about-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}.about-overlay.show{display:flex;animation:aboutFadeIn .25s ease-out}@keyframes aboutFadeIn{0%{opacity:0}to{opacity:1}}.about-modal{background:var(--bg-card);border:none;box-shadow:inset 0 0 0 1px var(--border),0 8px 40px #00000026;border-radius:16px;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;padding:28px 24px;position:relative;animation:aboutSlideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes aboutSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.about-close{position:absolute;top:12px;right:12px;background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s}.about-close:hover{color:var(--text);background:var(--accent-glow)}.about-close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round}.about-logo{display:flex;justify-content:center;margin-bottom:16px}.about-logo svg{width:48px;height:48px}.about-title{text-align:center;font-size:var(--fs-xl);font-weight:600;color:var(--text);margin-bottom:4px}.about-subtitle{text-align:center;font-family:var(--font-en);font-size:var(--fs-caption);color:var(--text-muted);letter-spacing:.08em;margin-bottom:20px}.about-section{margin-bottom:16px}.about-section-title{font-size:var(--fs-caption);font-weight:600;color:var(--accent);margin-bottom:6px;display:flex;align-items:center;gap:6px}.about-section-title svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}.about-text{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.65}.about-text a{color:var(--accent);text-decoration:none}.about-text a:hover{text-decoration:underline}.about-footer{text-align:center;font-size:var(--fs-caption);color:var(--text-muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--border);line-height:1.5}.install-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:250;padding:14px 16px calc(16px + var(--safe-bottom));animation:bannerSlide .4s cubic-bezier(.16,1,.3,1)}.install-banner.show{display:block}.install-banner.above-player{bottom:var(--player-h)}@keyframes bannerSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-inner{max-width:560px;margin:0 auto}.install-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,#fff 8%),color-mix(in srgb,var(--bg-card) 84%,#fff 16%));border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,var(--border) 82%),0 18px 48px #00000024;border-radius:24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:16px}.install-hero{display:flex;align-items:flex-start;gap:14px}.install-icon{width:48px;height:48px;border-radius:16px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent-glow) 55%,#fff 45%),color-mix(in srgb,var(--accent) 24%,transparent 76%));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff8c,0 10px 24px #00000014}.install-icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.5}.install-text,.install-copy{flex:1;min-width:0}.install-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.install-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,#fff 88%);color:var(--accent);font-size:var(--fs-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.install-meta-note{font-size:var(--fs-caption);color:var(--text-muted)}.install-title{font-size:var(--fs-ui);font-weight:600;color:var(--text)}.install-desc{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px;line-height:1.55}.install-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.install-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--bg-card) 78%,#fff 22%);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 74%,#fff 26%);color:var(--text-secondary);font-size:var(--fs-caption)}.install-guide-card{margin-top:14px;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-glow) 54%,#fff 46%),color-mix(in srgb,var(--bg-card) 84%,#fff 16%));border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,var(--border) 84%)}.install-guide-label{font-size:var(--fs-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.install-guide-steps{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.65}.install-actions{display:flex;gap:8px;flex-shrink:0;justify-content:flex-end;margin-top:14px}.install-actions.install-actions-single{justify-content:flex-start}.install-btn{-webkit-appearance:none;appearance:none;border:none;border-radius:20px;min-height:40px;padding:8px 16px;font-family:var(--font-zh);font-size:var(--fs-caption);font-weight:500;cursor:pointer;transition:all .2s}.install-btn-primary{background:linear-gradient(135deg,color-mix(in srgb,var(--text) 92%,#fff 8%),color-mix(in srgb,var(--accent) 28%,var(--text) 72%));color:var(--text-inverse);box-shadow:0 12px 24px #00000024}.install-btn-primary:hover{opacity:.92;transform:translateY(-1px)}.install-btn-dismiss{background:color-mix(in srgb,var(--bg-card) 88%,#fff 12%);color:var(--text-secondary);border:none;box-shadow:inset 0 0 0 1px var(--border)}.refresh-banner{z-index:280}.refresh-inner{align-items:flex-start}.refresh-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,#fff 8%),color-mix(in srgb,var(--accent-glow) 28%,var(--bg-card) 72%))}.refresh-icon{background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent-glow) 68%,#fff 32%),color-mix(in srgb,var(--accent) 22%,transparent 78%));box-shadow:0 10px 24px #00000014}.refresh-icon svg{stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round}.refresh-btn-primary{box-shadow:0 10px 24px #0000001f}@media(max-width:640px){.install-shell{border-radius:20px;padding:14px}.install-hero{gap:12px}.install-actions{width:100%;justify-content:flex-end}.install-actions.install-actions-single{justify-content:stretch}.install-actions.install-actions-single .install-btn-dismiss{width:100%}}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:none;flex-direction:column;overflow:hidden}.search-overlay.show{display:flex;animation:fadeSlideDown .2s cubic-bezier(.22,1,.36,1)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-overlay-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-header);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0}.search-overlay-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.search-overlay-back:hover{background:var(--bg-secondary);color:var(--text)}.search-overlay-field{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border-radius:10px;padding:0 12px;height:40px;color:var(--text-muted);border:1.5px solid transparent;transition:border-color .2s}.search-overlay-field:focus-within{border-color:var(--border-active);background:var(--bg-card)}.search-overlay-field svg{flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round}.search-overlay-input{flex:1;border:none;background:none;font-size:var(--fs-body);color:var(--text);outline:none;font-family:var(--font-zh);min-width:0}.search-overlay-input::placeholder{color:var(--text-muted)}.search-overlay-tabs{display:flex;gap:4px;padding:10px 16px 0;border-bottom:1px solid var(--border);flex-shrink:0}.search-tab{position:relative;padding:6px 16px 10px;font-size:var(--fs-body);font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent}.search-tab:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transition:transform .2s cubic-bezier(.22,1,.36,1)}.search-tab.active{color:var(--accent)}.search-tab.active:after{transform:scaleX(1)}.search-overlay-results{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.search-overlay-results .ep-list{list-style:none;margin:0 0 12px;padding:0}.search-overlay-hint{text-align:center;padding:48px 24px;color:var(--text-muted);font-size:var(--fs-body);line-height:1.7}.ai-loading-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotPulse .9s ease-in-out infinite;vertical-align:middle;margin-right:4px}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.wenku-results{display:flex;flex-direction:column;gap:10px;margin-top:8px}.wenku-result-card{background:var(--bg-card);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .2s cubic-bezier(.22,1,.36,1)}.wenku-result-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-active)}.wenku-result-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.wenku-result-icon{flex-shrink:0;color:var(--accent);margin-top:2px}.wenku-result-title{font-size:var(--fs-body);font-weight:600;color:var(--text);line-height:1.4}.wenku-result-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.wenku-result-series,.wenku-result-category{font-size:var(--fs-caption);padding:2px 8px;border-radius:20px;background:var(--accent-glow);color:var(--accent);font-weight:500}.wenku-result-snippet{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.wenku-result-action{font-size:var(--fs-caption);color:var(--accent);font-weight:500;text-align:right}
