:root{--bg:#f4f6f0;--card:#fffefb;--ink:#24342a;--text:var(--ink);--text-2:#68756c;--text-3:#9ca69e;--line:#e4e9df;--accent:#5f946d;--accent-deep:#356847;--accent-soft:#e8f1e8;--warm:#f7efd9;--danger:#c85854;--shadow:0 16px 42px rgba(51,73,57,.09);--radius:24px;--topbar-h:78px;--tabbar-h:62px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at 85% 4%,#e2eddf 0,transparent 26rem),var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input{font:inherit}.app{min-height:100dvh;max-width:1440px;margin:auto;padding:16px}
/* Navigation */
.tabbar{background:rgba(255,254,251,.88);border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);backdrop-filter:blur(14px);border-radius:24px;z-index:10}.tab{border:0;color:var(--text-3);background:transparent;cursor:pointer;transition:.2s}.tab .tab-ico{font-size:20px;line-height:1;font-weight:400}.tab.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(53,104,71,.2)}.tab:not(.active):hover{color:var(--accent-deep);background:var(--accent-soft)}
/* Header */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px}.topbar-left{display:flex;align-items:baseline;gap:14px}.book-name{font-size:23px;letter-spacing:-.5px;font-weight:800}.book-name:before{content:"学习中";display:inline-block;margin-right:10px;padding:3px 8px;vertical-align:3px;border-radius:99px;background:var(--accent-soft);color:var(--accent-deep);font-size:10px;font-weight:800;letter-spacing:.8px}.today-progress{color:var(--text-2);font-size:13px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;color:var(--accent-deep);background:rgba(255,254,251,.76);cursor:pointer;transition:.2s}@media(hover:hover){.icon-btn:hover{transform:rotate(20deg);background:#fff}}
/* Content and word cards */
.content{position:relative;min-height:0;overflow:hidden}.view{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd6cb transparent}.cards-stage{position:relative;height:100%;min-height:560px}.word-card{position:absolute;inset:0;overflow-y:auto;display:flex;flex-direction:column;padding:clamp(28px,4vw,56px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:transform .28s cubic-bezier(.2,.8,.3,1),opacity .28s;touch-action:pan-y}.word-card:after{content:"";position:absolute;right:-88px;top:-88px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#e2efdf 0 2px,transparent 3px);background-size:15px 15px;opacity:.72;pointer-events:none}.card-progress{position:relative;z-index:1;width:min(100%,860px);height:5px;overflow:hidden;margin-bottom:clamp(32px,5vw,56px);border-radius:99px;background:#edf0eb}.card-progress .bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#9bc89b);transition:width .2s}.word-row{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;max-width:860px}.word-card .word{margin:0;font-size:clamp(46px,6.2vw,78px);line-height:1.04;letter-spacing:-2.5px;font-weight:800;word-break:break-word}.word-card .phon{position:relative;z-index:1;margin:12px 0 28px;color:var(--text-2);font-size:14px;letter-spacing:.2px}.word-card .phon span{display:inline-block;margin-right:16px;padding:4px 9px;border-radius:8px;background:#f6f7f3}.defer-toggle{display:inline-flex;align-items:center;flex:none;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:rgba(255,254,251,.7);font-size:12px}.defer-toggle input{accent-color:var(--accent)}
.word-card>.legacy-sense-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,860px)}.sense{min-height:62px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;cursor:pointer;user-select:none;background:#fff;transition:.18s}.sense:hover{border-color:#bdd5bf;transform:translateY(-1px)}.sense.selected{padding:12px 14px;border-color:#a8c8ab;background:var(--accent-soft);box-shadow:0 0 0 2px rgba(95,148,109,.08)}.sense.selected .cn,.sense.selected .en{color:var(--text-3);text-decoration:line-through}.sense.struck{opacity:.62;background:#fbfbf9}.sense.struck .cn,.sense.struck .en{color:var(--text-3);text-decoration:line-through}.sense .head{display:flex;align-items:flex-start;gap:8px}.sense .pos{min-width:25px;margin-top:1px;color:var(--accent-deep);font-size:12px;font-style:italic;font-weight:700}.sense .cn{flex:1;color:var(--ink);font-size:16px;font-weight:650;line-height:1.45}.sense .en{display:none}.cefr{display:inline-block;flex:none;padding:4px 7px;border-radius:7px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.35px;line-height:1}.cefr.A1{background:#62af76}.cefr.A2{background:#47a58c}.cefr.B1{background:#dfaf39;color:#644b00}.cefr.B2{background:#dd8742}.cefr.C1{background:#d96b61}.cefr.C2{background:#9a75bc}.cefr.NA{background:#b4bcb5}
.examples{position:relative;z-index:1;width:min(100%,860px);margin-top:24px;padding:18px 20px;border:1px solid #edf0e9;border-radius:16px;background:#fafbf8}.ex-title{margin-bottom:8px;color:var(--accent-deep);font-size:11px;font-weight:800;letter-spacing:1px}.ex-item{padding:6px 0;color:var(--text-2);font-size:14px}.ex-item+.ex-item{border-top:1px dashed #e1e6df}.ex-item .en{color:var(--ink)}.ex-item .cn{margin-top:2px;color:var(--text-2);font-size:13px}.ex-item.real{border-left:3px solid #b9d6b8;padding-left:10px}.ex-item .src{margin-top:3px;color:var(--text-3);font-size:11px}.card-hint{margin-top:auto;padding-top:25px;color:var(--text-3);font-size:12px;text-align:center}.card-confirm{width:min(100%,860px);margin-top:12px}.card-confirm button{width:100%;padding:12px;border:1px solid #bdd5bf;border-radius:12px;color:var(--accent-deep);background:var(--accent-soft);font-weight:800;cursor:pointer}.card-actions{display:flex;gap:10px;width:min(100%,860px);margin-top:13px}.card-actions button{flex:1;min-height:48px;border:0;border-radius:14px;font-size:15px;font-weight:750;cursor:pointer;transition:transform .18s,box-shadow .18s}.card-actions button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(36,52,42,.12)}.btn-know{background:var(--accent);color:#fff}.btn-fuzzy{background:var(--warm);color:#8b6722}.btn-dunno{background:#f9e7e3;color:#ad4d48}.btn-cut{background:var(--accent-soft);color:var(--accent-deep)}.btn-prev{background:#f0f2ed;color:#68756c}.btn-prev:disabled{opacity:.42;cursor:not-allowed}
/* Review */
.review-toolbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;padding:5px 0 14px;background:var(--bg)}.mask-group{display:flex;flex-wrap:wrap;gap:8px}.mask-btn,.mini-btn{border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--text-2);background:#fffefb;font-size:13px;font-weight:700;cursor:pointer}.mask-btn.active{border-color:var(--accent);color:#fff;background:var(--accent)}.review-list{padding:4px 0 30px}.review-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.review-date-slot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:var(--card);box-shadow:0 6px 18px rgba(51,73,57,.04);cursor:pointer}.review-date-slot.today{border-color:var(--accent);background:var(--accent-soft)}.review-date-slot strong{color:var(--accent-deep);font-size:24px;line-height:1.1}.review-date-slot small,.review-date-label{color:var(--text-3);font-size:11px}.review-header{display:flex;align-items:center;gap:12px;padding:3px 0 12px}.review-day-title{color:var(--ink);font-size:18px;font-weight:800}.review-row{display:flex;align-items:stretch;overflow:hidden;margin-bottom:8px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.review-cell{flex:1;min-height:54px;padding:12px 15px;cursor:pointer}.review-cell.word{border-right:1px solid var(--line);font-size:17px;font-weight:750}.review-cell.meaning{color:var(--text-2);font-size:14px}.review-row.red{border-color:#efd1cd}.review-row.red .review-cell.word{color:var(--danger)}.review-row .sense-line{color:var(--text-2);font-size:13px}.review-row .sense-line .pos{margin-right:4px;color:var(--accent-deep);font-weight:700;font-style:italic}.review-row .sense-line.struck{color:var(--text-3);text-decoration:line-through}.review-cell.word .phon2{margin-top:2px;color:var(--text-3);font-size:12px;font-weight:500}.review-row .done-btns{display:flex;flex-direction:column;border-left:1px solid var(--line)}.review-row .done-btns button{min-width:58px;flex:1;border:0;background:transparent;cursor:pointer;font-size:12px}.review-row .done-btns .ok{color:var(--accent-deep);font-weight:800}.review-row .done-btns .no{color:var(--danger);font-weight:800}.masked{position:relative;border-radius:7px;color:transparent!important;background:#e7ebe5!important}.masked *{visibility:hidden}.masked:after{content:"· · ·";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9ca69e;font-size:15px;visibility:visible}
/* Settings */
.settings{max-width:900px;padding:4px 0 30px}.setting-group{margin-bottom:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.setting-title{margin-bottom:12px;color:var(--accent-deep);font-size:12px;font-weight:800;letter-spacing:.8px}.setting-row{display:flex;align-items:center;gap:12px}.setting-row input[type=range]{flex:1;accent-color:var(--accent)}.setting-value{min-width:34px;font-weight:800;text-align:right}.text-input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:15px}.setting-hint{margin-top:8px;color:var(--text-3);font-size:12px}.segment-group{display:flex;gap:8px}.segment{display:flex;flex:1;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text-2);background:#fff;font-size:14px;font-weight:700}.segment input{accent-color:var(--accent)}.segment.active{border-color:#bcd6bf;color:var(--accent-deep);background:var(--accent-soft)}.big-btn{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#fff;font-size:15px;font-weight:700;cursor:pointer}.big-btn.danger{border-color:#efd1cd;color:var(--danger)}.book-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.book-item{padding:13px;border:1px solid var(--line);border-radius:13px;cursor:pointer}.book-item.active{border-color:var(--accent);background:var(--accent-soft)}.book-item .b-name{font-size:15px;font-weight:800}.book-item .b-count{margin-top:3px;color:var(--text-3);font-size:12px}.book-item .b-kind{color:var(--accent-deep);font-size:11px;font-weight:800}.known-list{max-height:420px;margin-top:10px;overflow-y:auto}.known-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line)}.known-item:last-child{border-bottom:0}.known-main{min-width:0}.known-word{font-size:15px;font-weight:800}.known-cn{overflow:hidden;color:var(--text-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.known-remove{flex:none;padding:5px 11px;border:1px solid #efd1cd;border-radius:9px;color:var(--danger);background:#fff;font-size:12px;font-weight:700;cursor:pointer}.known-empty,.empty{padding:60px 20px;color:var(--text-3);text-align:center;font-size:15px}.toast{position:fixed;z-index:99;bottom:28px;left:50%;max-width:80%;padding:10px 18px;border-radius:20px;color:#fff;background:rgba(36,52,42,.85);font-size:14px;text-align:center;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .25s}.toast.show{opacity:1}
@media(min-width:760px){.app{display:grid;grid-template-columns:196px minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);gap:0 18px}.tabbar{grid-row:1/3;grid-column:1;display:flex;flex-direction:column;align-items:stretch;padding:14px 10px}.tab{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;text-align:left;font-size:14px}.topbar{grid-column:2;grid-row:1}.content{grid-column:2;grid-row:2}.review-list{max-width:1080px}.review-row .review-cell.word{flex:0 0 30%}.settings{padding-top:4px}}
@media(max-width:759px){.app{display:flex;flex-direction:column;padding:0}.topbar{height:var(--topbar-h);padding:env(safe-area-inset-top) 18px 0}.topbar-left{display:block}.book-name{font-size:18px}.book-name:before{display:none}.today-progress{margin-top:1px}.content{flex:1}.word-card{inset:7px 12px;padding:25px 20px;border-radius:21px}.word-card .word{font-size:47px}.word-card .phon{margin-bottom:20px}.word-card>.legacy-sense-grid{grid-template-columns:1fr}.sense{min-height:54px}.examples{margin-top:16px}.tabbar{display:flex;height:var(--tabbar-h);padding-bottom:env(safe-area-inset-bottom);border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -5px 18px rgba(51,73,57,.05)}.tab{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.tab.active{background:transparent;color:var(--accent);box-shadow:none}.review-toolbar,.review-list,.settings{padding-left:16px;padding-right:16px}.review-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.book-picker{grid-template-columns:1fr 1fr}}
@media(max-width:410px){.card-actions{gap:6px}.card-actions button{font-size:13px}.word-card .word{font-size:42px}.review-row .done-btns button{min-width:50px}}

/* Explicit class keeps the meaning grid stable if card content changes later. */
.senses{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,860px)}
.sense .cn,.ex-item .en,.ex-item .cn{overflow-wrap:anywhere}
.word-card{overflow-x:hidden}
@media(max-width:759px){.senses{grid-template-columns:1fr}}

/* 卡片进度始终浮在背景装饰之上：新学按今日目标，快速刷按本轮队列。 */
.card-progress-wrap{position:relative;z-index:2;display:flex;align-items:center;gap:10px;width:min(100%,860px);margin-bottom:clamp(32px,5vw,56px)}
.card-progress-wrap .card-progress{flex:1;width:auto;height:7px;margin:0;background:#dfeade}.card-progress-text{flex:none;color:var(--text-3);font-size:11px;font-weight:750;white-space:nowrap}

/* 顶部轻量导航：横屏时以小图标切换模式，状态文字紧贴进度条。 */
@media(min-width:760px){
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:54px 48px minmax(0,1fr);gap:0}
  .topbar{grid-column:1;grid-row:1;padding:0 4px}.topbar-left{display:flex;align-items:center;gap:10px}.book-name{font-size:15px;letter-spacing:0}.book-name:before{margin-right:7px;padding:2px 6px;vertical-align:1px;font-size:9px}.today-progress{font-size:11px;color:var(--text-3)}.icon-btn{width:36px;height:36px;border-radius:12px}
  .tabbar{grid-column:1;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;padding:0 4px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .tab{display:flex;align-items:center;justify-content:center;width:35px;height:35px;padding:0;border:1px solid transparent;border-radius:11px}.tab .tab-ico{font-size:18px}.tab span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tab.active{box-shadow:none}.content{grid-column:1;grid-row:3}.card-progress-wrap{flex-direction:column;align-items:stretch;gap:7px;margin-bottom:24px}.card-progress-wrap .card-progress{width:100%}.card-progress-text{order:-1;align-self:flex-start;font-size:11px;color:var(--text-2)}
}

/* 真题词频：颜色只代表重要程度，不再把 CEFR 难度误当作考试频率。 */
.word-freq{display:inline-flex;align-items:center;margin-top:11px;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.1px}.word-freq.top{background:#fce8d6;color:#a94c18}.word-freq.high{background:#f8f0d5;color:#876311}.word-freq.normal{background:#e8f1e8;color:#356847}.word-freq.low{background:#edf0ed;color:#69746b}.word-freq.none{background:#f2f3f1;color:#9ca69e}.word-freq.editorial{background:#e8eff7;color:#386783}.card-tools{position:relative;z-index:1;display:flex;justify-content:flex-end}.sense-freq{display:inline-flex;flex:none;align-items:center;margin-top:1px;padding:3px 6px;border-radius:6px;font-size:10px;line-height:1.2;font-style:normal;font-weight:800;white-space:nowrap}.sense-freq.exact{background:#e8f1e8;color:#356847}.sense-freq.partial{background:#f8f0d5;color:#876311}.sense-freq.pending{background:#f0f2ee;color:#8b958d}.review-cell.word .word-freq{margin-top:5px;margin-bottom:2px;font-size:10px}.review-row .sense-freq{margin-right:5px;vertical-align:1px}

/* 每个词义只展示学习参考：CEFR 难度 + 复习优先级。 */
.sense-guide{display:inline-flex;flex:none;align-items:center;gap:4px;margin-right:7px;vertical-align:1px;white-space:nowrap}.sense-guide .cefr{min-width:28px;padding:4px 6px;text-align:center}.sense-priority{display:inline-flex;align-items:center;padding:3px 7px;border-radius:7px;font-size:10px;line-height:1.2;font-weight:800}.sense-priority.core{color:#a84628;background:#f9dfd2}.sense-priority.focus{color:#8b641c;background:#f7eccb}.sense-priority.normal{color:#356847;background:#e5efe2}.sense-priority.light{color:#748078;background:#edf0ed}.sense-priority.editorial{color:#386783;background:#e8eff7}.review-row .sense-guide{margin-right:6px}.review-row .sense-guide .cefr,.review-row .sense-priority{font-size:9px}

/* 复习页：柔和自测工具栏与三段式熟悉度 */
.review-toolbar[hidden]{display:none!important}
.review-toolbar{position:relative;top:auto;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 18px;padding:14px 16px;border:1px solid rgba(215,222,213,.72);border-radius:20px;background:rgba(255,255,255,.68);box-shadow:0 12px 34px rgba(58,78,64,.06);backdrop-filter:blur(18px)}
.review-tools-copy{display:flex;flex-direction:column;gap:3px;min-width:150px}.review-tools-copy strong{color:var(--ink);font-size:15px}.review-tools-copy small{color:var(--text-3);font-size:11px}.mask-group{justify-content:flex-end}.mask-btn{padding:8px 14px;border-color:transparent;border-radius:999px;background:rgba(241,244,239,.9);font-size:12px}.mask-btn:hover{color:var(--accent-deep);background:#eaf1e6}.mask-btn.active{box-shadow:0 5px 13px rgba(103,144,72,.18)}
.review-row{position:relative;min-height:86px;margin-bottom:11px;border-color:rgba(215,222,213,.82);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(57,77,63,.045);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}
.review-row.review-unfamiliar{border:2px solid #e85e59;background:linear-gradient(100deg,rgba(255,238,236,.98),rgba(255,248,246,.9));box-shadow:0 10px 28px rgba(220,70,64,.16)}
.review-row.review-unfamiliar .review-cell.word>div:first-child{color:#c83e39}.review-row.review-familiar{border-color:#cfe1c4;background:rgba(246,251,243,.8)}.review-row.review-uncertain{border:2px solid rgba(135,145,138,.48);background:linear-gradient(100deg,rgba(246,247,245,.9),rgba(255,255,255,.76));box-shadow:inset 0 0 0 1px rgba(122,132,125,.08),0 8px 24px rgba(70,79,72,.06)}
.review-row .done-btns{flex:0 0 112px;justify-content:center;gap:5px;padding:8px 9px;border-left:1px solid rgba(215,222,213,.82)}.review-row .done-btns small{color:var(--text-3);font-size:10px;text-align:center;white-space:nowrap}.review-row.review-unfamiliar .done-btns small{color:#c83e39;font-weight:800}.review-row.review-familiar .done-btns small{color:var(--accent-deep);font-weight:800}.review-row.review-uncertain .done-btns small{color:#6f7872;font-weight:800}
.review-row .done-btns button{min-width:0;flex:none;height:25px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:#f2f4f1;font-size:10px;font-weight:800}.review-row .done-btns .unfamiliar{color:#c84a45}.review-row .done-btns .uncertain{color:#68726b}.review-row .done-btns .familiar{color:var(--accent-deep)}.review-row .done-btns .unfamiliar:hover,.review-row .done-btns .unfamiliar.active{border-color:#df5c56;color:#fff;background:#df5c56}.review-row .done-btns .uncertain:hover,.review-row .done-btns .uncertain.active{border-color:#858f88;color:#fff;background:#858f88}.review-row .done-btns .familiar:hover,.review-row .done-btns .familiar.active{border-color:var(--accent);color:#fff;background:var(--accent)}.review-row.review-uncertain .done-btns .unfamiliar:not(.active){border-color:rgba(216,103,96,.25);background:rgba(248,226,223,.72)}.review-row.review-uncertain .done-btns .familiar:not(.active){border-color:rgba(101,151,82,.25);background:rgba(226,239,219,.76)}
@media(max-width:759px){.review-toolbar{align-items:flex-start;margin-left:16px;margin-right:16px}.mask-group{justify-content:flex-start}.review-row .done-btns{flex-basis:92px}.review-tools-copy{width:100%}}

/* 月份复习日历：底色可透出的毛玻璃面板。 */
.calendar-glass{position:relative;max-width:1080px;margin:8px auto 34px;padding:24px 28px 20px;overflow:hidden;border:1px solid rgba(255,255,255,.68);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.48),rgba(244,249,242,.28));box-shadow:0 24px 70px rgba(69,88,73,.09),inset 0 1px rgba(255,255,255,.72);backdrop-filter:blur(24px) saturate(125%)}
.calendar-glass:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0,rgba(189,219,232,.24),transparent 34%),radial-gradient(circle at 96% 8%,rgba(246,207,219,.2),transparent 32%);pointer-events:none}.calendar-glass>*{position:relative}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.calendar-heading>div:first-child{display:flex;flex-direction:column;gap:3px}.calendar-heading span{color:var(--accent-deep);font-size:12px;font-weight:850;letter-spacing:1px}.calendar-heading strong{color:var(--ink);font-size:18px}.month-nav{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.44);box-shadow:0 8px 24px rgba(63,82,68,.05)}.month-nav button,.picker-year button{border:0;cursor:pointer}.month-step{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;color:var(--text-2);background:rgba(238,243,236,.8);font-size:21px}.month-step:hover{color:#fff;background:var(--accent)}.month-current{min-width:150px;padding:6px 12px;color:var(--ink);background:transparent;font-size:14px;font-weight:800}.month-current i{margin-left:7px;color:var(--accent);font-style:normal}
.month-picker{display:none;margin:-5px 0 19px;padding:14px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:rgba(255,255,255,.55);box-shadow:0 14px 34px rgba(67,86,71,.07);animation:calendarReveal .2s ease}.month-picker.open{display:block}.picker-year{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:11px}.picker-year strong{font-size:15px}.picker-year button{width:28px;height:28px;border-radius:50%;color:var(--accent-deep);background:var(--accent-soft)}.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.month-choice{padding:8px;border:0;border-radius:10px;color:var(--text-2);background:rgba(242,245,240,.7);font-size:12px;font-weight:750;cursor:pointer}.month-choice:hover,.month-choice.active{color:#fff;background:var(--accent)}
.calendar-week,.review-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week{margin-bottom:7px}.calendar-week span{color:var(--text-3);font-size:11px;font-weight:750;text-align:center}.review-date-slot{position:relative;min-height:72px;padding:8px;border:1px solid transparent;border-radius:15px;color:var(--text-2);background:rgba(255,255,255,.27);box-shadow:none;transition:.18s}.review-date-slot:hover{border-color:rgba(126,164,111,.38);background:rgba(255,255,255,.62);transform:translateY(-2px)}.review-date-slot.today{border-color:rgba(95,148,109,.7);background:rgba(232,241,232,.72)}.review-date-slot.has-review{background:rgba(255,255,255,.7);box-shadow:0 7px 18px rgba(62,80,66,.055)}.review-date-slot .review-date-label{color:var(--text-2);font-size:12px;font-weight:750}.review-date-slot.today .review-date-label{color:var(--accent-deep)}.review-date-slot strong{margin-top:2px;color:#e36f3a;font-size:20px}.review-date-slot small{color:#af704f;font-size:9px}.review-date-slot i{width:3px;height:3px;margin-top:8px;border-radius:50%;background:rgba(120,134,123,.28)}.calendar-blank{min-height:72px}.calendar-summary{display:flex;justify-content:flex-end;gap:22px;margin-top:14px;color:var(--text-3);font-size:11px}.calendar-summary b{color:var(--accent-deep);font-size:15px}.review-empty{display:flex;flex-direction:column;gap:5px;margin-top:8px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(255,255,255,.45);backdrop-filter:blur(18px)}.review-empty strong{color:var(--ink);font-size:18px}.review-empty span{font-size:12px}@keyframes calendarReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(max-width:759px){.calendar-glass{margin:7px 12px 28px;padding:18px 13px;border-radius:22px}.calendar-heading{align-items:flex-start;flex-direction:column}.month-nav{align-self:stretch;justify-content:space-between}.month-current{flex:1}.month-grid{grid-template-columns:repeat(4,1fr)}.calendar-week,.review-calendar{gap:4px}.review-date-slot,.calendar-blank{min-height:58px}.review-date-slot{padding:5px}.calendar-summary{justify-content:center}.calendar-heading strong{font-size:16px}}

/* 参考无痛单词的横屏沉浸布局：柔光背景、悬浮导航、无框释义。 */
body{background:
  radial-gradient(circle at 12% 20%,rgba(185,215,235,.65),transparent 34%),
  radial-gradient(circle at 88% 15%,rgba(244,211,218,.62),transparent 30%),
  radial-gradient(circle at 58% 92%,rgba(220,232,195,.65),transparent 36%),
  linear-gradient(135deg,#edf4f0,#f8f5ed 50%,#eef1ea);background-attachment:fixed}
.word-card{border:0;background:rgba(255,255,255,.52);box-shadow:0 20px 70px rgba(78,94,81,.07);backdrop-filter:blur(22px)}
.word-card:after{display:none}.senses{grid-template-columns:1fr;gap:0}.sense{min-height:0;padding:7px 4px;border:0;border-radius:8px;background:transparent}.sense:hover{border:0;background:rgba(255,255,255,.32);transform:none}.sense.selected{padding:7px 9px;border:0;background:rgba(153,190,126,.16);box-shadow:none}.sense.struck{background:transparent}.sense .head{align-items:center}.sense .cn{font-size:16px;font-weight:560}.examples{border:0;border-top:1px solid rgba(78,105,80,.14);border-bottom:1px solid rgba(78,105,80,.14);border-radius:0;background:transparent}.card-side-actions{position:absolute;z-index:4;right:30px;top:44%;display:flex;flex-direction:column;gap:12px}.side-action{display:grid;place-items:center;width:47px;height:47px;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#3e4d42;background:rgba(255,255,255,.68);box-shadow:0 8px 24px rgba(58,75,61,.09);font-size:25px;cursor:pointer}.side-action.active{color:#f5a623;background:rgba(255,252,232,.9)}

/* 统计页 */
.stats-page{max-width:1280px;margin:0 auto;padding:16px 20px 40px}.stats-title{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:0 0 18px}.stats-title strong{color:var(--accent-deep);font-size:21px}.stats-title span{color:var(--text-3);font-size:12px}.stats-grid{display:grid;grid-template-columns:1fr .9fr 2fr;gap:16px}.stat-card{min-width:0;padding:20px;border:0;border-radius:20px;color:var(--ink);background:rgba(255,255,255,.76);box-shadow:0 10px 34px rgba(63,80,66,.07);text-align:left}.stat-card h3{display:flex;justify-content:space-between;margin:0 0 18px;font-size:17px}.stat-card small{color:var(--text-3)}.vocabulary-card{display:flex;flex-direction:column;cursor:pointer}.vocabulary-card>b{margin:auto 0;color:#ef7027;font-size:25px}.progress-card{display:flex;flex-direction:column}.progress-card>b{margin:auto;color:#65a33f;font-size:48px}.progress-card b em{font-size:18px;font-style:normal}.distribution-card{grid-column:3}.distribution-chart{display:flex;align-items:end;gap:14px;height:120px}.dist-item{display:flex;flex:1;flex-direction:column;justify-content:flex-end;height:100%;text-align:center}.dist-item span{order:3;margin-top:6px;color:var(--text-2);font-size:11px}.dist-item strong{font-size:12px}.dist-item i{display:block;min-height:7px;border-radius:9px 9px 3px 3px;background:#69a72f}.dist-item.d1 i{background:#a9c979}.dist-item.d2 i{background:#f1bd2b}.dist-item.d3 i{background:#f06e24}.dist-item.d4 i{background:#d8d9d7}.today-card{grid-column:1/3}.today-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.today-metrics span{padding:8px 12px;border-radius:10px;background:rgba(225,235,215,.52);color:var(--text-2)}.today-metrics span:nth-child(3n+2){background:rgba(248,236,188,.48)}.today-metrics span:nth-child(3n){background:rgba(224,232,246,.58)}.today-metrics b{float:right;color:var(--ink)}.streak-card{grid-column:3}.streak-card p{color:var(--text-2)}.streak-week{display:flex;justify-content:space-between;margin-top:18px}.streak-day{display:flex;flex-direction:column;align-items:center;gap:8px}.streak-day i{display:grid;place-items:center;width:31px;height:31px;border:2px solid #ddd;border-radius:50%;color:#c9cbc8;font-style:normal}.streak-day.done i{border-color:#90b966;color:#fff;background:#90b966}.schedule-card{grid-column:1/3}.trends-card{grid-column:3}.chart-legend{display:flex;align-items:center;gap:5px;color:var(--text-3);font-size:11px}.chart-legend i{width:8px;height:8px;margin-left:8px;border-radius:50%}.orange,.unknown{background:#ef6b24}.gray{background:#dfe1dd}.darkgreen,.familiar{background:#4e861e}.lightgreen,.known{background:#9bbe69}.yellow,.fuzzy{background:#f3bc26}.schedule-chart,.trends-chart{display:flex;align-items:end;gap:7px;height:210px;margin-top:15px;border-bottom:1px solid #e7e9e5}.chart-col,.trend-col{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.bar-pair{display:flex;align-items:end;gap:2px;width:100%;height:175px}.bar-pair i{flex:1;min-height:1px;border-radius:4px 4px 0 0}.bar-pair .actual{background:#78aa46}.bar-pair .planned{background:#e1e3df}.chart-col small,.trend-col small{height:22px;color:var(--text-3);font-size:9px}.trend-stack{display:flex;width:50%;height:175px;flex-direction:column-reverse;justify-content:flex-start}.trend-stack i{display:block;min-height:0}

/* 图三式设置页 */
.settings-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:34px;max-width:1280px;margin:0 auto;padding:18px 24px 42px}.settings-aside{display:flex;flex-direction:column;gap:18px}.profile-card,.settings-menu,.setting-group{border:0;background:rgba(255,255,255,.82);box-shadow:0 8px 26px rgba(65,83,69,.06)}.profile-card{overflow:hidden;border-radius:20px}.profile-art{position:relative;display:grid;place-items:center;height:145px;background:linear-gradient(135deg,#ffe3a2,#ff9eb9)}.profile-art span{color:#fff;font:800 54px/1 Georgia,serif;text-shadow:0 5px 18px rgba(140,68,70,.2)}.profile-art i{position:absolute;right:50px;top:25px;color:#fff;font-size:28px}.profile-copy{display:flex;flex-direction:column;padding:18px}.profile-copy strong{font-size:17px}.profile-copy small{color:var(--text-3)}.settings-menu{overflow:hidden;border-radius:18px}.settings-menu-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;min-height:54px;padding:0 18px;border-bottom:1px solid #eceeea}.settings-menu-row:last-child{border-bottom:0}.settings-menu-row b{font-weight:600}.settings-menu-row em{color:var(--text-3);font-style:normal}.settings-menu-row.active{color:var(--accent-deep)}.settings-main>h2{margin:4px 0 20px;text-align:center;font-size:19px}.settings-main .setting-group{padding:20px;border-radius:18px}.setting-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.data-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.data-actions .big-btn{margin:0}

@media(min-width:760px){
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:76px minmax(0,1fr);padding:0 28px 18px}.topbar{grid-row:1;grid-column:1;padding:0 4px;z-index:2}.topbar-left{max-width:34%;}.topbar .icon-btn{display:none}.tabbar{grid-row:1;grid-column:1;align-self:center;justify-self:center;width:auto;height:52px;padding:6px 9px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:rgba(255,255,255,.66);box-shadow:0 10px 30px rgba(80,90,83,.12);backdrop-filter:blur(18px)}.tab{width:41px;height:40px;border-radius:14px}.tab.active{color:#6f9d37;background:rgba(211,229,188,.68)}.content{grid-row:2;grid-column:1}.word-card{inset:0 34px}.word-row{justify-content:center;width:min(100%,900px);max-width:900px;margin:0 auto;text-align:center}.word-card .phon{width:min(100%,900px);margin:12px auto 24px;text-align:center}.card-tools{position:absolute;right:68px}.senses,.examples,.card-actions,.card-confirm,.card-progress-wrap{width:min(100%,900px);margin-left:auto;margin-right:auto}.word-card .word{font-size:54px;letter-spacing:-1px}.card-progress-wrap{margin-bottom:28px}.sense-freq{min-width:76px;justify-content:center}.card-actions{margin-top:14px}.review-list{max-width:1100px;margin:auto}
}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.distribution-card,.streak-card,.trends-card{grid-column:auto}.today-card,.schedule-card{grid-column:1/3}.settings-layout{grid-template-columns:260px 1fr;gap:18px}.setting-split{grid-template-columns:1fr}.data-actions{grid-template-columns:1fr}}
@media(max-width:759px){body{background:#f2f5ef}.stats-page{padding:16px}.stats-grid{grid-template-columns:1fr}.stat-card,.distribution-card,.today-card,.streak-card,.schedule-card,.trends-card{grid-column:1}.settings-layout{display:block;padding:16px}.settings-aside{margin-bottom:18px}.settings-menu{display:none}.profile-art{height:100px}.setting-split{grid-template-columns:1fr}.card-side-actions{right:18px;top:38%}.side-action{width:42px;height:42px}.word-card .word{font-size:45px}.senses{grid-template-columns:1fr}.sense{padding:7px 0}.sense .head{gap:5px}.sense-freq{font-size:9px}.today-metrics{grid-template-columns:1fr}.schedule-chart,.trends-chart{height:160px}}

/* 修正旧版 nth-of-type 规则对新增侧边按钮的误匹配，并保证进度条有真实高度。 */
.card-side-actions{position:absolute!important;left:auto!important;right:30px!important;width:auto!important;display:flex!important}.card-progress-wrap .card-progress{flex:none!important;height:7px!important}.card-progress .bar{min-height:7px}.tab{outline:none}.tab:focus-visible{box-shadow:0 0 0 2px rgba(111,157,55,.28)}
@media(max-width:759px){.card-side-actions{right:18px!important}}

/* 固定释义区域：整张词卡不再滑动切词，多出的词义只在这里滚动。 */
.sense-panel{position:relative;z-index:2;width:min(100%,900px);margin:0 auto 12px;padding:10px 14px 8px;border-top:1px solid rgba(72,101,77,.12);border-bottom:1px solid rgba(72,101,77,.12);background:rgba(255,255,255,.16)}
.sense-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;color:var(--accent-deep);font-size:11px;font-weight:800;letter-spacing:.5px}.sense-panel-head small{color:var(--text-3);font-size:10px;font-weight:500;letter-spacing:0}.sense-panel .senses{width:100%;max-height:132px;overflow-x:hidden;overflow-y:auto;padding-right:8px;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(98,139,95,.42) transparent}.sense-panel .senses::-webkit-scrollbar{width:5px}.sense-panel .senses::-webkit-scrollbar-thumb{border-radius:9px;background:rgba(98,139,95,.42)}
@media(min-width:760px){.word-card{padding:32px 54px;overflow:hidden;touch-action:auto}.card-progress-wrap{margin-bottom:18px}.word-card .phon{margin-bottom:14px}.examples{flex:0 1 170px;max-height:170px;margin-top:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.card-hint{padding-top:8px}.card-actions{flex:none}.sense-panel{flex:none}.sense-panel .senses{max-height:132px}}
@media(max-width:759px){.word-card{touch-action:auto}.sense-panel{padding-left:7px;padding-right:7px}.sense-panel .senses{max-height:155px}.examples{max-height:190px;overflow-y:auto;overscroll-behavior:contain}}

/* 单一口音：音标与发音按钮合并成一个轻量控件。 */
.single-pronunciation{display:flex;align-items:center;justify-content:center;gap:7px}.word-card .phon.single-pronunciation span{margin:0}.pronounce-inline,.review-pronounce{display:inline-grid;place-items:center;border:0;border-radius:50%;color:#5f963f;background:rgba(226,239,215,.9);cursor:pointer;transition:.18s}.pronounce-inline{width:30px;height:30px;font-size:18px}.pronounce-inline:hover,.review-pronounce:hover{color:#fff;background:#6b9d47;transform:scale(1.06)}.review-pronounce{width:22px;height:22px;margin-right:6px;font-size:13px;vertical-align:-1px}.review-row .phon2{display:flex;align-items:center}

/* 发音驱动的设置页：分层毛玻璃卡片 + 小型胶囊选择器。 */
.settings-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:28px;max-width:1260px;padding-top:4px}.settings-aside,.settings-main{width:100%}.settings-main{min-width:0;padding-bottom:30px}.settings-cover,.settings-index,.setting-card{border:1px solid rgba(255,255,255,.68)!important;background:rgba(255,255,255,.58)!important;box-shadow:0 14px 40px rgba(70,87,73,.07)!important;backdrop-filter:blur(22px)}.settings-cover .profile-art{height:172px;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.55),transparent 23%),linear-gradient(135deg,#bedde5 0%,#cbdcb6 52%,#f3cbd2 100%)}.settings-cover .profile-art span{font-size:66px}.settings-cover .profile-art i{right:44px;top:25px}.settings-cover .profile-art em{position:absolute;bottom:14px;color:rgba(48,71,56,.62);font-size:9px;font-style:normal;font-weight:850;letter-spacing:1.7px}.settings-index .settings-menu-row{border-color:rgba(222,228,220,.72)}.settings-index .settings-menu-row span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(230,238,226,.75);color:#61913f;font-size:12px;font-weight:850}.settings-index .settings-menu-row.active{background:linear-gradient(90deg,rgba(226,239,216,.72),transparent)}
.settings-main .setting-card{margin-bottom:14px;padding:18px 20px;border-radius:22px}.setting-card-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}.setting-card-head>div{display:flex;min-width:0;flex:1;flex-direction:column}.setting-card-head .setting-title{margin:0;color:var(--ink);font-size:15px;letter-spacing:0}.setting-card-head small{color:var(--text-3);font-size:10px}.setting-card-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:12px;color:#fff;font-size:14px;font-weight:900;box-shadow:0 7px 16px rgba(80,100,84,.1)}.setting-card-icon.book{background:linear-gradient(135deg,#82aa57,#b4cc78)}.setting-card-icon.audio{background:linear-gradient(135deg,#5da3ad,#8fc6c1);font-size:22px}.setting-card-icon.plan{background:linear-gradient(135deg,#e9a04d,#edc272)}.setting-card-icon.meaning{background:linear-gradient(135deg,#8c86c8,#b5acd9)}.setting-card-icon.learned{background:linear-gradient(135deg,#58a774,#91c796)}.setting-card-icon.data{background:linear-gradient(135deg,#709dbf,#a6c6dc)}
.personal-profile-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;min-height:185px;overflow:hidden;background:radial-gradient(circle at 88% 15%,rgba(255,255,255,.82),transparent 24%),linear-gradient(128deg,rgba(196,226,210,.98),rgba(234,241,208,.94) 52%,rgba(249,221,198,.86))!important}.personal-profile-hero:before{content:"";position:absolute;inset:auto -60px -94px auto;width:220px;height:220px;border:1px solid rgba(255,255,255,.68);border-radius:50%;box-shadow:0 0 0 27px rgba(255,255,255,.14),0 0 0 55px rgba(255,255,255,.1)}.personal-profile-avatar{position:relative;z-index:1;display:grid;place-items:center;width:92px;height:92px;border:7px solid rgba(255,255,255,.66);border-radius:31px;background:rgba(255,255,255,.54);box-shadow:0 16px 28px rgba(77,103,84,.13);font-size:48px;transform:rotate(-4deg)}.personal-profile-copy{position:relative;z-index:1;min-width:0}.personal-profile-kicker{display:block;margin-bottom:5px;color:rgba(52,86,61,.66);font-size:9px;font-weight:900;letter-spacing:1.45px}.personal-profile-copy h2{margin:0;color:#365b43;font-size:25px;letter-spacing:-.5px}.personal-profile-copy p{max-width:470px;margin:6px 0 12px;color:rgba(52,78,59,.75);font-size:13px}.personal-profile-tags{display:flex;flex-wrap:wrap;gap:7px}.personal-profile-tags span{padding:5px 9px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#497052;background:rgba(255,255,255,.42);font-size:10px;font-weight:750}.personal-profile-orbit{position:absolute;z-index:0;right:100px;bottom:14px;color:rgba(255,255,255,.57);font-size:86px;transform:rotate(-15deg)}.personal-profile-sparkles{position:absolute;z-index:1;top:20px;right:28px;display:flex;align-items:center;gap:9px}.personal-profile-sparkles i{font-style:normal}.personal-profile-sparkles i:nth-child(1){font-size:18px}.personal-profile-sparkles i:nth-child(2){font-size:14px}.personal-profile-sparkles i:nth-child(3){color:#fff;font-size:18px}.setting-card-icon.profile{background:linear-gradient(135deg,#e99d7d,#edc175);font-size:18px}.setting-card-icon.profile-glance{background:linear-gradient(135deg,#719ca1,#9fc6bc);font-size:17px}.personal-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.personal-field{display:flex;min-width:0;flex-direction:column;gap:8px;padding:13px;border-radius:16px;background:rgba(247,250,245,.6)}.personal-field>span{display:flex;flex-direction:column;gap:2px}.personal-field b,.profile-emoji-row b{font-size:12px}.personal-field small,.profile-emoji-row small{color:var(--text-3);font-size:10px}.personal-field .text-input{width:100%;box-sizing:border-box}.profile-emoji-row{display:grid;grid-template-columns:minmax(140px,.65fr) 1fr;align-items:center;gap:16px;margin-top:12px;padding-top:13px;border-top:1px solid rgba(218,225,216,.72)}.profile-emoji-row>div:first-child{display:flex;flex-direction:column;gap:3px}.profile-emoji-picker{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.profile-emoji-picker button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:12px;background:rgba(237,243,233,.78);font-size:18px;cursor:pointer;transition:.18s}.profile-emoji-picker button:hover{transform:translateY(-2px);background:#fff}.profile-emoji-picker button.active{border-color:rgba(99,150,76,.46);background:rgba(215,235,199,.88);box-shadow:0 5px 12px rgba(85,117,72,.12);transform:translateY(-1px)}.personal-glance-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px}.personal-glance-grid>div{display:flex;min-width:0;flex-direction:column;gap:6px;padding:13px;border-radius:15px;background:linear-gradient(135deg,rgba(249,250,247,.78),rgba(231,242,226,.58))}.personal-glance-grid>div:nth-child(2){background:linear-gradient(135deg,rgba(248,244,224,.76),rgba(244,230,194,.56))}.personal-glance-grid>div:nth-child(3){background:linear-gradient(135deg,rgba(234,244,243,.78),rgba(214,233,231,.58))}.personal-glance-grid span{color:var(--text-3);font-size:10px;font-weight:750}.personal-glance-grid strong{overflow:hidden;color:#456a42;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.audio-test-btn{flex:none;padding:7px 13px;border:1px solid rgba(104,151,78,.2);border-radius:999px;color:#4f843a;background:rgba(231,241,224,.88);font-size:11px;font-weight:850;cursor:pointer}.audio-test-btn:hover{color:#fff;background:#6d9e4b}.preference-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:20px;min-height:57px;border-top:1px solid rgba(218,225,216,.72)}.preference-row>div:first-child{display:flex;flex-direction:column}.preference-row strong{font-size:13px;font-weight:650}.preference-row small{color:var(--text-3);font-size:10px}.soft-switch{position:relative;width:47px;height:27px;cursor:pointer}.soft-switch input{position:absolute;opacity:0}.soft-switch i{position:absolute;inset:0;border-radius:999px;background:#d7dbd5;transition:.22s}.soft-switch i:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(54,67,57,.2);transition:.22s}.soft-switch input:checked+i{background:#76a64c}.soft-switch input:checked+i:after{transform:translateX(20px)}
.pill-options{display:flex;padding:3px;border-radius:999px;background:rgba(231,234,229,.78)}.pill-options label{cursor:pointer}.pill-options input{position:absolute;opacity:0;pointer-events:none}.pill-options span{display:block;min-width:72px;padding:6px 10px;border-radius:999px;color:var(--text-2);font-size:11px;font-weight:750;text-align:center;transition:.18s}.pill-options.compact span{min-width:51px}.pill-options label.active span,.pill-options input:checked+span{color:#416f35;background:rgba(255,255,255,.94);box-shadow:0 4px 11px rgba(61,77,64,.09)}.setting-inner-split{padding-top:3px}.setting-inner-split>div{padding:13px 14px;border-radius:15px;background:rgba(248,250,247,.58)}.setting-inner-split .setting-title{color:var(--text-2);font-size:11px}.setting-card .text-input{background:rgba(255,255,255,.7)}.meaning-setting-card .segment{border:0;background:rgba(240,243,239,.68)}.meaning-setting-card .segment.active{background:rgba(228,240,220,.88)}.book-setting-card .book-item{border-color:transparent;background:rgba(247,249,246,.6)}.book-setting-card .book-item.active{border-color:rgba(102,151,75,.35);background:rgba(228,240,220,.82)}
@media(max-width:1000px){.settings-layout{grid-template-columns:235px minmax(0,1fr);gap:17px}.preference-row{grid-template-columns:1fr;gap:8px;padding:11px 0}.preference-row>.soft-switch,.preference-row>.pill-options{justify-self:start}.settings-cover .profile-art{height:130px}.book-picker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:759px){.settings-layout{display:block;padding:10px 14px 28px}.settings-cover{display:none}.settings-main .setting-card{padding:16px}.preference-row{grid-template-columns:1fr auto;gap:12px}.preference-row>.soft-switch,.preference-row>.pill-options{justify-self:end}.pill-options span{min-width:62px}.pill-options.compact span{min-width:46px;padding-left:7px;padding-right:7px}.setting-inner-split{grid-template-columns:1fr}.settings-page-title{margin-top:0}}

/* 统计页：透明毛玻璃材质与自适应词书标题。 */
.stats-page{position:relative;isolation:isolate;padding-top:4px}
.stats-page:before,.stats-page:after{content:"";position:fixed;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(12px)}
.stats-page:before{right:3vw;top:14vh;width:34vw;height:34vw;background:radial-gradient(circle,rgba(239,190,204,.22),transparent 68%)}
.stats-page:after{left:18vw;bottom:3vh;width:38vw;height:30vw;background:radial-gradient(circle,rgba(178,215,224,.22),transparent 70%)}
.stats-title{align-items:center;margin:0 0 22px;line-height:1}
.stats-title strong{font-size:22px;letter-spacing:.08em}
.stats-grid{gap:18px}
.stat-card{position:relative;overflow:hidden;padding:21px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.30));box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 34px rgba(55,77,61,.065);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%)}
.stat-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.26),transparent 38%)}
.stat-card>*{position:relative}
.stat-card h3{align-items:center;margin-bottom:16px;font-size:17px;font-weight:850;letter-spacing:-.2px}
.stat-card h3 i{color:var(--text-2);font-size:27px;font-style:normal;font-weight:400;line-height:1}
.vocabulary-card{min-height:222px}
.vocabulary-card .vocabulary-name{display:-webkit-box;align-self:center;width:100%;overflow:hidden;margin:auto 0 16px;color:#e86e31;background:linear-gradient(105deg,#ea6432 8%,#f2a526 58%,#d9a82d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900;line-height:1.08;letter-spacing:-1.1px;text-align:center;text-wrap:balance;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.vocabulary-name.short{font-size:clamp(31px,3.2vw,42px)}
.vocabulary-name.medium{font-size:clamp(26px,2.6vw,35px)}
.vocabulary-name.long{font-size:clamp(22px,2.2vw,29px)}
.vocabulary-card small{margin-top:auto;color:rgba(104,117,108,.66);font-size:12px}
.progress-card>b{font-weight:800;letter-spacing:-2px}
.today-metrics span{border:1px solid rgba(255,255,255,.38);background:rgba(225,235,215,.38)}
.today-metrics span:nth-child(3n+2){background:rgba(248,236,188,.34)}
.today-metrics span:nth-child(3n){background:rgba(224,232,246,.40)}
.today-metrics span{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;column-gap:8px;min-height:38px}
.today-metrics em{overflow:hidden;color:var(--text-2);font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.today-metrics b{float:none;text-align:right;white-space:nowrap}
.metric-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#659d42;background:rgba(221,236,210,.78);font-size:13px;font-style:normal;font-weight:900;line-height:1}
.metric-icon.new{color:#d46b56;background:rgba(247,221,215,.72)}.metric-icon.favorite{color:#dca315;background:rgba(250,238,184,.78)}.metric-icon.removed{color:#af6b62;background:rgba(244,224,220,.74)}.metric-icon.time{color:#588ac2;background:rgba(218,230,247,.78)}.metric-icon.count{color:#667fb5;background:rgba(222,228,246,.78)}
.schedule-chart,.trends-chart{border-color:rgba(102,119,105,.12)}
@media(max-width:759px){.stats-page{padding:4px 14px 32px}.stats-page:before{width:70vw;height:70vw}.stats-page:after{left:-16vw;width:82vw;height:72vw}.stats-grid{gap:14px}.stat-card{padding:18px;border-radius:22px}.vocabulary-card{min-height:200px}.vocabulary-name.short{font-size:36px}.vocabulary-name.medium{font-size:31px}.vocabulary-name.long{font-size:25px}}

/* 快速刷：与其他导航图标一致的单色小火苗。 */
.tab-flame{display:inline-grid!important;place-items:center;flex:none;width:20px;height:20px;font-size:0!important}
.tab-flame svg{display:block;width:20px;height:20px;overflow:visible;fill:currentColor}
.tab-flame .flame-core{fill:rgba(255,255,255,.78)}

/* 设置页二级导航：左侧选分类，右侧只展示对应的三级设置卡。 */
.settings-menu-row{width:100%;border:0;color:var(--text);background:transparent;font:inherit;text-align:left;cursor:pointer;transition:background .18s,color .18s}
.settings-menu-row:hover{background:rgba(232,240,226,.44)}
.settings-menu-row:focus-visible{position:relative;z-index:1;outline:2px solid rgba(111,157,55,.38);outline-offset:-2px}
.settings-main [hidden]{display:none!important}
@media(max-width:759px){.settings-menu.settings-index{display:grid;grid-template-columns:1fr 1fr}.settings-menu-row{min-width:0;padding:0 12px}.settings-menu-row:nth-child(2){border-top-right-radius:18px}.settings-menu-row:nth-child(3){border-bottom-left-radius:18px}.settings-menu-row b{font-size:13px}.settings-menu-row em{font-size:10px}.settings-aside{margin-bottom:14px}}

/* 设置首页与账户支持：默认展示说明，账户和联系入口作为同一组。 */
.settings-menu-account-group{position:relative;margin:8px 8px 9px;padding:25px 0 0;border:1px solid rgba(204,222,199,.75);border-radius:15px;background:linear-gradient(135deg,rgba(234,244,228,.7),rgba(255,255,255,.4))}.settings-menu-group-label{position:absolute;top:8px;left:13px;color:#77976b;font-size:9px;font-weight:900;letter-spacing:1.1px}.settings-menu-account-group .settings-menu-row{padding-left:10px;padding-right:10px}.settings-menu-account-group .settings-menu-row:last-child{border-bottom:0}.settings-menu-account-group .settings-menu-row.active{border-radius:0 0 14px 14px}.settings-menu-account-group .settings-menu-row:first-of-type.active{border-radius:14px 14px 0 0}.settings-guide-card{overflow:hidden}.settings-guide-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;padding:8px 5px 19px;border-bottom:1px solid rgba(218,225,216,.68)}.settings-guide-hero-icon{display:grid;place-items:center;width:59px;height:59px;border-radius:20px;background:linear-gradient(135deg,#84ad61,#b7cd7f);box-shadow:0 9px 20px rgba(93,134,71,.16);font-size:30px}.settings-guide-hero>div>span{color:#719262;font-size:9px;font-weight:900;letter-spacing:1.35px}.settings-guide-hero h2{margin:4px 0;color:#3e6247;font-size:19px;letter-spacing:-.35px}.settings-guide-hero p{max-width:620px;margin:0;color:var(--text-2);font-size:11px;line-height:1.65}.settings-guide-hero>i{position:absolute;top:1px;right:7px;color:#d6dfac;font-size:25px;font-style:normal}.settings-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.settings-guide-grid article{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:15px;background:rgba(248,250,246,.62)}.settings-guide-grid article>span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:11px;background:rgba(224,239,215,.74);font-size:16px}.settings-guide-grid article:nth-child(2)>span{background:rgba(239,232,202,.75)}.settings-guide-grid article:nth-child(3)>span{background:rgba(223,236,243,.75)}.settings-guide-grid article:nth-child(4)>span{background:rgba(231,237,222,.8)}.settings-guide-grid b{font-size:12px}.settings-guide-grid p{margin:3px 0 0;color:var(--text-3);font-size:10px;line-height:1.55}.settings-guide-tip{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;border-radius:14px;color:#66735f;background:linear-gradient(90deg,rgba(250,243,205,.72),rgba(239,247,230,.62));font-size:10px;line-height:1.6}.settings-guide-tip>span{font-size:15px}.settings-guide-tip p{margin:0}.setting-card-icon.contact{background:linear-gradient(135deg,#a585c3,#c8a9d7);font-size:17px}.contact-message{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:16px;background:linear-gradient(135deg,rgba(240,231,247,.72),rgba(235,245,232,.6))}.contact-message>span{font-size:25px}.contact-message b{font-size:13px}.contact-message p{margin:4px 0 0;color:var(--text-2);font-size:11px;line-height:1.65}.contact-email{display:flex;align-items:center;gap:11px;margin-top:12px;padding:14px 15px;border:1px solid rgba(185,202,179,.5);border-radius:16px;color:inherit;background:rgba(255,255,255,.56);text-decoration:none;transition:.18s}.contact-email:hover{border-color:rgba(110,155,89,.5);background:rgba(248,252,245,.88);transform:translateY(-1px)}.contact-email>span{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:rgba(225,239,216,.82);font-size:17px}.contact-email div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.contact-email small{color:var(--text-3);font-size:10px}.contact-email strong{overflow:hidden;color:#477342;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.contact-email i{color:#7e9c70;font-style:normal}
@media(max-width:759px){.settings-menu-account-group{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;margin:8px;padding-top:25px}.settings-menu-account-group .settings-menu-row{min-height:50px}.settings-menu-account-group .settings-menu-row:first-of-type.active{border-radius:0 0 0 14px}.settings-menu-account-group .settings-menu-row:last-child.active{border-radius:0 0 14px 0}.settings-guide-grid{grid-template-columns:1fr}.settings-guide-hero{align-items:flex-start}.settings-guide-hero h2{font-size:17px}.settings-guide-hero-icon{width:48px;height:48px;border-radius:16px;font-size:24px}}

/* 云端账户 */
.setting-card-icon.cloud{background:linear-gradient(135deg,#5d9eb6,#91c9c5)}
.cloud-status-badge{flex:none;padding:5px 10px;border-radius:99px;color:#617064;background:rgba(226,232,225,.82);font-size:11px;font-weight:800}.cloud-status-badge.online{color:#397b50;background:rgba(206,235,214,.78)}.cloud-status-badge.error{color:#a45b44;background:rgba(246,222,211,.8)}
.cloud-account-copy{margin:-2px 0 16px;color:var(--text-2);font-size:13px;line-height:1.7}.cloud-auth-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cloud-auth-fields label:last-child{grid-column:1/3}.cloud-auth-fields label{display:flex;flex-direction:column;gap:6px}.cloud-auth-fields label>span{color:var(--text-2);font-size:11px;font-weight:750}.cloud-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.cloud-actions#cloudGuestActions{grid-template-columns:1fr 1fr}.cloud-actions .big-btn{margin:0}.big-btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,#6f9d55,#8bb873)}.cloud-sync-hint{min-height:18px;margin-top:12px}.cloud-sync-hint.ok{color:#46825a}.cloud-sync-hint.warn{color:#a16b3f}.cloud-sync-hint.error{color:#ae5547}
@media(max-width:759px){.cloud-auth-fields{grid-template-columns:1fr}.cloud-auth-fields label:last-child{grid-column:1}.cloud-actions{grid-template-columns:1fr}.cloud-actions#cloudGuestActions{grid-template-columns:1fr 1fr}}

/* 进度数字：大数字与轻量百分号共用基线并整体居中。 */
.progress-card>b{display:inline-flex;align-items:baseline;justify-content:center;width:100%;margin:auto 0;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}
.progress-number{color:#5c9c3d;background:linear-gradient(145deg,#4f9439,#78b65a);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:clamp(49px,5vw,64px);font-weight:830;letter-spacing:-3px;text-shadow:0 10px 24px rgba(86,145,58,.10)}
.progress-card b em{margin-left:5px;color:#79af65;font-size:24px;font-weight:650;letter-spacing:-1px;transform:translateY(-1px)}

/* 原创主题工作台：左侧实时预览，右侧独立的字体与背景选项。 */
:root{--english-font:Georgia,"Times New Roman",serif}
:root[data-english-font="gentle"]{--english-font:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
:root[data-english-font="modern"]{--english-font:"Segoe UI",Arial,sans-serif}
:root[data-english-font="editorial"]{--english-font:Georgia,"Times New Roman",serif}
:root[data-english-font="rounded"]{--english-font:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif}
.word-card .word,.word-card .phon,.examples .en{font-family:var(--english-font)}
.appearance-studio{padding:20px!important}.setting-card-icon.appearance{background:linear-gradient(135deg,#7e9f75,#afc3a2)}
.appearance-workspace{display:grid;grid-template-columns:minmax(310px,1.08fr) minmax(300px,.92fr);gap:22px}
.appearance-preview{position:relative;display:flex;min-height:430px;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;padding:42px;border:1px solid rgba(255,255,255,.72);border-radius:23px;color:#25342b;background-position:center;background-size:cover;box-shadow:inset 0 1px rgba(255,255,255,.8),0 16px 40px rgba(69,83,72,.08);text-align:center}
.appearance-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.72));backdrop-filter:blur(1.5px)}
.appearance-preview>*{position:relative}.preview-kicker{margin-bottom:20px;color:#6d8871;font:850 9px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:2px}.preview-word{font:750 clamp(42px,5vw,66px)/1 var(--english-font);letter-spacing:-1.5px}.preview-phonetic{margin-top:11px;color:#647068;font:14px/1.4 var(--english-font)}.preview-definition{display:flex;align-items:center;gap:9px;margin-top:33px;color:#46544a;font:15px/1.5 var(--english-font)}.preview-definition i{padding:3px 8px;border-radius:99px;color:#fff;background:rgba(69,87,74,.8);font-size:10px}.appearance-preview p{max-width:350px;margin:23px 0 0;color:#526158;font:italic 15px/1.6 var(--english-font)}
:root[data-study-background="mist"] .appearance-preview,:root[data-study-background="mist"] .word-card{background-image:linear-gradient(rgba(255,255,255,.56),rgba(255,255,255,.67)),url("../assets/themes/mist-lake.png");background-position:center;background-size:cover}
:root[data-study-background="glow"] .appearance-preview,:root[data-study-background="glow"] .word-card{background-image:radial-gradient(circle at 12% 15%,rgba(188,221,224,.48),transparent 34%),radial-gradient(circle at 88% 82%,rgba(244,205,215,.42),transparent 38%),linear-gradient(145deg,#f5f8f2,#fffaf7)}
:root[data-study-background="paper"] .appearance-preview,:root[data-study-background="paper"] .word-card{background-image:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,249,245,.92))}
.appearance-controls{display:flex;flex-direction:column;gap:22px}.appearance-controls section{padding:17px;border:1px solid rgba(255,255,255,.66);border-radius:20px;background:rgba(248,250,247,.48)}.appearance-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}.appearance-label strong{font-size:13px}.appearance-label small{color:var(--text-3);font-size:9px}.appearance-options{display:grid;gap:9px}.font-options{grid-template-columns:1fr 1fr}.appearance-options button{position:relative;min-width:0;border:1px solid transparent;border-radius:14px;color:var(--text);background:rgba(255,255,255,.52);cursor:pointer;transition:.18s}.appearance-options button:hover{transform:translateY(-1px);background:rgba(255,255,255,.8)}.appearance-options button.active{border-color:rgba(104,151,76,.55);background:rgba(232,242,224,.78);box-shadow:0 0 0 2px rgba(111,157,55,.07)}.appearance-options button.active:after{content:"✓";position:absolute;right:7px;top:6px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#fff;background:#75a84f;font-size:10px;font-weight:900}.font-options button{display:flex;min-height:75px;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px 13px;text-align:left}.font-options button small{margin-top:4px;color:var(--text-3);font-size:9px}.font-sample{font-size:19px;font-weight:700}.font-sample.gentle{font-family:"Palatino Linotype",Palatino,serif}.font-sample.modern{font-family:"Segoe UI",Arial,sans-serif}.font-sample.editorial{font-family:Georgia,serif}.font-sample.rounded{font-family:"Trebuchet MS",Arial,sans-serif}.background-options{grid-template-columns:1fr 1fr 1fr}.background-options button{display:flex;flex-direction:column;gap:7px;padding:7px 7px 10px;font-size:10px;text-align:left}.background-swatch{display:block;width:100%;height:72px;border-radius:10px;background-position:center;background-size:cover}.background-swatch.mist{background-image:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.35)),url("../assets/themes/mist-lake.png")}.background-swatch.glow{background-image:radial-gradient(circle at 20% 20%,#cfe5e7,transparent 45%),radial-gradient(circle at 80% 80%,#f2d4db,transparent 48%),#f7f8f3}.background-swatch.paper{border:1px solid rgba(215,221,213,.62);background:linear-gradient(145deg,#fff,#f5f6f1)}
@media(max-width:1050px){.appearance-workspace{grid-template-columns:1fr}.appearance-preview{min-height:320px}.appearance-controls{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:759px){.appearance-studio{padding:14px!important}.appearance-controls{display:flex}.appearance-preview{min-height:300px;padding:30px 20px}.font-options{grid-template-columns:1fr 1fr}.background-options{grid-template-columns:1fr}.background-options button{display:grid;grid-template-columns:86px 1fr;align-items:center}.background-swatch{height:54px}}

/* 邮箱 OTP 验证：只在注册待确认时显示。 */
.cloud-verification{margin-top:14px;padding:14px;border:1px solid rgba(112,156,86,.2);border-radius:16px;background:rgba(232,242,225,.5)}
.cloud-verification-copy{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.cloud-verification-copy strong{color:#446f3b;font-size:13px}.cloud-verification-copy small{color:var(--text-2);font-size:10px;line-height:1.5}
.cloud-verification-entry{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:9px}.cloud-verification-entry .text-input{text-align:center;font-size:17px;font-weight:750;letter-spacing:3px}.cloud-verification-entry .big-btn{margin:0}
.cloud-resend-btn{display:block;margin:10px 0 0 auto;border:0;color:#66805e;background:transparent;font-size:10px;font-weight:750;cursor:pointer}.cloud-resend-btn:hover{color:#49773c}.cloud-resend-btn:disabled{color:var(--text-3);cursor:wait}
@media(max-width:480px){.cloud-verification-entry{grid-template-columns:1fr}.cloud-verification-entry .big-btn{width:100%}}

/* 明确的注册验证码入口与邮箱验证码找回密码。 */
.cloud-forgot-btn{display:block;margin:10px 0 0 auto;border:0;color:#6b7c6d;background:transparent;font-size:11px;font-weight:750;cursor:pointer}.cloud-forgot-btn:hover{color:#4c7e3e}
.cloud-recovery{margin-top:14px;padding:16px;border:1px solid rgba(112,156,86,.2);border-radius:18px;background:rgba(247,250,245,.62)}.cloud-recovery>label,.cloud-recovery-fields label{display:flex;flex-direction:column;gap:6px}.cloud-recovery label>span{color:var(--text-2);font-size:11px;font-weight:750}.cloud-recovery>.big-btn{margin-top:10px}.cloud-recovery-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.cloud-recovery-fields input[inputmode="numeric"]{text-align:center;font-weight:750;letter-spacing:3px}.cloud-recovery-actions{display:grid;grid-template-columns:1.3fr .7fr;gap:9px;margin-top:12px}.cloud-recovery-actions .big-btn{margin:0}
.setting-card-icon.install{color:#fff;background:linear-gradient(135deg,#5d9b85,#81b997)}.pwa-install-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:17px}.pwa-install-row>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.pwa-install-row strong{color:var(--text);font-size:13px}.pwa-install-row small{color:var(--text-3);font-size:11px;line-height:1.5}.pwa-install-help{max-width:660px;margin-top:5px;padding:9px 11px;border-left:2px solid rgba(95,150,119,.5);border-radius:0 9px 9px 0;background:rgba(231,242,234,.58);color:#557063!important}.pwa-install-actions{display:flex;flex:none;align-items:center;gap:8px}.pwa-install-row .big-btn{min-width:96px;flex:none}
@media(max-width:600px){.pwa-install-row{align-items:stretch;flex-direction:column}.pwa-install-actions{width:100%;flex-direction:column}.pwa-install-row .big-btn{width:100%}}

/* 复习算法选择：用可读的方案卡替代裸露的数字间隔。 */
.plan-options-layout{grid-template-columns:minmax(190px,.7fr) minmax(360px,1.3fr)}.review-method-setting{min-width:0}.review-method-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.review-method-options label{position:relative;min-width:0;cursor:pointer}.review-method-options input{position:absolute;opacity:0;pointer-events:none}.review-method-options span{display:flex;min-height:86px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:12px;border:1px solid rgba(210,220,208,.72);border-radius:14px;background:rgba(255,255,255,.55);transition:.18s}.review-method-options b{color:var(--text);font-size:12px}.review-method-options small{margin-top:5px;color:var(--text-3);font-size:9px;line-height:1.5}.review-method-options label:hover span{transform:translateY(-1px);background:rgba(255,255,255,.82)}.review-method-options label.active span,.review-method-options input:checked+span{border-color:rgba(103,153,74,.48);background:rgba(230,241,222,.82);box-shadow:0 6px 15px rgba(78,104,75,.07)}.review-method-options label.active span:after,.review-method-options input:checked+span:after{content:"✓";position:absolute;right:8px;top:8px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#fff;background:#77a851;font-size:10px;font-weight:900}
@media(max-width:1000px){.plan-options-layout{grid-template-columns:1fr}.review-method-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cloud-recovery-fields,.cloud-recovery-actions{grid-template-columns:1fr}.review-method-options{grid-template-columns:1fr}.review-method-options span{min-height:68px}.cloud-forgot-btn{margin-right:auto}}

/* 单词状态：词义级模糊、删除按钮与单词数据管理。 */
.sense.selected .cn,.sense.selected .en{color:inherit;text-decoration:none}.sense.selected .cn{font-weight:750}.sense.meaning-blurred .cn,.sense-line.deferred-meaning .review-meaning-text{display:inline-block;filter:blur(5px);opacity:.62;user-select:none;transition:filter .18s}.sense.meaning-blurred:hover .cn{filter:blur(4px)}
.side-action svg{display:block;width:22px;height:22px;fill:currentColor}.side-action.delete-word{color:#a66a62}.side-action.delete-word:hover{color:#fff;background:rgba(191,103,91,.88)}
.setting-card-icon.favorite{background:linear-gradient(135deg,#e5ac3c,#f0d47b)}
.known-item{padding:11px 5px;transition:.18s}.known-item.pending-change{border-radius:12px;background:rgba(247,232,218,.52)}.known-item-actions{display:flex;flex:none;align-items:center;gap:7px}.known-detail,.favorite-toggle{padding:6px 10px;border:1px solid rgba(111,151,93,.22);border-radius:9px;color:#527746;background:rgba(244,249,240,.8);font-size:11px;font-weight:750;cursor:pointer}.favorite-toggle{color:#9a6a1d;border-color:rgba(207,162,70,.28);background:rgba(255,248,225,.8)}.favorite-toggle.off{color:#56764b;border-color:rgba(111,151,93,.24);background:rgba(237,246,231,.84)}.word-data-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.25fr;gap:9px;padding:12px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 32%)}.word-data-actions button{padding:10px;border:1px solid var(--line);border-radius:11px;color:var(--text-2);background:#fff;font-size:12px;font-weight:800;cursor:pointer}.word-data-actions button.confirm{border-color:transparent;color:#fff;background:linear-gradient(135deg,#6d9c51,#8bb673)}

/* 原创单词详情层：延续应用的透明毛玻璃，不复制参考产品布局。 */
body.modal-open{overflow:hidden}.word-detail-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:24px}.word-detail-modal[hidden]{display:none}.word-detail-backdrop{position:absolute;inset:0;background:rgba(34,45,38,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.word-detail-dialog{position:relative;width:min(920px,94vw);max-height:min(850px,90vh);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.76);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(242,247,239,.78));box-shadow:0 30px 90px rgba(30,45,34,.2);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.word-detail-close{position:absolute;z-index:2;right:20px;top:18px;width:36px;height:36px;border:0;border-radius:50%;color:#59675d;background:rgba(255,255,255,.72);font-size:24px;cursor:pointer}.word-detail-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 8px 24px;border-bottom:1px solid rgba(100,124,102,.14)}.word-detail-header small{color:#719162;font-size:9px;font-weight:900;letter-spacing:2px}.word-detail-header h2{margin:7px 0 4px;font:800 clamp(38px,5vw,64px)/1 var(--english-font);letter-spacing:-1.5px}.word-detail-header p{margin:0;color:var(--text-2);font-family:var(--english-font)}.word-detail-header p button{border:0;color:var(--accent-deep);background:transparent;cursor:pointer}.detail-favorite{padding:7px 11px;border-radius:999px;color:#a7761c;background:rgba(255,245,205,.76);font-size:11px;font-weight:800}.detail-meta{display:flex;align-items:center;gap:10px;padding:16px 8px;color:var(--text-3);font-size:11px}.detail-senses{display:grid;gap:10px}.detail-sense{padding:16px 18px;border:1px solid rgba(214,223,212,.76);border-radius:17px;background:rgba(255,255,255,.55)}.detail-sense.struck{opacity:.72;background:rgba(248,239,237,.6)}.detail-sense.deferred{background:rgba(250,246,224,.68)}.detail-sense-head{display:flex;align-items:center;gap:9px}.detail-sense-head .pos{padding:3px 7px;border-radius:7px;color:#fff;background:#405047;font:italic 700 10px var(--english-font)}.detail-sense-head strong{font-size:15px}.detail-sense.struck .detail-sense-head strong{text-decoration:line-through}.detail-status{flex:none;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900}.detail-status.active{color:#4c7c40;background:#e4f0dd}.detail-status.struck{color:#9a5b52;background:#f3dfdb}.detail-status.deferred{color:#926f23;background:#f4eac2}.detail-definition{margin:10px 0 0;color:#4e5b52;font:14px/1.5 var(--english-font)}.detail-example{display:flex;flex-direction:column;gap:3px;margin-top:11px;padding-left:12px;border-left:2px solid rgba(111,155,82,.28)}.detail-example span{font:italic 13px/1.5 var(--english-font)}.detail-example small{color:var(--text-3)}.detail-sense-actions{display:flex;justify-content:flex-end;margin-top:10px}.detail-sense-actions:empty{display:none}.detail-sense-actions button{padding:6px 10px;border:1px solid rgba(103,147,82,.25);border-radius:9px;color:#537a45;background:rgba(244,249,240,.82);font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:759px){.settings-menu.settings-index{grid-template-columns:1fr 1fr}.settings-menu-row:nth-child(3){border-bottom-left-radius:0}.settings-menu-row:last-child{grid-column:1/3}.known-item{align-items:flex-start;flex-direction:column}.known-item-actions{width:100%}.known-item-actions button{flex:1}.word-detail-modal{padding:10px}.word-detail-dialog{width:100%;max-height:92vh;padding:22px 15px;border-radius:22px}.word-detail-header{align-items:flex-start;flex-direction:column}.detail-favorite{align-self:flex-start}.detail-sense-head{align-items:flex-start;flex-wrap:wrap}}

/* 新学先回忆、延后标记与复习日概览。 */
.sense-panel-meta{display:flex;align-items:center;gap:9px}.meaning-reveal-btn{padding:5px 10px;border:1px solid rgba(105,151,79,.28);border-radius:999px;color:#568043;background:rgba(244,249,240,.9);font-size:10px;font-weight:850;cursor:pointer}.meaning-reveal-btn.shown{color:#66716a;border-color:rgba(105,120,108,.2);background:rgba(241,244,240,.84)}.defer-session-badge{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid rgba(211,170,68,.3);border-radius:999px;color:#8d6a18;background:rgba(252,244,210,.82);font-size:11px;font-weight:850}.detail-favorite{border:1px solid rgba(205,163,69,.24);cursor:pointer}.detail-favorite.active{color:#9b6b0e;border-color:rgba(214,166,54,.42);background:rgba(255,239,177,.9)}
.shuffle-review-btn{border-color:rgba(118,139,181,.25);color:#596b91}.shuffle-review-btn.active{border-color:#7188b0;color:#fff;background:#7188b0}.review-day-summary{display:grid;grid-template-columns:minmax(150px,.75fr) auto minmax(250px,1.25fr);align-items:center;gap:18px;margin:0 0 15px;padding:17px 19px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(241,246,239,.48));box-shadow:0 10px 28px rgba(54,75,59,.055);backdrop-filter:blur(20px)}.review-day-calendar-mark{display:flex;flex-direction:column}.review-day-calendar-mark span{color:#809084;font-size:8px;font-weight:900;letter-spacing:1.7px}.review-day-calendar-mark strong{margin-top:3px;color:var(--ink);font-size:18px}.review-total{display:flex;align-items:baseline;gap:5px;padding:0 18px;border-left:1px solid rgba(108,128,111,.13);border-right:1px solid rgba(108,128,111,.13)}.review-total strong{color:var(--accent-deep);font-size:31px;line-height:1}.review-total span{color:var(--text-3);font-size:11px}.review-group-counts{display:flex;justify-content:flex-end;gap:8px}.review-group-counts span{padding:6px 9px;border-radius:999px;color:#6f7a72;background:rgba(235,239,234,.8);font-size:10px;font-weight:800}.review-group-counts .unfamiliar{color:#9c5c52;background:rgba(245,226,222,.82)}.review-group-counts .uncertain{color:#647068;border:1px solid rgba(122,134,125,.14);background:rgba(232,235,231,.9)}.review-group-counts .familiar{color:#4f7e43;background:rgba(226,240,218,.86)}
@media(max-width:759px){.sense-panel-head{align-items:flex-start}.sense-panel-meta{align-items:flex-end;flex-direction:column;gap:5px}.review-day-summary{grid-template-columns:1fr auto;gap:12px}.review-group-counts{grid-column:1/3;justify-content:flex-start;flex-wrap:wrap}.review-total{border-right:0}.defer-session-badge{font-size:10px}}

/* iPad 触控优化：释义工具做成清晰的大触控区，月历每天直接显示词数。 */
.sense-panel-head{min-height:48px;margin-bottom:8px;gap:18px}.sense-panel-head>span{flex:none;font-size:13px;letter-spacing:.08em}.sense-panel-meta{min-width:0;justify-content:flex-end;gap:10px}.sense-panel-head .sense-panel-meta small{display:inline-flex;align-items:center;min-height:42px;box-sizing:border-box;padding:8px 13px;border:1px solid rgba(112,137,116,.15);border-radius:13px;color:#738078;background:rgba(247,250,246,.68);font-size:12px;line-height:1.2;white-space:nowrap}.meaning-reveal-btn{min-width:116px;min-height:44px;box-sizing:border-box;padding:10px 18px;border-radius:14px;font-size:13px;letter-spacing:.02em;box-shadow:0 5px 14px rgba(62,91,66,.07);touch-action:manipulation}.meaning-reveal-btn:hover{border-color:rgba(103,151,75,.48);background:rgba(235,245,228,.96)}
.review-date-slot{justify-content:space-between;min-height:84px;padding:10px 8px 9px;touch-action:manipulation}.review-date-count{display:flex;align-items:baseline;justify-content:center;gap:3px;width:100%;min-height:28px}.review-date-slot .review-date-count strong{margin:0;color:#d96734;font-size:22px;line-height:1}.review-date-slot .review-date-count small{color:#a96c4f;font-size:10px;font-weight:750}.review-date-count.empty-count{opacity:.5}.review-date-slot .review-date-count.empty-count strong{color:#7e8981;font-size:17px}.review-date-slot .review-date-count.empty-count small{color:#7e8981}.calendar-blank{min-height:84px}
@media(min-width:760px) and (max-width:1180px){.sense-panel{padding-top:12px}.sense-panel-head{padding:0 2px}.meaning-reveal-btn{min-width:128px;min-height:48px;font-size:14px}.sense-panel-head .sense-panel-meta small{min-height:46px;font-size:13px}.review-date-slot{min-height:88px}.review-date-slot .review-date-count strong{font-size:24px}.review-date-slot .review-date-count small{font-size:11px}.calendar-blank{min-height:88px}}
@media(max-width:759px){.sense-panel-head{align-items:center;min-height:46px;gap:8px}.sense-panel-meta{align-items:center;flex-direction:row;gap:7px}.sense-panel-head .sense-panel-meta small{min-height:38px;padding:7px 9px;font-size:10px;white-space:normal}.meaning-reveal-btn{min-width:104px;min-height:42px;padding:8px 12px;font-size:12px}.review-date-slot,.calendar-blank{min-height:66px}.review-date-slot{padding:6px 3px}.review-date-slot .review-date-count{gap:2px;min-height:23px}.review-date-slot .review-date-count strong{font-size:17px}.review-date-slot .review-date-count small{font-size:8px}.review-date-slot .review-date-count.empty-count strong{font-size:14px}}

/* 复习计时：日历预设、自适应倒计时和真实完成状态。 */
.calendar-mask-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:13px 0 18px;padding:14px 16px;border:1px solid rgba(255,255,255,.68);border-radius:18px;background:rgba(255,255,255,.42);box-shadow:0 8px 22px rgba(58,78,64,.045);backdrop-filter:blur(16px)}.calendar-mask-controls>div:first-child{display:flex;min-width:0;flex-direction:column}.calendar-mask-controls>div:first-child strong{color:var(--ink);font-size:12px}.calendar-mask-controls>div:first-child small{margin-top:3px;color:var(--text-3);font-size:10px}.calendar-mask-buttons{display:flex;flex:none;gap:10px}.calendar-mask-btn{min-width:112px;min-height:46px;padding:10px 18px;border:1px solid rgba(114,136,118,.13);border-radius:999px;color:#607068;background:rgba(239,243,238,.84);font-size:14px;font-weight:850;cursor:pointer;touch-action:manipulation;transition:.18s}.calendar-mask-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.9)}.calendar-mask-btn.active{border-color:rgba(103,151,75,.42);color:#fff;background:linear-gradient(135deg,#739f58,#91b876);box-shadow:0 6px 15px rgba(77,112,67,.15)}
.review-date-slot{min-height:98px}.calendar-blank{min-height:98px}.review-date-status{font-size:9px;font-style:normal;font-weight:800;color:#a76f53}.review-date-count.empty-count+.review-date-status{color:#89938c;opacity:.62}.review-date-slot.completed{border-color:rgba(105,157,83,.42);background:rgba(231,242,224,.78);box-shadow:0 7px 18px rgba(69,111,61,.07)}.review-date-slot.completed .review-date-count strong,.review-date-slot.completed .review-date-status{color:#5f9149}.review-date-slot.completed .review-date-status:before{content:"✓ ";font-weight:950}
.review-day-summary{grid-template-columns:minmax(120px,.55fr) auto minmax(260px,1.1fr) minmax(210px,.9fr);gap:14px}.review-timer{display:flex;min-width:0;flex-direction:column;gap:7px;padding:1px 18px}.review-timer>div{display:flex;align-items:baseline;justify-content:flex-start;gap:13px}.review-timer>div span{color:var(--text-3);font-size:10px;font-weight:750}.review-timer>div strong{color:#425e49;font:800 23px/1 var(--english-font);font-variant-numeric:tabular-nums}.review-timer>small{overflow:hidden;color:var(--text-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.review-timer>i{display:block;overflow:hidden;height:5px;border-radius:999px;background:rgba(122,142,125,.13)}.review-timer>i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6e9f52,#a6c986);transition:width .35s}.review-timer.completed>div strong{color:#619049}.review-group-counts{min-width:0;flex-wrap:wrap}.plan-quantity-settings{display:grid;gap:15px}.memorization-order-setting{padding-top:14px;border-top:1px solid rgba(213,222,211,.72)}.memorization-order-setting .preference-row{gap:10px;padding:9px 0 0}.memorization-order-setting .preference-row>div:first-child{min-width:0}.review-duration-setting{padding-top:14px!important;border-top:1px solid rgba(213,222,211,.72)}.review-seconds-value{min-width:76px;text-align:center}
.review-timer-toggle{flex:none;padding:5px 9px;border:1px solid rgba(104,137,106,.22);border-radius:999px;color:#5c7961;background:rgba(245,249,243,.86);font-size:9px;font-weight:850;cursor:pointer;touch-action:manipulation}.review-timer-toggle:hover{background:rgba(231,241,227,.96)}.review-timer.timer-hidden>small,.review-timer.timer-hidden>i{visibility:hidden}.review-timer.timer-hidden>div strong{color:#7a887e;font-size:16px;letter-spacing:.08em}.review-word-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.review-word-title>b{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border-radius:999px;color:#926f23;background:#f4eac2;font-size:8px;font-weight:900;white-space:nowrap}.deferred-sense-label{display:inline-flex;margin-right:6px;padding:2px 5px;border-radius:999px;color:#8b681d;background:rgba(245,233,184,.9);font-size:8px;font-weight:900;vertical-align:1px}.review-seconds-value{min-width:88px}
@media(min-width:760px) and (max-width:1180px){.calendar-mask-btn{min-width:124px;min-height:48px}.review-date-slot,.calendar-blank{min-height:102px}.review-day-summary{grid-template-columns:auto auto minmax(250px,1fr)}.review-day-summary .review-group-counts{grid-column:1/4;justify-content:flex-start}.review-timer{padding-right:4px}.review-toolbar{align-items:flex-start;flex-direction:column}.review-toolbar .review-tools-copy{width:100%}.review-toolbar .mask-group{width:100%;justify-content:flex-start}.review-toolbar .mask-btn{min-height:44px;padding:10px 15px}}
@media(max-width:759px){.calendar-mask-controls{align-items:flex-start;flex-direction:column;margin-top:10px;padding:12px}.calendar-mask-buttons{width:100%}.calendar-mask-btn{min-width:0;min-height:44px;flex:1;padding:9px 12px;font-size:13px}.review-date-slot,.calendar-blank{min-height:81px}.review-date-status{font-size:7px}.review-day-summary{grid-template-columns:1fr auto}.review-day-summary .review-timer{grid-column:1/3;padding:10px 0 2px;border-top:1px solid rgba(108,128,111,.12)}.review-day-summary .review-group-counts{grid-column:1/3}.review-timer>div strong{font-size:21px}.review-timer>small{white-space:normal}}
