.plain-top{margin:0 -22px;background:rgba(243,237,223,.96)}
.group-hero{margin-top:20px;padding:20px;border-radius:4px}.group-hero small{color:#bcb6aa}.group-hero h2{margin:14px 0 6px;font:700 24px var(--serif)}.group-hero p{margin:0;color:#bbb6aa;font-size:13px;line-height:1.7}.group-progress{display:flex;align-items:center;gap:12px;margin:14px 0}.group-progress span{font-size:11px}.group-progress i{flex:1;height:3px;background:#44443f}.group-hero>button{width:72%;padding:11px;background:var(--red);color:#fff;border-radius:2px}.group-hero>em{margin-left:14px;color:#ddd6c8;font-size:12px}.group-tabs{display:flex;gap:28px;padding:18px 0 10px;border-bottom:1px solid var(--line)}.group-tabs button{padding-bottom:8px}.group-tabs .on{color:var(--red);border-bottom:2px solid var(--red)}.chapter-block{padding:16px 0}.chapter-title{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px}.chapter-block>button{width:100%;display:grid;grid-template-columns:34px 1fr 28px;gap:9px;padding:14px 0;text-align:left;border-bottom:1px solid var(--line)}.chapter-block i{color:var(--red);font-size:11px}.chapter-block b,.chapter-block small{display:block}.chapter-block b{font:700 15px var(--serif)}.chapter-block small{margin-top:4px;color:var(--muted);font-size:10px}
.full-player{background:#faf8f1}.full-player>header{display:flex;justify-content:space-between;align-items:center}.player-number{margin-top:35px;padding:8px 0;border-top:2px solid var(--red);font-size:11px}.player-number span{float:right}.full-player blockquote{margin:32px 15px 40px;font:700 25px/1.6 var(--serif);text-align:center}.seek{height:3px;background:#d8d4cb}.seek i{display:block;width:8%;height:100%;background:var(--dark)}.times,.player-meta{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}.player-controls{display:flex;justify-content:space-around;align-items:center;margin:38px 0}.player-controls .play{width:55px;height:55px;border:2px solid var(--dark);border-radius:50%}.queue{margin:45px -22px -98px;padding:22px;background:#f1ede3}.queue>span{float:right;font-size:11px}.queue>button{width:100%;display:grid;grid-template-columns:34px 1fr 55px;margin-top:14px;padding:14px;text-align:left;background:#e8e2d5;border-radius:5px}.queue i{color:var(--red)}.queue small{color:var(--red)}
.compact-head{padding-bottom:8px}.compact-head p{margin:5px 0;color:var(--muted)}.question-tabs{display:flex;border-bottom:1px solid var(--line)}.question-tabs button{padding:13px 16px}.question-tabs .on{background:#e8e1d3}.practice-progress{margin:25px 0 14px}.practice-progress b{float:right;color:var(--red);font-size:12px}.practice-progress i{display:block;height:5px;margin-top:14px;background:#cec8ba;border-radius:8px}.practice-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px}.practice-actions button{padding:13px;background:var(--dark);color:#fff;border-radius:8px}.practice-actions button+button{background:#e8e1d3;color:var(--ink)}.catalog-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.catalog-title h3{font:700 23px var(--serif)}.question-card{width:100%;margin-bottom:12px;padding:17px;text-align:left;background:#eae3d5;border-radius:12px}.question-card small,.question-card b,.question-card p,.question-card span{display:block}.question-card b{margin:15px 0 8px;font:700 19px var(--serif)}.question-card p{color:#5d5a53;font-size:13px;line-height:1.7}.question-card span{padding-top:10px;border-top:1px solid #d7cdbc;color:var(--red);font-size:12px}
.question-screen,.answer-screen{padding-bottom:42px}.question-screen>h2,.answer-screen>h2{margin:18px 0 8px;font:700 27px var(--serif)}.question-screen>p,.answer-screen>p{font:15px/1.8 var(--serif)}.question-count{margin-top:22px;color:var(--muted);font-size:11px}.question-screen>h3,.answer-screen>h3{margin-top:28px;font:700 17px var(--serif)}.question-screen label{display:block;margin-top:10px}.question-screen label span{display:block;padding:14px 14px 14px 42px;background:#f8f3e8;border:1px solid #d8cdbb;border-radius:8px;font-size:13px;line-height:1.6}.question-screen input{position:absolute;margin:18px}.confirm-answer,.next-question{width:100%;margin-top:28px;padding:14px;background:var(--dark);color:#fff;border-radius:7px}.question-foot{display:block;margin-top:8px;text-align:center;color:var(--muted)}.result{margin:16px 0;padding:11px;border-radius:6px}.wrong{background:#edd8cf;color:#9a3a2f}.correct{color:var(--green)}.answer-screen details{padding:15px 0;border-top:1px solid var(--line)}.answer-screen summary{color:var(--red)}.answer-screen details p{font:14px/1.7 var(--serif)}.related{padding:16px 0;border-bottom:1px solid var(--line)}.related p{color:var(--muted);font-size:13px}.outline-button{width:100%;margin-top:9px;padding:12px;border:1px solid #bfb6a7;border-radius:7px}
.guide{padding:0 22px 70px}.guide article{padding:28px 0}.guide article>small{color:var(--red)}.guide h2{font:700 28px var(--serif)}.guide h3{margin-top:28px;font:700 18px var(--serif)}.guide p{font:14px/1.8 var(--serif)}.guide a{display:block;padding-bottom:15px;border-bottom:1px solid var(--line);color:var(--red);text-decoration:none}.guide blockquote{margin:15px 0;padding:18px;background:#e6dece;font:14px/1.8 var(--serif)}
.phone:has(.full-player.on)>.tabbar,.phone:has(.question-screen.on)>.tabbar,.phone:has(.answer-screen.on)>.tabbar,.phone:has(.guide.on)>.tabbar,.phone:has(#group.on)>.tabbar,.phone:has(#practice-list.on)>.tabbar{display:none}
.practice-actions{grid-template-columns:minmax(0,2fr) minmax(108px,1fr)}
.practice-actions button{height:48px;padding:0 10px;white-space:nowrap}
.switcher button{transition:background-color .16s,color .16s}
.hidden{display:none!important}
/* Video-reference alignment pass */
.screen{padding-top:20px}
.daily-prompt{margin-top:24px;padding:18px;background:#eee7d8;border:1px solid #d9cfbd;border-radius:10px}
.daily-prompt b{font:700 15px var(--serif)}
.daily-prompt p{margin:7px 0 14px;color:var(--muted);font-size:12px}
.daily-prompt button{width:100%;padding:10px;background:#f7f1e6;border-radius:7px;font-size:12px}
.group-hero{border-radius:7px}
.group-hero>button{border-radius:4px}
.question-tabs{margin-top:8px}
button{cursor:pointer}
button:active{transform:translateY(1px)}
.article .player{height:64px;grid-template-columns:30px minmax(0,1fr) 34px 24px;gap:9px;padding:10px 13px 9px;border-radius:16px;overflow:hidden}
.player-copy{min-width:0;text-align:left;color:#fff}
.player-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.player-copy small{margin-top:2px;color:#bcb9b0;font-size:10px}
.player-toggle{height:34px;color:#fff;font-size:20px;line-height:1}
.player-close{height:32px;color:#fff;font-size:17px}
.player-mark{position:relative;width:26px;height:26px;border-radius:50%;background:#fff}
.player-mark:before,.player-mark:after,.player-mark i{content:"";position:absolute;bottom:7px;width:2px;background:#171813;border-radius:2px}
.player-mark:before{left:7px;height:7px}.player-mark i{left:12px;height:12px}.player-mark:after{left:17px;height:9px}
.player-mark.playing:before{animation:voicebar .65s infinite alternate}.player-mark.playing i{animation:voicebar .5s .15s infinite alternate}.player-mark.playing:after{animation:voicebar .7s .25s infinite alternate}
.player-progress{position:absolute;left:13px;right:13px;bottom:0;height:2px;background:#34352f}
.player-progress i{display:block;width:0;height:100%;background:#b94536}
@keyframes voicebar{to{height:15px}}
.reference-mini{left:14px;right:14px;width:auto;height:80px;margin-left:0;grid-template-columns:minmax(0,1fr) 42px 28px;gap:8px;padding:12px 14px 10px;border-radius:15px}
.player-open{min-width:0;height:100%;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;text-align:left}
.article .reference-mini{left:14px;right:14px;width:auto;height:80px;margin-left:0;grid-template-columns:minmax(0,1fr) 42px 28px;gap:8px;padding:12px 14px 10px;border-radius:15px}
.article .reference-mini .player-copy{min-width:0}.article .reference-mini .player-copy b,.article .reference-mini .player-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reference-mini .headphone{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#20211d;border-radius:6px}
.reference-mini .player-copy b{font-size:14px}.reference-mini .player-copy small{font-size:11px}
.reference-mini .player-toggle{position:relative;width:42px;height:42px}.reference-mini .player-toggle i{position:absolute;left:15px;top:11px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:15px solid #fff}.reference-mini .player-toggle.is-playing i{left:12px;top:10px;width:17px;height:22px;border:0;border-left:4px solid #fff;border-right:4px solid #fff}.reference-mini .player-close{font-size:26px;color:#b8b7b1}
.group-mini{bottom:84px}.article-mini{bottom:76px}
.focus-player{position:relative;height:92px;margin:28px 0 24px;padding:20px 76px 18px 40px;background:var(--dark);color:#fff;border-radius:15px}
.focus-copy b{display:flex;align-items:center;gap:12px;font-size:18px}.focus-player small{display:block;color:#c2beb5;font-size:12px}
.focus-meta{margin-top:10px;white-space:nowrap}.focus-meta button{padding:0;color:#c2beb5;font-size:12px}
.focus-play{position:absolute;right:24px;top:23px;width:46px;height:46px;border-radius:50%;background:var(--red)}
.focus-play span{display:block;width:0;height:0;margin-left:18px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #fff}
.headphone-icon{position:relative;width:19px;height:16px;border:2px solid #d76e7b;border-bottom:0;border-radius:12px 12px 0 0}
.headphone-icon:before,.headphone-icon:after{content:"";position:absolute;top:8px;width:4px;height:8px;background:#d76e7b;border-radius:2px}.headphone-icon:before{left:-3px}.headphone-icon:after{right:-3px}
.article-index{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.article-index button{color:var(--red)}
.phone:has(#group.on)>.tabbar{display:grid}
/* Exact focused-listening player from the supplied recording */
.full-player blockquote{position:relative;height:164px;margin:28px 0;display:flex;align-items:center;justify-content:center;border:1px solid #b85848;font:700 23px/1.45 var(--serif);text-align:center}
.full-player blockquote i{position:absolute;padding:0 10px;background:#faf8f1;color:var(--red);font-size:30px}
.full-player blockquote i:first-child{left:18px;top:-21px}.full-player blockquote i:last-child{right:18px;bottom:-21px}
.full-player .times{margin-top:28px;color:var(--ink);font-size:11px}
.full-player .player-controls{margin:32px 0 12px}.full-player .player-controls button{min-width:34px}.full-player .player-controls button small{font-size:14px}
.buffering{text-align:center;color:var(--muted);font-size:11px}
.full-player .player-meta{margin-top:34px;padding:22px 5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.full-player .queue{margin:28px 0 0;padding:16px;background:#eee9df;border-radius:8px}
.full-player .queue p{margin:12px 0 5px;font-size:12px}.full-player .queue small{color:var(--muted);font-size:11px}
.full-player .player-number b{display:inline-block;padding:5px 8px;background:var(--red);color:#fff}
.full-player.on{animation:focusSlideIn .22s ease-out}
@keyframes focusSlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
/* Production H5 shell */
.board-head,.screen-switch{display:none!important}
.stage{padding:0!important;min-height:100vh}
.phone{height:100vh!important;border-radius:0!important;transform:translateZ(0)}
@media(min-width:521px){.phone{box-shadow:0 0 50px rgba(40,36,30,.18)}}
.full-player.on{animation:none!important;transform:none!important}
.activate-screen{padding:0 22px 70px}.activate-card{margin-top:42px;padding:26px 22px;background:#fffaf0;border:1px solid var(--line);border-radius:18px}.activate-card>small{letter-spacing:.22em;color:var(--red)}.activate-card h2{margin:12px 0;font:700 28px/1.35 var(--serif)}.activate-card p{color:var(--muted);font-size:13px;line-height:1.7}.activate-card label{display:block;margin-top:28px;font-size:13px}.activate-card input{width:100%;margin-top:9px;padding:15px;border:1px solid #cfc4b2;border-radius:9px;background:#f7f1e6;font:15px var(--sans);outline:0}.activate-card input:focus{border-color:var(--green)}.activate-card input.invalid{border-color:var(--red)}.activate-submit{width:100%;margin-top:14px;padding:15px;border-radius:9px;background:var(--green);color:#fff;font-weight:700}.activate-submit:disabled{background:#8b9a89}.activate-result{margin-top:16px;padding:14px;background:#e5ebdf;border-radius:9px;color:#40523f}.activate-result b,.activate-result span{display:block}.activate-result span{margin-top:5px;font-size:12px}.activation-help{margin-top:20px;padding:18px;border-top:1px solid var(--line)}.activation-help p{color:var(--muted);font-size:12px;line-height:1.7}.phone:has(.activate-screen.on)>.tabbar{display:none}
.reader-actions [data-favorite].active{color:var(--red)}
.reader-actions [data-learned].active{background:var(--green)}
.chapter-block [data-article-list]>button{width:100%;display:grid;grid-template-columns:34px 1fr 28px;gap:9px;padding:14px 0;text-align:left;border-bottom:1px solid var(--line)}
.chapter-block [data-article-list] i{color:var(--red);font-size:11px}.chapter-block [data-article-list] b,.chapter-block [data-article-list] small{display:block}.chapter-block [data-article-list] b{font:700 15px var(--serif)}.chapter-block [data-article-list] small{margin-top:4px;color:var(--muted);font-size:10px}
/* Data-driven H5 */
.section-title>button{font-size:13px;color:var(--muted)}
.topic-row{width:100%;text-align:left}
.progress i{width:0;transition:width .3s}
.group-progress i{position:relative;overflow:hidden}.group-progress i b{display:block;width:0;height:100%;background:var(--red)}
.group-hero>.shuffle{width:24%;margin-left:4%;background:transparent;color:#ddd6c8;border:1px solid #55554f}
.practice-progress i{overflow:hidden}.practice-progress i b{display:block;float:none;width:0;height:100%;background:var(--red)}
.practice-progress>button{float:right;color:var(--red);font-size:12px}
.focus-copy{display:block;padding:0;text-align:left;color:#fff;width:100%}
.focus-play.is-playing span{width:14px;height:16px;margin-left:16px;border:0;border-left:4px solid #fff;border-right:4px solid #fff}
.article-toc{margin:0;padding:10px 0 10px 22px;border-bottom:1px solid var(--line)}.article-toc button{padding:6px 0;text-align:left;color:var(--ink);font-size:14px}
.answer-input{display:block;width:100%;min-height:140px;margin-top:12px;padding:14px;border:1px solid #d8cdbb;border-radius:8px;background:#f8f3e8;font:15px/1.7 var(--sans);resize:vertical;outline:0}.answer-input:focus{border-color:var(--green)}
.confirm-answer:disabled{opacity:.6}
.related{width:100%;padding:14px;text-align:left;background:#eee7d8;border-radius:8px}.related p{margin:4px 0 0;color:var(--muted);font-size:12px}
.outline-button{width:100%;margin-top:10px;padding:13px;border:1px solid var(--dark);border-radius:7px}
.queue-head{width:100%;display:flex;justify-content:space-between;text-align:left}
.queue-list{margin-top:12px}.queue-list button{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 58px;gap:6px;padding:11px 4px;text-align:left;border-top:1px solid var(--line);font-size:13px}.queue-list button.on{color:var(--red)}.queue-list i{font-style:normal;font-size:11px}.queue-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-list small{text-align:right}
.full-player .times button{font-size:11px;color:var(--ink)}
.recent-list{padding:0 2px 8px}.recent-list button{border-top:0!important;padding:11px 2px!important;font-size:13px}.recent-list b{font-weight:400}
.activate-result.warn{background:#f1ddd5;color:#9a3a2f}
.empty-panel .primary{margin-top:14px}
.h5-toast{position:fixed;z-index:20;left:50%;top:50%;max-width:300px;padding:12px 18px;transform:translate(-50%,-50%);background:rgba(25,26,22,.92);color:#fff;border-radius:10px;font-size:14px;text-align:center}
.phone{display:flex;flex-direction:column;overflow:hidden!important}
.phone>.screen.on{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.phone>.tabbar{flex:0 0 72px;position:relative}
.phone>.screen:not(.activate-screen){padding-top:0}.phone>.screen:not(.activate-screen)>:first-child{margin-top:20px}
.book-cover{position:relative;overflow:hidden;padding:0;background:#d6d2c6}
.book-cover .cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.book-cover span{position:relative;z-index:1;display:flex;min-height:165px;align-items:center;justify-content:center;padding:18px 12px;text-align:center}
.feature-top{display:flex;justify-content:space-between;align-items:flex-start}
.feature-index{font:700 36px var(--serif);color:#c9c4b8;line-height:1}
.feature-meta{display:flex;justify-content:space-between;margin-top:12px;font-size:12px;color:#cbc5b9}
.g-actions{display:flex;gap:8px;margin-top:16px}
.g-actions button{flex:3;padding:12px;background:var(--red);color:#fff;border-radius:6px}
.g-actions .shuffle{flex:1;background:transparent;color:#ddd6c8;border:0}
.group-hero>button{display:none}
.mode-row{display:flex;justify-content:space-between;padding:12px 2px 4px;color:var(--muted);font-size:12px}
.mode-row .on{color:var(--ink)}
.chapter{margin:18px 2px 4px;color:var(--muted);font-size:12px}
.practice-sub{margin:6px 0 0;color:var(--muted);font-size:15px}
.audience{display:flex;gap:8px;margin:16px 0 8px}
.audience button{flex:1;padding:11px 0;border-radius:8px;background:#efe7d6}
.audience button.on{background:var(--dark);color:#fff}
.practice-grid button.on{background:var(--dark);color:#f8f4e9;border-color:var(--dark)}
.practice-grid button.on small,.practice-grid button.on p,.practice-grid button.on em{color:#c4bfb3}
.practice-grid .count-row{display:flex;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:11px}
.practice-grid .count-row i{font-style:normal}
.practice-grid .count-row b{margin:0;font-size:11px;color:var(--red);font-weight:400}
.practice-grid button.on .count-row{border-color:#3a3b36}
.practice-grid button.on .count-row b{color:#cf776e}
.dashed{border:1px dashed #d4cbb8;background:transparent}
.topic-card{width:100%;margin-bottom:10px;padding:16px 14px 12px;text-align:left;background:#f7f2e8;border-radius:12px}
.topic-card .topic-top{display:flex;justify-content:space-between;gap:8px}
.topic-card b{font:700 16px var(--serif)}
.topic-card small{color:var(--muted);font-size:12px}
.topic-card p{margin:6px 0 10px;color:var(--muted);font-size:12px}
.topic-card span{display:block;text-align:right;color:var(--muted);font-size:12px}
.confirm-answer{background:#e8e1d3;color:#6f6b63}
.confirm-answer.busy{background:#f3eee4;color:#9a958c}
.skip-answer{display:block;width:100%;margin-top:10px;padding:8px;color:var(--muted);background:transparent}
.phone:has(#privacy.on)>.tabbar{display:none}
