/* VocaES 第一阶段：只负责全站页头、主导航和响应式骨架。 */
.app-shell-header{
  position:sticky;top:0;z-index:100;
  width:100%;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--bd);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.app-shell-inner{width:min(calc(100% - 40px),1440px);margin:0 auto;}
.app-shell-main.tb{
  position:static;inset:auto;width:100%;height:64px;padding:0;border:0;background:transparent;
  display:grid;grid-template-columns:auto minmax(330px,1fr) auto;
  align-items:center;gap:24px;
}
.app-shell-brand.logo{min-width:0;display:flex;align-items:center;gap:10px;}
.app-shell-brand .logo-mark{width:38px;height:38px;border-radius:10px;font-size:1rem;flex:0 0 auto;}
.app-shell-brand .logo-text{display:flex;flex-direction:row;align-items:baseline;gap:7px;min-width:0;}
.app-shell-brand .logo-name{font-family:var(--sans);font-size:1rem;font-weight:720;white-space:nowrap;letter-spacing:-.02em;}
.app-shell-brand .logo-sub{display:inline;color:var(--mu);font-size:.68rem;white-space:nowrap;}
.app-shell-nav.page-tabs{
  position:static;top:auto;z-index:auto;justify-self:center;
  width:min(100%,520px);height:64px;margin:0;border:0;background:transparent;
  display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));
}
.app-shell-nav .ptab{position:relative;height:64px;padding:0 14px;border:0;background:transparent;color:var(--mu);font-size:.82rem;}
.app-shell-nav .ptab::after{content:"";position:absolute;left:28%;right:28%;bottom:0;height:2px;border-radius:2px;background:transparent;}
.app-shell-nav .ptab.on{color:var(--ink);font-weight:650;}
.app-shell-nav .ptab.on::after{background:var(--rd);}
.app-shell-main .tb-r{display:flex;justify-content:flex-end;padding-right:2px;overflow:visible;}
.app-shell-main .ib{width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid var(--bd);border-radius:10px;background:var(--sur);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;overflow:visible;}
.app-shell-main .ib span{display:block;width:14px;height:1.5px;background:var(--ink);border-radius:1px;}
.app-shell-main .ib span:last-child{width:9px;transform:translateX(-2.5px);}

/* 词库页简洁 Hero：信息集中在左侧，右侧线稿仅作低对比装饰。 */
#pv-vocab{background:#faf7f3;}
.vocab-intro{position:relative;min-height:168px;padding:27px max(64px,calc((100vw - 1312px)/2));display:flex;align-items:center;overflow:hidden;background:#faf7f3;border:0;}
.vocab-intro::after{display:none;}
.vocab-intro-copy{position:relative;z-index:2;}
.vocab-intro h1{margin:0;color:#17345f;font:700 clamp(2.15rem,3.1vw,3.35rem)/1 var(--serif);letter-spacing:.015em;}
.vocab-intro h1 em{color:var(--rd);font-style:normal;}
.vocab-intro-es{margin:8px 0 0;color:#29466f;font:italic 600 clamp(1.05rem,1.5vw,1.45rem)/1.2 Georgia,var(--serif);}
.vocab-intro-meta{display:flex;align-items:center;gap:10px;margin-top:24px;color:#49627e;font-size:.86rem;}
.vocab-intro-meta strong{color:#27476d;font-weight:700;}
.vocab-intro-meta i{font-style:normal;color:#c8d0d9;}
.vocab-intro-art{display:block;position:absolute;z-index:1;right:5%;top:55%;width:min(42vw,570px);height:auto;transform:translateY(-50%);opacity:.68;pointer-events:none;object-fit:contain;}
.vocab-intro+.ctrl{border-top:0;}
.vocab-intro+.ctrl{position:relative;top:auto!important;z-index:1;width:min(calc(100% - 32px),1440px);margin:0 auto;padding:8px 0 5px;border:0;border-radius:0;background:#faf7f3;box-shadow:none;}
.vocab-intro+.ctrl .filter-caps{display:grid;grid-template-columns:repeat(4,max-content);width:max-content;max-width:100%;gap:8px;padding:0;border:0;background:transparent;overflow:visible;}
.vocab-intro+.ctrl .cap-wrap{min-width:0;}
.vocab-intro+.ctrl .cap{width:auto;min-width:104px;min-height:38px;padding:7px 11px;border:1px solid #c9c1b9;border-radius:9px;background:#fff;font-weight:600;box-shadow:0 1px 2px rgba(52,42,34,.035);}
.vocab-intro+.ctrl .filter-row{align-items:flex-start;}
.vocab-intro+.ctrl .alpha-row{margin-top:10px;}
.vocab-intro+.ctrl .ctrl-primary-row{grid-template-columns:minmax(280px,900px) auto;justify-content:start;}
.vocab-intro~.main{width:min(calc(100% - 32px),1440px);max-width:1440px!important;padding:7px 0 80px;background:transparent;}
.vocab-intro+.ctrl .search-wrap,.vocab-intro+.ctrl .view-switch{border-color:#c9c1b9;background:#fff;}
.vocab-intro+.ctrl .alpha-btn{border-color:#c9c1b9;}
.view-switch button{width:42px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;}
.view-switch button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* 桌面端不显示客户端式底栏；移动端强制三等分。 */
@media(min-width:768px){.bottom-nav{display:none!important;}}

@media(max-width:1050px){
  .app-shell-inner{width:min(calc(100% - 28px),960px);}
  .app-shell-main.tb{grid-template-columns:auto minmax(280px,1fr) auto;gap:16px;}
  .vocab-intro{min-height:146px;padding:23px 36px;}
  .vocab-intro-copy{max-width:58%;}
  .vocab-intro-art{right:2.5%;top:56%;width:43vw;opacity:.56;}
  .vocab-intro+.ctrl,.vocab-intro~.main{width:calc(100% - 24px);}
}

@media(max-width:767px){
  .app-shell-header{position:sticky;}
  .app-shell-inner{width:100%;}
  .app-shell-main.tb{height:52px!important;min-height:52px!important;padding:0 14px!important;display:flex;justify-content:space-between;gap:10px;}
  .app-shell-brand .logo-mark{width:32px;height:32px;border-radius:9px;}
  .app-shell-brand .logo-name{font-size:.94rem;}
  .app-shell-nav.page-tabs{display:none!important;}
  .app-shell-main .ib{width:34px;height:34px;}
  .vocab-intro{min-height:112px;padding:13px 24px 11px;align-items:center;}
  .vocab-intro-copy{max-width:64%;}
  .vocab-intro h1{font-size:1.58rem;}
  .vocab-intro-es{margin-top:5px;font-size:.88rem;}
  .vocab-intro-meta{margin-top:11px;gap:6px;font-size:.64rem;white-space:nowrap;}
  .vocab-intro-art{right:1%;top:57%;width:42vw;opacity:.4;}
  .vocab-intro+.ctrl{top:auto;margin-top:0;padding:6px 10px 5px;border-radius:12px;}
  .vocab-intro+.ctrl .filter-caps{display:flex;flex-wrap:nowrap;width:max-content!important;max-width:100%;gap:6px;overflow-x:auto;scrollbar-width:none;}
  .vocab-intro+.ctrl .filter-caps::-webkit-scrollbar{display:none;}
  .vocab-intro+.ctrl .cap-wrap{flex:0 0 auto;min-width:0;}
  .vocab-intro+.ctrl .cap{min-width:78px;min-height:34px;padding:6px 8px;border:1.25px solid #a9a098;font-size:.64rem;}
  .vocab-intro+.ctrl .search-wrap,.vocab-intro+.ctrl .view-switch,.vocab-intro+.ctrl .alpha-btn{border-color:#a9a098;}
  .vocab-intro+.ctrl .filter-row{width:100%;}
  .vocab-intro+.ctrl .view-switch button{width:34px;}
  .vocab-intro~.main{padding-top:5px;}
  .bottom-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
  .bottom-nav .nav-item{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;}
}

@media(max-width:380px){
  .vocab-intro{min-height:106px;padding:12px 18px 10px;}
  .vocab-intro-copy{max-width:69%;}
  .vocab-intro h1{font-size:1.46rem;}
  .vocab-intro-art{right:0;top:57%;width:43vw;opacity:.34;}
  .vocab-intro-meta{font-size:.6rem;}
}

body.dark .app-shell-header{background:rgba(35,33,31,.96);border-bottom-color:var(--bd);}

/* 练习首页：推荐负责快速开始，三张模式卡负责精确配置。 */
.wl.view-compact .wc.familiar-known,
.wl.view-compact .wc.familiar-fuzzy,
.wl.view-compact .wc.familiar-unknown,
.wl.view-compact .wc.familiar-unset{background:var(--sur)!important;}
#pv-practice{background:var(--bg);min-height:calc(100vh - 64px);overflow-y:auto;}
.practice-home-inner{width:min(calc(100% - 40px),1180px);margin:0 auto;padding:28px 0 90px;}
.practice-recommend{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;border:1px solid #eadfda;border-radius:16px;background:linear-gradient(110deg,#fff8f6,#fff);}
.practice-recommend.is-new{background:linear-gradient(110deg,#f7fbff,#fff);}
.practice-recommend-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--rd);font-size:1.5rem;box-shadow:0 4px 14px rgba(60,45,38,.08);}
.practice-recommend strong{display:block;font-size:1.02rem;color:var(--ink);}
.practice-recommend p{margin:4px 0 0;color:var(--mu);font-size:.82rem;}
.practice-recommend button{min-height:44px;padding:0 22px;border:0;border-radius:12px;background:var(--rd);color:#fff;font-weight:700;cursor:pointer;}
.practice-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:14px;margin-top:18px;}
.practice-mode-card{min-height:190px;padding:22px;text-align:left;border:1px solid var(--bd);border-radius:16px;background:var(--sur);color:var(--ink);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.practice-mode-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(50,42,36,.08);border-color:#cfc5be;}
.practice-mode-card>span,.practice-history-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;}
.practice-mode-card svg,.practice-history-icon svg,.practice-history-empty svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.practice-mode-card.mode-flashcard>span,.practice-history-icon.mode-flashcard{color:#137f79;background:#e8f7f5;}
.practice-mode-card.mode-quiz>span,.practice-history-icon.mode-quiz{color:#326ec0;background:#edf4ff;}
.practice-mode-card.mode-conjugation>span,.practice-history-icon.mode-conjugation{color:#7056bf;background:#f2efff;}
.practice-mode-card>strong{display:block;margin-top:16px;font-size:1.12rem;}
.practice-mode-card>p{min-height:42px;margin:8px 0;color:var(--ink);font-size:.83rem;line-height:1.6;}
.practice-mode-card>small{display:block;margin-top:18px;color:var(--mu);font-size:.76rem;}
.practice-history{margin-top:28px;}
.practice-history header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.practice-history h3{margin:0;font-size:1rem;}
.practice-history header button{border:0;background:none;color:var(--mu);cursor:pointer;}
.practice-history-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;margin-top:8px;border:1px solid var(--bd);border-radius:13px;background:var(--sur);text-align:left;cursor:pointer;}
.practice-history-icon{width:40px;height:40px;}
.practice-history-icon svg{width:20px;height:20px;}
.practice-history-copy strong,.practice-history-copy small{display:block;}
.practice-history-copy strong{font-size:.82rem;}.practice-history-copy small{margin-top:3px;color:var(--mu);font-size:.72rem;}
.practice-history-row>b{color:#327a5d;font-size:.78rem;}.practice-history-row>i{color:var(--mu);font-style:normal;font-size:1.4rem;}
.practice-history-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mu);}
.practice-history-empty span{color:#8292a2;}.practice-history-empty strong{margin-top:14px;color:var(--ink);}.practice-history-empty p{margin:6px 0;font-size:.78rem;}
.practice-history-empty-card{border:1px solid var(--bd);border-radius:16px;background:var(--sur);box-shadow:0 8px 24px rgba(45,38,33,.035);}
.practice-mode-head{width:min(calc(100% - 40px),1100px);margin:18px auto 0;display:flex;align-items:center;gap:14px;}
.practice-mode-head[hidden]{display:none!important;}
.practice-mode-head button{border:1px solid var(--bd);border-radius:9px;background:var(--sur);padding:8px 12px;color:var(--ink);cursor:pointer;}
.practice-mode-head strong{font-size:1rem;}
.practice-mode-head .practice-settings-trigger{margin-left:auto;padding:8px 15px;background:#f3f6fb;border-color:#dbe3ef;color:#38577a;font-weight:650;}
.practice-settings-wide{width:min(calc(100% - 40px),1100px)!important;max-width:1100px!important;margin:16px auto 70px!important;}
.practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:12px;}

@media(max-width:767px){
  .practice-home-inner{width:calc(100% - 24px);padding:14px 0 88px;}
  .practice-recommend{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px;}
  .practice-recommend-icon{width:36px;height:36px;}
  .practice-recommend button{grid-column:1/-1;width:100%;}
  .practice-mode-grid{display:flex;overflow-x:auto;gap:10px;padding:2px 1px 8px;scroll-snap-type:x mandatory;}
  .practice-mode-card{flex:0 0 min(76vw,260px);min-height:178px;padding:18px;scroll-snap-align:start;}
  .practice-mode-head{width:calc(100% - 24px);margin-top:12px;}
  #fcWrap,#quizWrap{overflow-x:visible!important;}
  .practice-settings-wide{min-width:0!important;width:calc(100% - 24px)!important;margin:12px auto 80px!important;padding:18px 16px!important;}
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:1fr;gap:9px;}
  .practice-settings-wide .ps-row,.practice-settings-wide .qs-row,.practice-settings-wide .fc-row{display:flex;flex-wrap:wrap;gap:7px;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{min-height:38px;}
  .practice-history-row{grid-template-columns:auto minmax(0,1fr) auto;}.practice-history-row>b{display:none;}
}

/* 练习主页、练习内容、设置页互斥显示，停用旧版子页横向滑轨。 */
#pv-practice .prac-panels-outer{overflow:visible!important;width:100%!important;}
#pv-practice .prac-panels-track{display:block!important;width:100%!important;transform:none!important;transition:none!important;}
#pv-practice .prac-panel{display:none!important;width:100%!important;}
#pv-practice .prac-panel.on{display:block!important;}
.practice-mode-card{min-height:220px;padding:26px;}
.practice-mode-card>span{width:48px;height:48px;border-radius:14px;}
.practice-mode-card svg{width:25px;height:25px;stroke-width:1.65;}
.practice-history-empty{min-height:260px;}
.qs-person-row{flex-wrap:wrap!important;gap:8px!important;}

@media(min-width:1200px){
  .practice-home-inner{width:min(calc(100% - 64px),1380px);}
  .practice-mode-card{min-height:240px;padding:30px;}
  .practice-mode-card>strong{font-size:1.2rem;}
  .practice-mode-card>p{font-size:.88rem;}
  .practice-settings-wide{width:min(calc(100% - 64px),980px)!important;max-width:980px!important;padding:28px 32px!important;}
}

@media(min-width:768px) and (max-width:1024px){
  .practice-home-inner{width:calc(100% - 32px);}
  .practice-mode-card{min-height:205px;padding:20px;}
  .practice-settings-wide{width:calc(100% - 32px)!important;}
}

/* 练习页第二轮：入口卡片不横滑，设置密度统一，选中态降低红色面积。 */
.practice-home-inner{width:min(calc(100% - 48px),1360px);padding-top:24px;}
.practice-recommend-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.practice-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:visible;}
.practice-mode-card{min-height:184px;padding:22px 24px;overflow:hidden;}
.practice-mode-card>strong{margin-top:14px;}
.practice-mode-card>p{min-height:auto;margin:7px 0;}
.practice-mode-card>small{margin-top:20px;}
.practice-history{margin-top:30px;}
.practice-history-empty-card{overflow:hidden;}
.practice-history-empty{min-height:230px;background:linear-gradient(180deg,#fff 0%,#fcfdfc 100%);}
.practice-history-empty span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#f2f6f2;color:#47715a;}
.practice-history-empty span svg{width:30px;height:30px;}
.practice-settings-wide{width:min(calc(100% - 64px),1180px)!important;max-width:1180px!important;padding:28px 34px!important;}
.practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:132px minmax(0,1fr);align-items:center;margin:0;padding:15px 0;gap:18px;}
.practice-settings-wide .ps-sec-label,.practice-settings-wide .qs-sec-label,.practice-settings-wide .fc-sec-label{margin:0;font-size:.72rem;font-weight:650;}
.practice-settings-wide .ps-row,.practice-settings-wide .qs-row,.practice-settings-wide .fc-row{gap:8px;align-items:center;}
.practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{min-height:36px;padding:7px 14px;border-radius:9px;background:#fff;border-color:#ded8d3;color:#6f6a66;}
.practice-settings-wide .qbtn:hover,.practice-settings-wide .fcbtn:hover,.practice-settings-wide .psbtn:hover{border-color:#d6a29d;background:#fffafa;color:var(--rd);}
.practice-settings-wide .qbtn.on,.practice-settings-wide .fcbtn.on,.practice-settings-wide .psbtn.on{background:#fff1ef!important;border-color:#df8e87!important;color:#bd352c!important;box-shadow:inset 0 0 0 1px rgba(189,53,44,.05);}
.practice-settings-wide .ps-textbook-main.on{background:#fff1ef!important;color:#bd352c!important;}
.practice-settings-wide .start-fc-btn,.practice-settings-wide .start-quiz-btn{max-width:320px;margin-left:auto;}

@media(min-width:1440px){
  .practice-home-inner{width:min(calc(100% - 96px),1480px);}
  .practice-mode-card{min-height:196px;padding:26px 30px;}
  .practice-settings-wide{width:min(calc(100% - 96px),1280px)!important;max-width:1280px!important;}
}

@media(max-width:767px){
  .practice-home-inner{width:calc(100% - 28px);padding:16px 0 92px;}
  .practice-recommend{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:15px;border-radius:15px;}
  .practice-recommend-icon{width:38px;height:38px;}
  .practice-recommend-icon svg{width:22px;height:22px;}
  .practice-recommend button{grid-column:1/-1;min-height:42px;margin-top:2px;}
  .practice-mode-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;padding:0;overflow:visible;scroll-snap-type:none;}
  .practice-mode-card{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;align-items:center;width:100%;min-height:0;padding:16px 17px;scroll-snap-align:none;}
  .practice-mode-card>span{grid-row:1/4;width:46px;height:46px;}
  .practice-mode-card>strong{grid-column:2;margin:0;font-size:1rem;}
  .practice-mode-card>p{grid-column:2;margin:4px 0 0;font-size:.78rem;line-height:1.45;}
  .practice-mode-card>small{grid-column:2;margin:7px 0 0;font-size:.7rem;}
  .practice-history{margin-top:22px;}
  .practice-history-empty{min-height:210px;padding:24px 12px;}
  .practice-mode-head{width:calc(100% - 28px);}
  .practice-settings-wide{width:calc(100% - 28px)!important;margin:12px auto 88px!important;padding:18px 16px!important;border-radius:15px!important;}
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:8px;padding:13px 0;}
  .practice-settings-wide .ps-sec-label,.practice-settings-wide .qs-sec-label,.practice-settings-wide .fc-sec-label{padding-top:9px;font-size:.7rem;}
  .practice-settings-wide .ps-row,.practice-settings-wide .qs-row,.practice-settings-wide .fc-row{display:flex;flex-wrap:wrap;gap:6px;min-width:0;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{min-height:34px;padding:6px 10px;border-radius:8px;font-size:.68rem;}
  .practice-settings-wide .ps-textbook-picker{gap:6px;min-width:0;}
  .practice-settings-wide .ps-textbook-status{width:100%;order:5;padding-left:0;font-size:.62rem;}
  .practice-settings-wide .ps-filter-toggle{margin-left:0;}
  .practice-settings-wide .start-fc-btn,.practice-settings-wide .start-quiz-btn{max-width:none;}
  .qs-person-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));}
  .qs-person-row .qbtn{white-space:normal;line-height:1.3;}
}

@media(max-width:390px){
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:78px minmax(0,1fr);gap:6px;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{padding-inline:8px;}
}

/* 练习工作区最终收口：设置、刷题、闪卡分别按内容确定宽度。 */
#pv-practice .practice-mode-head{
  width:min(calc(100% - 40px),1080px)!important;
}
#pv-practice .practice-settings-wide{
  width:min(calc(100% - 40px),1040px)!important;
  max-width:1040px!important;
  margin:12px auto 86px!important;
  padding:20px 24px!important;
}
#pv-practice .quiz-card:not(.fc-quiz-card){
  width:min(calc(100% - 40px),980px)!important;
  max-width:980px!important;
  margin:14px auto 86px!important;
  border-radius:18px!important;
}

/* 闪卡使用独立的竖向卡堆，不继承普通做题卡的横向比例。 */
#pv-practice .fc-quiz-card{
  width:min(calc(100% - 32px),560px)!important;
  max-width:560px!important;
  margin:12px auto 86px!important;
  padding:0 16px 18px!important;
}
#pv-practice .fc-quiz-card .qc-prog{
  display:grid!important;
  grid-template-columns:auto minmax(120px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  width:min(100%,470px)!important;
  margin:0 auto!important;
  padding:0 0 14px!important;
}
#pv-practice .fc-quiz-card .qc-ct{grid-column:1!important;grid-row:1!important;}
#pv-practice .fc-quiz-card .qc-pb{grid-column:2!important;grid-row:1!important;}
#pv-practice .fc-quiz-card .qc-pct{grid-column:3!important;grid-row:1!important;color:#4c6691;font-size:.78rem;font-weight:650;}
#pv-practice .fc-card-area{
  width:min(100%,460px)!important;
  min-height:492px!important;
  padding:18px 0 8px!important;
}
#pv-practice .fc-card-area::before,
#pv-practice .fc-card-area::after{
  width:84%!important;
  height:442px!important;
  border-radius:20px!important;
  transform:translateX(-50%)!important;
}
#pv-practice .fc-card-area::before{top:5px!important;}
#pv-practice .fc-card-area::after{top:12px!important;}
#pv-practice .fc-card-flip{
  width:min(86%,396px)!important;
  height:446px!important;
  min-height:446px!important;
  margin:8px auto 0!important;
  border-radius:20px!important;
  will-change:transform,opacity;
}
#pv-practice .fc-card-front,
#pv-practice .fc-card-back{border-radius:20px!important;}
#pv-practice .fc-card-front .fc-word{font-size:clamp(2.8rem,5vw,4rem)!important;}
#pv-practice .fc-actions-fixed{
  width:auto!important;
  max-width:360px!important;
  margin:8px auto 0!important;
  padding:7px!important;
  display:flex!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid rgba(219,224,228,.82)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 8px 24px rgba(47,55,65,.08)!important;
  backdrop-filter:blur(14px)!important;
}
#pv-practice .fc-actions-fixed button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:88px!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:11px!important;
  font-size:.78rem!important;
}
@keyframes fcQuickFlyRight{to{transform:translate3d(135%,8px,0) rotate(9deg);opacity:0;}}
@keyframes fcQuickFlyLeft{to{transform:translate3d(-135%,8px,0) rotate(-9deg);opacity:0;}}
@keyframes fcQuickFlyUp{to{transform:translate3d(0,-80%,0) scale(.96);opacity:0;}}
#pv-practice .fc-card-flip.fc-fly-right{animation:fcQuickFlyRight .2s ease-in forwards!important;transition:none!important;pointer-events:none;}
#pv-practice .fc-card-flip.fc-fly-left{animation:fcQuickFlyLeft .2s ease-in forwards!important;transition:none!important;pointer-events:none;}
#pv-practice .fc-card-flip.fc-fly-up{animation:fcQuickFlyUp .2s ease-in forwards!important;transition:none!important;pointer-events:none;}

@media(min-width:768px) and (max-width:1100px){
  #pv-practice .practice-settings-wide{width:min(calc(100% - 32px),960px)!important;max-width:960px!important;}
  #pv-practice .quiz-card:not(.fc-quiz-card){width:min(calc(100% - 32px),900px)!important;max-width:900px!important;}
}

@media(max-width:767px){
  #pv-practice .practice-mode-head{width:calc(100% - 20px)!important;}
  #pv-practice .practice-settings-wide{
    width:calc(100% - 20px)!important;
    padding:11px 12px!important;
  }
  #pv-practice .quiz-card:not(.fc-quiz-card){
    width:calc(100% - 20px)!important;
    margin:8px auto 82px!important;
  }
  #pv-practice .fc-quiz-card{width:calc(100% - 16px)!important;padding:0 6px 14px!important;}
  #pv-practice .fc-quiz-card .qc-prog{width:min(100%,390px)!important;padding-bottom:10px!important;}
  #pv-practice .fc-card-area{width:min(100%,390px)!important;min-height:416px!important;padding-top:13px!important;}
  #pv-practice .fc-card-area::before,
  #pv-practice .fc-card-area::after{height:370px!important;}
  #pv-practice .fc-card-flip{
    width:min(88%,330px)!important;
    height:374px!important;
    min-height:374px!important;
  }
  #pv-practice .fc-card-front{padding:22px!important;}
  #pv-practice .fc-card-front .fc-word{font-size:clamp(2.45rem,12vw,3.35rem)!important;}
  #pv-practice .fc-actions-fixed{max-width:326px!important;margin-top:4px!important;gap:5px!important;padding:6px!important;}
  #pv-practice .fc-actions-fixed button{min-width:82px!important;min-height:40px!important;padding:8px 11px!important;font-size:.74rem!important;}
}

@media(max-width:390px){
  #pv-practice .fc-card-area{min-height:390px!important;}
  #pv-practice .fc-card-area::before,
  #pv-practice .fc-card-area::after{height:344px!important;}
  #pv-practice .fc-card-flip{width:min(90%,306px)!important;height:348px!important;min-height:348px!important;}
  #pv-practice .fc-actions-fixed button{min-width:76px!important;padding-inline:9px!important;}
}

/* Dark mode and compact progress lock — shared by formal and modular pages. */
#pv-practice .practice-mode-head .practice-settings-trigger,
body.dark #pv-practice .practice-mode-head .practice-settings-trigger{
  background:#fff!important;border:1px solid #e6e8eb!important;color:#27313d!important;
}
body.dark #pv-practice .quiz-card.fc-quiz-card{
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;
}
body.dark #pv-practice .practice-history-empty-card,
body.dark #pv-practice .practice-history-empty{
  background:#24272c!important;border-color:#414750!important;color:#b9c4d2!important;
}
body.dark #pv-practice .practice-history-empty strong{color:#e6e8ec!important;}
body.dark #pv-practice .practice-history-empty span{background:#2f3834!important;color:#93c7ae!important;}
body.dark #pv-vocab,
body.dark #pv-vocab .vocab-intro,
body.dark #pv-vocab .vocab-intro+.ctrl,
body.dark #pv-vocab .vocab-intro~.main{background:var(--bg)!important;}
body.dark #pv-vocab .vocab-intro h1{color:#dce5f2!important;}
body.dark #pv-vocab .vocab-intro h1 em{color:#f08b7e!important;}
body.dark #pv-vocab .vocab-intro-es,
body.dark #pv-vocab .vocab-intro-meta,
body.dark #pv-vocab .vocab-intro-meta strong{color:#b9c4d2!important;}
body.dark #pv-vocab .vocab-intro-art{opacity:.28!important;filter:brightness(.82) saturate(.72);}
body.dark #pv-vocab .vocab-intro+.ctrl .search-wrap,
body.dark #pv-vocab .vocab-intro+.ctrl .view-switch,
body.dark #pv-vocab .vocab-intro+.ctrl .cap,
body.dark #pv-vocab .vocab-intro+.ctrl .alpha-btn{
  background:#24272c!important;border-color:#414750!important;color:#e0e5ec!important;
}
body.dark #pv-vocab .vocab-intro+.ctrl .cap.active,
body.dark #pv-vocab .vocab-intro+.ctrl .cap.on,
body.dark #pv-vocab .vocab-intro+.ctrl .cap.selected,
body.dark #pv-vocab .vocab-intro+.ctrl .alpha-btn.active,
body.dark #pv-vocab .vocab-intro+.ctrl .view-switch button.active{
  background:#51342d!important;color:#f4bca8!important;border:0!important;
}

/* 练习设置第三轮：解除旧容器限宽，每个设置项保持横向且紧凑。 */
#pv-practice .prac-panel.on .fc-wrap,
#pv-practice .prac-panel.on .quiz-wrap{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
#pv-practice .practice-mode-head{width:min(calc(100% - 48px),1380px);}
.practice-mode-head .practice-settings-trigger{display:inline-flex;align-items:center;gap:7px;}
.practice-mode-head .practice-settings-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.practice-settings-wide{
  width:min(calc(100% - 48px),1380px)!important;max-width:1380px!important;
  padding:22px 28px!important;
}
.practice-settings-wide .ps-sec,
.practice-settings-wide .qs-section,
.practice-settings-wide .fc-sec{
  grid-template-columns:108px minmax(0,1fr);gap:14px;padding:11px 0;
}
.practice-settings-wide .ps-row,
.practice-settings-wide .qs-row,
.practice-settings-wide .fc-row,
.practice-settings-wide .ps-textbook-picker{
  display:flex;align-items:center;flex-wrap:nowrap!important;gap:7px;min-width:0;
  overflow-x:auto;scrollbar-width:none;
}
.practice-settings-wide .ps-row::-webkit-scrollbar,
.practice-settings-wide .qs-row::-webkit-scrollbar,
.practice-settings-wide .fc-row::-webkit-scrollbar,
.practice-settings-wide .ps-textbook-picker::-webkit-scrollbar{display:none;}
.practice-settings-wide .qbtn,
.practice-settings-wide .fcbtn,
.practice-settings-wide .psbtn{flex:0 0 auto;white-space:nowrap;min-height:34px;padding:6px 12px;}
.practice-settings-wide .ps-textbook-status{flex:0 0 auto;width:auto!important;order:initial!important;white-space:nowrap;}
.practice-settings-wide .ps-filter-toggle{flex:0 0 auto;margin-left:auto!important;white-space:nowrap;}
.practice-settings-wide .qs-person-row{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;}
.practice-settings-wide .start-fc-btn,
.practice-settings-wide .start-quiz-btn{max-width:360px;margin-left:auto;}

/* 闪卡练习：独立学习舞台，设置入口放在标题栏。 */
#pv-practice .fc-quiz-card{
  width:min(calc(100% - 48px),760px)!important;max-width:760px!important;
  margin:14px auto 86px!important;padding:0 24px 24px!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
#pv-practice .fc-quiz-card .qc-prog{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:10px;padding:0 0 18px!important;border:0!important;background:transparent!important;
}
#pv-practice .fc-quiz-card .qc-exit-btn,
#pv-practice .fc-quiz-card .qc-prev-btn,
#pv-practice .fc-quiz-card .qc-sc{display:none!important;}
#pv-practice .fc-quiz-card .qc-pb{grid-column:1;height:8px;border-radius:999px;background:#eaf0fa;overflow:hidden;}
#pv-practice .fc-quiz-card .qc-pf{height:100%;border-radius:inherit;background:linear-gradient(90deg,#70b6f2,#93c9f4);}
#pv-practice .fc-quiz-card .qc-ct{grid-column:2;color:#4c6691;font-size:.82rem;font-weight:650;}
#pv-practice .fc-card-area{position:relative;width:min(100%,520px);min-height:470px;margin:0 auto;padding:16px 0;overflow:visible!important;}
#pv-practice .fc-card-area::before,
#pv-practice .fc-card-area::after{content:"";position:absolute;left:50%;width:88%;height:78%;border:1px solid #dbe8f8;border-radius:18px;background:#fff;transform:translateX(-50%);box-shadow:0 10px 26px rgba(55,96,145,.06);}
#pv-practice .fc-card-area::before{top:5px;transform:translateX(-50%) rotate(2deg);}
#pv-practice .fc-card-area::after{top:13px;transform:translateX(-50%) rotate(-2deg);}
#pv-practice .fc-card-flip{z-index:2;width:92%!important;height:420px!important;margin:8px auto 0!important;border:1px solid #cfe0f4!important;border-radius:18px!important;background:#fff!important;box-shadow:0 16px 36px rgba(55,96,145,.1)!important;}
#pv-practice .fc-card-front,#pv-practice .fc-card-back{border-radius:18px!important;background:#fff!important;}
#pv-practice .fc-card-front{display:flex!important;flex-direction:column;align-items:center;justify-content:center;padding:34px!important;}
#pv-practice .fc-card-front .fc-word{color:#d33b31!important;font-size:clamp(3rem,7vw,4.5rem)!important;line-height:1!important;text-align:center;}
#pv-practice .fc-card-front .fc-phonetic{margin-top:18px!important;color:#7182a0!important;font-size:1.05rem!important;}
#pv-practice .fc-card-front .fc-tags{margin-top:18px!important;justify-content:center!important;}
#pv-practice .fc-card-front .fc-hint{position:absolute!important;left:0;right:0;bottom:30px;margin:0!important;text-align:center;color:#7889a5!important;}
#pv-practice .fc-actions-fixed{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:3;width:100%!important;margin:18px auto 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;}
#pv-practice .fc-actions-fixed button{min-height:62px!important;border:0!important;border-radius:12px!important;font-size:.92rem!important;font-weight:700!important;box-shadow:none!important;}
#pv-practice .fc-act-wrong{background:#fff0f0!important;color:#cf342d!important;}
#pv-practice .fc-act-fuzzy{background:#fff6dc!important;color:#9a6507!important;}
#pv-practice .fc-act-know{background:#e8faf3!important;color:#147d5c!important;}

@media(min-width:768px) and (max-width:1100px){
  .practice-settings-wide{width:calc(100% - 32px)!important;padding:20px 22px!important;}
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:92px minmax(0,1fr);gap:10px;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{padding-inline:10px;font-size:.68rem;}
}

@media(max-width:767px){
  #pv-practice .practice-mode-head{width:calc(100% - 24px);margin-top:10px;gap:9px;}
  .practice-mode-head>strong{font-size:1.08rem;}
  .practice-mode-head .practice-settings-trigger{padding:8px 10px;}
  .practice-settings-wide{width:calc(100% - 20px)!important;margin:10px auto 82px!important;padding:12px 13px!important;}
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:74px minmax(0,1fr);gap:7px;padding:8px 0;align-items:center;}
  .practice-settings-wide .ps-sec-label,.practice-settings-wide .qs-sec-label,.practice-settings-wide .fc-sec-label{padding:0!important;font-size:.66rem;white-space:nowrap;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{min-height:31px;padding:5px 9px;border-radius:8px;font-size:.64rem;}
  .practice-settings-wide .ps-textbook-main{max-width:142px;overflow:hidden;text-overflow:ellipsis;}
  .practice-settings-wide .ps-textbook-status{display:none;}
  .practice-settings-wide .ps-filter-toggle{margin-left:0!important;}
  .practice-settings-wide .start-fc-btn,.practice-settings-wide .start-quiz-btn{max-width:none;min-height:46px;}
  #pv-practice .fc-quiz-card{width:calc(100% - 20px)!important;margin:8px auto 82px!important;padding:0 8px 18px!important;}
  #pv-practice .fc-quiz-card .qc-prog{padding-bottom:10px!important;}
  #pv-practice .fc-card-area{width:100%;min-height:390px;padding-top:10px;}
  #pv-practice .fc-card-flip{width:90%!important;height:350px!important;}
  #pv-practice .fc-card-front{padding:24px!important;}
  #pv-practice .fc-card-front .fc-word{font-size:3.25rem!important;}
  #pv-practice .fc-card-front .fc-hint{bottom:24px;}
  #pv-practice .fc-actions-fixed{gap:8px;margin-top:10px!important;}
  #pv-practice .fc-actions-fixed button{min-height:54px!important;font-size:.82rem!important;}
}

@media(max-width:390px){
  .practice-settings-wide .ps-sec,.practice-settings-wide .qs-section,.practice-settings-wide .fc-sec{grid-template-columns:66px minmax(0,1fr);gap:5px;}
  .practice-settings-wide .qbtn,.practice-settings-wide .fcbtn,.practice-settings-wide .psbtn{padding-inline:8px;}
  #pv-practice .fc-card-flip{height:326px!important;}
  #pv-practice .fc-card-area{min-height:362px;}
}

/* v15 cascade lock — keep these last. */
#pv-practice .practice-mode-head{width:min(calc(100% - 40px),1080px)!important;}
#pv-practice .practice-settings-wide{width:min(calc(100% - 40px),1040px)!important;max-width:1040px!important;margin:12px auto 86px!important;padding:20px 24px!important;}
#pv-practice .quiz-card:not(.fc-quiz-card){width:min(calc(100% - 40px),980px)!important;max-width:980px!important;margin:14px auto 86px!important;border-radius:18px!important;}
#pv-practice .fc-quiz-card{width:min(calc(100% - 32px),560px)!important;max-width:560px!important;margin:12px auto 86px!important;padding:0 16px 18px!important;}
#pv-practice .fc-quiz-card .qc-prog{display:grid!important;grid-template-columns:auto minmax(120px,1fr) auto!important;gap:10px!important;width:min(100%,470px)!important;margin:0 auto!important;padding:0 0 14px!important;border:0!important;background:transparent!important;}
#pv-practice .fc-quiz-card .qc-ct{grid-column:1!important;grid-row:1!important;}
#pv-practice .fc-quiz-card .qc-pb{grid-column:2!important;grid-row:1!important;}
#pv-practice .fc-quiz-card .qc-pct{grid-column:3!important;grid-row:1!important;color:#4c6691;font-size:.78rem;font-weight:650;}
#pv-practice .fc-card-area{width:min(100%,460px)!important;min-height:492px!important;padding:18px 0 8px!important;}
#pv-practice .fc-card-area::before,#pv-practice .fc-card-area::after{width:84%!important;height:442px!important;border-radius:20px!important;transform:translateX(-50%)!important;}
#pv-practice .fc-card-area::before{top:5px!important;} #pv-practice .fc-card-area::after{top:12px!important;}
#pv-practice .fc-card-flip{width:min(86%,396px)!important;height:446px!important;min-height:446px!important;margin:8px auto 0!important;border-radius:20px!important;will-change:transform,opacity;}
#pv-practice .fc-card-front,#pv-practice .fc-card-back{border-radius:20px!important;}
#pv-practice .fc-actions-fixed{width:auto!important;max-width:360px!important;margin:8px auto 0!important;padding:7px!important;display:flex!important;justify-content:center!important;gap:7px!important;border:1px solid rgba(219,224,228,.82)!important;border-radius:16px!important;background:rgba(255,255,255,.78)!important;box-shadow:0 8px 24px rgba(47,55,65,.08)!important;backdrop-filter:blur(14px)!important;}
#pv-practice .fc-actions-fixed button{flex:0 0 auto!important;width:auto!important;min-width:88px!important;min-height:42px!important;padding:9px 14px!important;border-radius:11px!important;font-size:.78rem!important;}
@media(max-width:767px){
  #pv-practice .practice-mode-head{width:calc(100% - 20px)!important;}
  #pv-practice .practice-settings-wide,#pv-practice .quiz-card:not(.fc-quiz-card){width:calc(100% - 20px)!important;max-width:none!important;}
  #pv-practice .practice-settings-wide{padding:11px 12px!important;}
  #pv-practice .fc-quiz-card{width:calc(100% - 16px)!important;padding:0 6px 14px!important;}
  #pv-practice .fc-quiz-card .qc-prog{width:min(100%,390px)!important;padding-bottom:10px!important;}
  #pv-practice .fc-card-area{width:min(100%,390px)!important;min-height:416px!important;padding-top:13px!important;}
  #pv-practice .fc-card-area::before,#pv-practice .fc-card-area::after{height:370px!important;}
  #pv-practice .fc-card-flip{width:min(88%,330px)!important;height:374px!important;min-height:374px!important;}
  #pv-practice .fc-actions-fixed{max-width:326px!important;margin-top:4px!important;gap:5px!important;padding:6px!important;}
  #pv-practice .fc-actions-fixed button{min-width:82px!important;min-height:40px!important;padding:8px 11px!important;font-size:.74rem!important;}
}
@media(max-width:390px){
  #pv-practice .fc-card-area{min-height:390px!important;}
  #pv-practice .fc-card-area::before,#pv-practice .fc-card-area::after{height:344px!important;}
  #pv-practice .fc-card-flip{width:min(90%,306px)!important;height:348px!important;min-height:348px!important;}
  #pv-practice .fc-actions-fixed button{min-width:76px!important;padding-inline:9px!important;}
}
