:root{--bg: #f6f4ef;--bg-deep: #efece4;--surface: #ffffff;--surface-2: #fbf9f5;--ink: #23211e;--ink-2: #4a4640;--muted: #857f75;--line: #e5e0d6;--line-2: #d6cfc1;--accent: #b4552d;--accent-soft: #f6e9e2;--teal: #2f6f8f;--teal-soft: #e5eff4;--green: #4a7a44;--green-soft: #e8f0e6;--amber: #a37a2c;--amber-soft: #f8f0dd;--rose: #a8455a;--rose-soft: #f7e7ea;--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--shadow: 0 1px 2px rgba(35, 33, 30, .04), 0 8px 24px -12px rgba(35, 33, 30, .16);--shadow-lg: 0 2px 6px rgba(35, 33, 30, .05), 0 24px 60px -24px rgba(35, 33, 30, .28);--fs-micro: clamp(11px, .9vw + 7px, 13px);--fs-sm: clamp(13px, 1vw + 8px, 15px);--fs-body: clamp(15px, 1.1vw + 9px, 18px);--fs-title: clamp(19px, 1.6vw + 11px, 26px);--fs-h1: clamp(24px, 2.4vw + 12px, 36px);--font: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-serif: "Songti SC", "Noto Serif SC", "SimSun", Georgia, serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;border:none;background:none}h1,h2,h3,h4,p{margin:0}.app{min-height:100%;display:flex;flex-direction:column}.page{width:100%;max-width:980px;margin:0 auto;padding:20px clamp(14px,3vw,32px) 40px}.page--wide{max-width:1240px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px clamp(14px,3vw,32px);background:#f6f4efeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);min-height:60px}.topbar__title{font-size:var(--fs-title);font-weight:650;letter-spacing:-.01em}.topbar__spacer{flex:1}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.02em}.brand__mark{width:30px;height:30px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700;font-family:var(--font-serif)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card--flat{box-shadow:none}.stack{display:flex;flex-direction:column;gap:14px}.stack--sm{gap:9px}.row{display:flex;align-items:center;gap:10px}.row--wrap{flex-wrap:wrap}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h2{font-size:var(--fs-title);font-weight:650}.section-title .hint{font-size:var(--fs-sm);color:var(--muted)}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.micro{font-size:var(--fs-micro)}.divider{height:1px;background:var(--line);margin:4px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:12px;font-size:var(--fs-body);font-weight:600;border:1px solid transparent;transition:transform .12s ease,background .15s ease,border-color .15s ease;user-select:none}.btn:active{transform:scale(.985)}.btn--primary{background:var(--ink);color:#fff}.btn--primary:hover{background:#35322d}.btn--accent{background:var(--accent);color:#fff}.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--ink-2)}.btn--ghost:hover{background:var(--bg-deep)}.btn--soft{background:var(--bg-deep);color:var(--ink-2)}.btn--danger{background:var(--rose-soft);color:var(--rose)}.btn--block{width:100%}.btn--lg{min-height:58px;font-size:clamp(17px,1.2vw + 12px,21px);border-radius:14px;padding:0 28px}.btn--xl{min-height:72px;font-size:clamp(19px,1.4vw + 13px,24px);border-radius:16px;padding:0 34px}.btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:var(--ink-2);border:1px solid transparent}.icon-btn:hover{background:var(--bg-deep)}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.input,.select,.textarea{width:100%;min-height:48px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-size:var(--fs-body)}.textarea{min-height:180px;resize:vertical;line-height:1.7}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px #23211e12;background:#fff}.input--lg{min-height:56px;font-size:clamp(17px,1.2vw + 12px,21px);letter-spacing:.02em}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:var(--fs-micro);font-weight:600;background:var(--bg-deep);color:var(--ink-2);white-space:nowrap}.chip--accent{background:var(--accent-soft);color:var(--accent)}.chip--teal{background:var(--teal-soft);color:var(--teal)}.chip--green{background:var(--green-soft);color:var(--green)}.chip--amber{background:var(--amber-soft);color:var(--amber)}.chip--rose{background:var(--rose-soft);color:var(--rose)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.home{min-height:100vh;display:flex;flex-direction:column}.home__hero{padding:clamp(28px,5vw,64px) clamp(16px,4vw,40px) 0;max-width:1180px;margin:0 auto;width:100%}.home__eyebrow{font-size:var(--fs-sm);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600}.home__title{font-family:var(--font-serif);font-size:clamp(30px,3.6vw + 14px,54px);line-height:1.18;letter-spacing:-.015em;margin-top:10px;font-weight:600}.home__sub{margin-top:12px;color:var(--ink-2);max-width:620px;font-size:clamp(14px,1vw + 9px,17px)}.home__body{max-width:1180px;margin:0 auto;width:100%;padding:clamp(20px,3vw,36px) clamp(16px,4vw,40px) 48px;flex:1}.learner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.learner-tile{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:10px;min-height:148px}.learner-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.learner-tile__avatar{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-family:var(--font-serif);font-size:22px;font-weight:600;background:var(--bg-deep);color:var(--ink)}.learner-tile__name{font-size:var(--fs-title);font-weight:650}.learner-tile__meta{font-size:var(--fs-sm);color:var(--muted)}.learner-tile__foot{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:var(--fs-micro);color:var(--muted)}.learner-tile--add{border-style:dashed;background:transparent;box-shadow:none;align-items:center;justify-content:center;color:var(--muted);font-size:var(--fs-sm)}.mini-progress{height:6px;border-radius:999px;background:var(--bg-deep);overflow:hidden}.mini-progress>i{display:block;height:100%;border-radius:999px;background:var(--green);transition:width .4s ease}.study{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8f6f1,#f2efe7)}.study__bar{display:flex;align-items:center;gap:14px;padding:14px clamp(16px,3vw,36px);border-bottom:1px solid var(--line)}.study__bar-meta{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.study__switch{min-height:38px;padding:0 14px;font-size:var(--fs-sm);flex:none}.study__progress{flex:1;height:8px;border-radius:999px;background:var(--line);overflow:hidden;min-width:60px}.study__progress>i{display:block;height:100%;background:var(--ink);border-radius:999px;transition:width .35s ease}.study__stage{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(14px,2.4vw,32px) clamp(16px,3vw,40px)}.flashcard{width:100%;max-width:980px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(24px,3.4vw,52px);display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);min-height:min(58vh,520px)}.flashcard__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flashcard__question{font-family:var(--font-serif);font-size:clamp(30px,3.4vw + 10px,52px);line-height:1.45;letter-spacing:.01em;font-weight:600;flex:1;display:flex;align-items:center;word-break:break-word}.flashcard__question--sm{font-size:clamp(22px,2.2vw + 8px,34px);line-height:1.55}.flashcard__answer{border-top:1px dashed var(--line-2);padding-top:clamp(16px,2vw,26px);font-size:clamp(24px,2.6vw + 8px,40px);line-height:1.55;color:var(--ink);font-family:var(--font-serif);animation:rise .28s ease both}.flashcard__answer .en{font-family:var(--font);letter-spacing:.01em}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.flashcard__hint{font-size:var(--fs-sm);color:var(--muted)}.study__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grade-btn{min-height:clamp(64px,7vh,84px);border-radius:16px;border:1px solid var(--line-2);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:650;font-size:clamp(17px,1.3vw + 11px,22px);transition:transform .12s ease,background .15s ease}.grade-btn:active{transform:scale(.98)}.grade-btn small{font-size:var(--fs-micro);font-weight:500;color:var(--muted)}.grade-btn--forgot{color:var(--rose);border-color:#eccfd4;background:#fdf6f7}.grade-btn--vague{color:var(--amber);border-color:#eadfc4;background:#fdfaf2}.grade-btn--known{color:var(--green);border-color:#cfe0cb;background:#f6faf5}.study__footer{padding:0 clamp(16px,3vw,40px) clamp(16px,2.4vw,28px);max-width:1040px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:10px}.study__back-row{display:flex;justify-content:flex-start}.study__back{min-height:38px;padding:0 14px;font-size:var(--fs-sm)}.study__back:disabled{opacity:.4;cursor:default}.study__done{display:grid;gap:10px;place-items:center;text-align:center;max-width:520px;width:100%}.study__done-title{font-size:clamp(20px,2vw + 12px,28px);font-weight:700}.study__done-meta{margin:0}.study__done-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;justify-content:center}.flag-row{display:flex;gap:8px;flex-wrap:wrap}.flag-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:var(--fs-sm);color:var(--ink-2)}.flag-btn--on{background:var(--amber-soft);border-color:#e3d3a9;color:var(--amber)}.flag-btn--on.flag-btn--confused{background:var(--rose-soft);border-color:#e8c8cf;color:var(--rose)}.flag-btn--on.flag-btn--known{background:var(--green-soft);border-color:#cadcc6;color:var(--green)}.pick{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8f6f1,#f2efe7)}.pick__bar{display:flex;align-items:center;gap:12px;padding:10px clamp(16px,3vw,36px);border-bottom:1px solid var(--line)}.pick__bar-spacer{flex:1}.pick__who{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.pick__body{width:100%;max-width:1080px;margin:0 auto;padding:clamp(12px,1.8vw,22px) clamp(16px,4vw,40px) 20px;flex:1}.pick__title{font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:650;letter-spacing:.01em;margin:0;line-height:1.15}.pick__intro{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.pick__intro .pick__sub{flex:1 1 320px;min-width:0}.pick__mode{flex:none;white-space:nowrap}.pick__sub{color:var(--muted);font-size:var(--fs-sm);margin:0;max-width:660px}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px;margin-top:clamp(12px,1.6vw,18px)}.pick-card{position:relative;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px 18px 15px;display:flex;flex-direction:column;gap:9px;min-height:138px;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.pick-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pick-card--on{border-color:var(--ink);box-shadow:var(--shadow-lg)}.pick-card--off{opacity:.45;box-shadow:none;cursor:default}.pick-card__head{display:flex;align-items:center;gap:9px;font-size:var(--fs-title);font-weight:650;letter-spacing:.01em}.pick-card__dot{width:9px;height:9px;border-radius:999px;flex:none}.pick-card__count{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.pick-card__count b{color:var(--ink);font-weight:650}.pick-card__mark{position:absolute;top:13px;right:13px;width:26px;height:26px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);display:grid;place-items:center;font-size:15px;font-weight:700;line-height:1;color:transparent;box-shadow:0 0 0 3px var(--surface);transition:all .15s ease}.pick-card__bar{margin-top:auto;height:5px;border-radius:999px;background:var(--bg-deep);overflow:hidden}.pick-card__bar>i{display:block;height:100%;border-radius:999px;background:var(--line-2)}.pick-card__foot{font-size:var(--fs-micro);color:var(--muted);font-variant-numeric:tabular-nums}.pick__tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}.pick__tools .micro{margin-left:auto}.pick__again{margin-top:16px;padding:14px;border:1px dashed var(--line-2);border-radius:var(--radius);background:var(--surface-2)}.pick__again-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.pick__again-head b{font-size:var(--fs-body);font-weight:650}.pick__again-list{display:flex;gap:8px;flex-wrap:wrap}.pick__empty{margin-top:24px;padding:32px;text-align:center}.pick__foot{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px clamp(16px,3vw,40px) calc(14px + env(safe-area-inset-bottom,0px));background:#f6f4eff0;backdrop-filter:blur(10px);border-top:1px solid var(--line)}.pick__summary{display:flex;flex-direction:column;gap:2px;min-width:0}.pick__summary b{font-size:var(--fs-body);font-weight:650;font-variant-numeric:tabular-nums}.pick__foot .btn{min-width:min(300px,46vw)}.summary{max-width:720px;margin:0 auto;padding:clamp(16px,2.6vw,34px) 20px 30px;text-align:center}.summary__num{font-size:clamp(52px,7.4vw,84px);font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.summary__label{color:var(--muted);font-size:var(--fs-sm);margin-top:6px}.summary__subjects{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.summary__subject{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.summary__subject i{width:8px;height:8px;border-radius:999px}.summary__subject b{font-weight:650;color:var(--ink)}.summary__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.stat-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 10px}.stat-box b{display:block;font-size:clamp(22px,2vw + 12px,30px);font-weight:700;font-variant-numeric:tabular-nums}.stat-box span{font-size:var(--fs-micro);color:var(--muted)}.list{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line)}.list__row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;width:100%;background:none;font-size:var(--fs-body)}.list__row:last-child{border-bottom:none}.list__row:hover{background:var(--surface-2)}.list__main{flex:1;min-width:0}.list__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list__sub{font-size:var(--fs-micro);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.subject-tabs::-webkit-scrollbar{display:none}.tab{padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);white-space:nowrap}.tab--on{background:var(--ink);color:#fff;border-color:var(--ink)}.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.term-cell{text-align:left;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:6px;transition:border-color .15s ease,background .15s ease}.term-cell--on{border-color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink)}.term-cell--empty{opacity:.45}.term-cell__label{font-weight:650;font-size:var(--fs-body)}.term-cell__meta{font-size:var(--fs-micro);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:13px;color:transparent}.check--on{background:var(--ink);border-color:var(--ink);color:#fff}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);grid-auto-columns:14px;justify-content:start;gap:4px;overflow-x:auto;padding-bottom:2px}.heat-cell{width:14px;height:14px;border-radius:3px;background:var(--bg-deep)}.heat-cell[data-lv="1"]{background:#d8e4d4}.heat-cell[data-lv="2"]{background:#a9c6a2}.heat-cell[data-lv="3"]{background:#6f9c66}.heat-cell[data-lv="4"]{background:#3f6b38}.sheet-mask{position:fixed;inset:0;background:#1c1a176b;display:flex;align-items:flex-end;justify-content:center;z-index:60;padding:0;animation:fade .18s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-radius:22px 22px 0 0;padding:22px clamp(16px,4vw,28px) calc(22px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:slideUp .24s cubic-bezier(.2,.8,.2,1) both}.sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sheet__body::-webkit-scrollbar{width:6px}.sheet__body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.sheet__foot{flex:none;margin-top:16px}@keyframes slideUp{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media (min-width: 720px){.sheet-mask{align-items:center;padding:24px}.sheet{border-radius:22px;max-height:84vh}}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex:none}.sheet__title{font-size:var(--fs-title);font-weight:650}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-size:var(--fs-sm);box-shadow:var(--shadow-lg);z-index:90;animation:rise .2s ease both;max-width:88vw;text-align:center}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber);font-size:var(--fs-sm);border:1px solid #ecdfbd}.notice--info{background:var(--teal-soft);color:var(--teal);border-color:#cfe0e8}.error-text{color:var(--rose);font-size:var(--fs-sm)}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty__title{font-size:var(--fs-title);color:var(--ink-2);margin-bottom:6px;font-weight:600}.stats{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#f8f6f1,#f2efe7)}.stats__bar{display:flex;align-items:center;gap:10px;padding:14px clamp(16px,3vw,36px);border-bottom:1px solid var(--line);flex:none}.stats__body{width:100%;max-width:1080px;margin:0 auto;padding:clamp(12px,1.8vw,20px) clamp(16px,4vw,40px) 32px;flex:1;min-height:0;overflow-y:auto}.stats__body--narrow{max-width:820px}.stats__title{font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:650;margin:0;letter-spacing:.01em}.stats__sub{color:var(--muted);font-size:var(--fs-sm);margin:8px 0 0;max-width:680px}.stats__foot{margin:22px 0 0;font-size:var(--fs-micro);color:var(--muted);line-height:1.7;max-width:720px}.stats-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,1.5fr);gap:12px;align-items:center;margin-top:14px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats-num{display:flex;flex-direction:column;gap:2px}.stats-num b{font-family:var(--font-serif);font-size:clamp(22px,2vw + 10px,30px);font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums}.stats-num b em{font-style:normal;font-size:.55em;color:var(--muted);font-weight:500}.stats-num span{font-size:var(--fs-micro);color:var(--muted)}.stats-meter__head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-micro);color:var(--muted);margin-bottom:6px}.stats-meter__head b{font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums}.stats-meter{position:relative;height:8px;border-radius:99px;background:var(--line);overflow:hidden}.stats-meter--sm{height:6px}.stats-meter>i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}.stats-meter__seen{background:var(--accent);opacity:.24}.stats-meter__mastered{background:var(--accent)}.stats-meter__legend{display:flex;gap:14px;margin-top:7px;font-size:var(--fs-micro);color:var(--muted)}.stats-meter__legend span{display:inline-flex;align-items:center;gap:5px}.lg{width:9px;height:9px;border-radius:3px;display:inline-block}.lg--seen{background:var(--accent);opacity:.24}.lg--mastered{background:var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;margin-top:14px}.stats-card{--sj: var(--accent);display:flex;flex-direction:column;gap:8px;text-align:left;padding:14px 15px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform .14s ease,border-color .14s ease}.stats-card:hover{transform:translateY(-1px);border-color:var(--line-2)}.stats-card:active{transform:translateY(0)}.stats-card__head{display:flex;align-items:center;gap:7px;font-size:var(--fs-body);font-weight:620}.stats-card__head b{margin-left:auto;font-family:var(--font-serif);font-size:var(--fs-title);font-weight:650;color:var(--sj);font-variant-numeric:tabular-nums}.stats-card__figs{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-micro);color:var(--ink-2);font-variant-numeric:tabular-nums}.stats-card__figs b{font-weight:650}.stats-card__tags{display:flex;flex-wrap:wrap;gap:4px}.tag{font-style:normal;font-size:11px;line-height:1.6;padding:1px 7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.tag--done{background:var(--green-soft);border-color:transparent;color:var(--green)}.tag--doing{background:var(--teal-soft);border-color:transparent;color:var(--teal)}.tag--weak{background:var(--rose-soft);border-color:transparent;color:var(--rose)}.stats-spark{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:2px}.stats-spark>i{flex:1;border-radius:2px 2px 1px 1px;min-height:3px}.stats-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;height:104px;padding:12px 14px 8px;margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats-bars__col{display:grid;grid-template-rows:1fr auto;align-items:end;gap:5px;height:100%}.stats-bars__col>i{width:100%;max-width:26px;justify-self:center;border-radius:3px 3px 1px 1px;background:var(--accent);opacity:.55;min-height:2px}.stats-bars__col>span{font-size:10px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.sd{display:flex;flex-direction:column;gap:16px}.sd__top{display:flex;gap:20px;align-items:center}.sd__ring{position:relative;flex:none;width:120px;height:120px}.sd__ring svg{display:block}.sd__ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.sd__ring-label b{font-family:var(--font-serif);font-size:26px;font-weight:650;font-variant-numeric:tabular-nums}.sd__ring-label span{font-size:11px;color:var(--muted)}.sd__grid{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sd__grid>div{padding:9px 12px;background:var(--surface-2);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:1px}.sd__grid b{font-size:var(--fs-title);font-weight:650;font-variant-numeric:tabular-nums}.sd__grid span{font-size:var(--fs-micro);color:var(--muted)}.sd__rows{border-top:1px solid var(--line)}.sd__row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.sd__row b{font-variant-numeric:tabular-nums}.sd__focus-row{padding:9px 12px;background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:6px}.sd__focus-q{font-size:var(--fs-sm);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.set-block{margin-top:18px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.set-block--plain{background:transparent;border:none;box-shadow:none;padding:4px 2px 0}.set-block__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.set-block__head h2{font-size:var(--fs-body);font-weight:650;margin:0}.set-block__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.set-block__foot .micro{max-width:460px;line-height:1.6}.qlist{display:flex;flex-direction:column}.qrow{display:grid;grid-template-columns:minmax(76px,1fr) auto auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.qrow:last-child{border-bottom:none}.qrow__name{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);font-weight:600}.stepper{display:flex;align-items:center;gap:4px}.stepper__label{font-size:var(--fs-micro);color:var(--muted);margin-right:2px}.stepper__btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:11px;background:var(--surface);color:var(--ink);font-size:19px;line-height:1;cursor:pointer;transition:background .12s ease}.stepper__btn:hover:not(:disabled){background:var(--surface-2)}.stepper__btn:disabled{opacity:.35;cursor:default}.stepper__num{min-width:30px;text-align:center;font-size:var(--fs-body);font-weight:650;font-variant-numeric:tabular-nums}.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.set-row:first-of-type{border-top:none}.set-row__label{font-size:var(--fs-sm);font-weight:600;margin-bottom:2px}.set-row__value{font-size:var(--fs-sm);color:var(--ink-2);font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:.02em}@media (max-width: 640px){.flashcard{min-height:46vh}.study__actions,.summary__grid{gap:8px}.learner-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.study__switch{display:none}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pick-card{min-height:124px;padding:15px 14px 13px}.pick__foot .btn{min-width:100%}.stats-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.stats-overview__meter{grid-column:1 / -1}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.stats-card{padding:12px 12px 10px}.stats-card__head{font-size:var(--fs-sm)}.stats-card__head b{font-size:var(--fs-body)}.stats-bars{height:88px;padding:10px 10px 6px;gap:2px}.qrow{grid-template-columns:1fr;gap:8px;padding:12px 0}.stepper{justify-content:space-between}.stepper__label{flex:1}.sd__top{flex-direction:column;align-items:stretch;gap:14px}.sd__ring{align-self:center}.set-row{flex-direction:column;align-items:flex-start;gap:8px}}@media (orientation: landscape) and (max-height: 620px){.study__bar{padding:8px 20px}.flashcard{min-height:0;padding:20px 28px}.flashcard__question{font-size:clamp(26px,2.8vw + 8px,42px)}.study__stage{padding:12px 20px}}@media (prefers-reduced-motion: reduce){*{animation-duration:1ms!important;transition-duration:1ms!important}}.link-btn{border:0;background:none;padding:0;margin:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.sheet__actions{display:flex;gap:10px}.sheet__actions>*{flex:1;min-width:0}.stats-content--embedded .stats__title{font-size:var(--fs-title)}.stats-content--embedded .stats-overview{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(150px,1.2fr)}.analysis__who{font-size:var(--fs-sm);font-weight:650;color:var(--ink-2)}.analysis__tabs{margin-bottom:4px}.analysis__pane{margin-top:2px}.analysis__hint{margin:0 0 10px;line-height:1.6}.kp{margin-top:12px}.kp--compact{margin-top:4px}.kp__subjects{margin-bottom:10px}.kp__subjects .tab em,.score__subjects .tab em{font-style:normal;font-size:11px;opacity:.65;margin-left:4px}.kp__overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:14px;padding:11px 16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sj, var(--accent));border-radius:var(--radius);margin-bottom:10px}.kp__nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:6px}.kp__nums>div{display:flex;flex-direction:column;line-height:1.25}.kp__nums b{font-size:clamp(20px,1.8vw + 10px,27px);font-weight:700}.kp__nums span{font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.kp__n-mastered{color:var(--green)}.kp__n-learning{color:var(--teal)}.kp__n-weak{color:var(--rose)}.kp__meter-wrap{display:flex;flex-direction:column;justify-content:center;gap:6px}.kp__start{float:right;border:0;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;font-size:var(--fs-micro);text-decoration:underline dotted}.kp__tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.kp__search{flex:1;min-width:180px}.kp__unit{width:min(300px,100%);flex:none}.kp__toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;cursor:pointer}.kp__toggle input{width:16px;height:16px;accent-color:var(--accent)}.kp__filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.kp__filter{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 13px;font-size:var(--fs-micro);cursor:pointer;white-space:nowrap}.kp__filter em{font-style:normal;opacity:.6;margin-left:3px}.kp__filter--on{background:var(--ink);color:#fff;border-color:var(--ink)}.kp__count{margin-left:auto;font-size:var(--fs-micro);color:var(--muted)}.kp__group{margin-bottom:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.kp__group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}.kp__group-head b{font-size:var(--fs-sm);font-weight:650}.kp__group-head span{font-size:var(--fs-micro);color:var(--muted)}.kp-item{padding:8px 14px;border-bottom:1px solid var(--line);cursor:pointer}.kp-item:last-child{border-bottom:0}.kp-item:hover{background:#fcfaf6}.kp-item__line{display:flex;align-items:flex-start;gap:10px}.kp-badge{flex:none;font-size:11px;line-height:1.7;padding:0 8px;border-radius:99px;white-space:nowrap;border:1px solid transparent}.kp-badge--mastered{background:var(--green-soft);color:var(--green)}.kp-badge--learning{background:var(--teal-soft);color:var(--teal)}.kp-badge--untouched{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.kp-item__front{flex:1;min-width:0;font-size:var(--fs-sm);line-height:1.65;word-break:break-word}.kp-item__right{display:flex;align-items:center;gap:5px;flex:none;flex-wrap:wrap;justify-content:flex-end;max-width:240px}.kp-item__interval{font-style:normal;font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.kp-item__caret{color:var(--muted);font-size:15px;width:14px;text-align:center}.kp-item__detail{margin:8px 0 2px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:default}.kp-item__answer{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);line-height:1.7;margin-bottom:10px}.kp-item__answer>span{flex:none;font-size:11px;color:var(--accent);border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:99px;padding:0 8px;line-height:1.8}.kp-item__facts{display:flex;flex-wrap:wrap;gap:5px 8px}.kp-item__facts span{font-size:var(--fs-micro);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:2px 7px}.kp__more{margin:4px 0 12px}.kp__foot{font-size:var(--fs-micro);color:var(--muted);line-height:1.7;margin:14px 0 0}.score{margin-top:6px}.score__head{margin-bottom:10px}.score__kinds{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.score__nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.score__nums>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;line-height:1.3}.score__nums b{font-size:clamp(18px,1.4vw + 10px,24px);font-weight:700;white-space:nowrap}.score__nums span{font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}.score__up{color:var(--green)}.score__down{color:var(--rose)}.score-chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 2px}.score-chart svg{display:block}.score__legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:8px 0 4px;font-size:var(--fs-micro);color:var(--ink-2)}.score__legend span{display:inline-flex;align-items:center;gap:5px}.score__legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.exam-form{margin-top:18px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 16px}.exam-form .section-title{margin:0 0 10px}.exam-form__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exam-form__grid label{display:flex;flex-direction:column;gap:4px;min-width:0}.exam-form__grid label>span{font-size:var(--fs-micro);color:var(--muted)}.exam-form__grid .input,.exam-form__grid .select{width:100%}.exam-form__note{grid-column:span 3}.exam-form__submit{margin-top:12px;min-width:140px}.score-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);font-size:var(--fs-sm)}.score-table__head,.score-table__row{display:grid;grid-template-columns:64px 76px 90px 72px 72px minmax(100px,1fr);gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.score-table--edit .score-table__head,.score-table--edit .score-table__row{grid-template-columns:64px 76px 90px 72px 72px minmax(100px,1fr) 76px}.score-table__head{background:var(--surface-2);font-size:var(--fs-micro);color:var(--muted)}.score-table__row:last-child{border-bottom:0}.score-table__row>span{min-width:0;word-break:break-word}.score__kind{font-style:normal;font-weight:650}.score__del{min-height:30px;padding:0 8px;font-size:var(--fs-micro)}.score__del--confirm{color:var(--rose);border-color:var(--rose)}@media (max-width: 900px){.kp__overview{grid-template-columns:1fr}.kp__nums{gap:4px}.exam-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-form__note{grid-column:span 2}.score__nums{grid-template-columns:repeat(3,minmax(0,1fr))}.score-table__head,.score-table__row{grid-template-columns:56px 64px 76px 60px 60px minmax(80px,1fr);font-size:var(--fs-micro)}.score-table--edit .score-table__head,.score-table--edit .score-table__row{grid-template-columns:56px 64px 76px 60px 60px minmax(80px,1fr) 64px}.kp-item__right{max-width:160px}}.mode-tabs{display:inline-flex;gap:2px;padding:3px;flex:none;background:var(--surface-2);border:1px solid var(--line);border-radius:999px}.mode-tabs__btn{border:0;background:transparent;color:var(--muted);font-size:var(--fs-micro);font-weight:650;padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}.mode-tabs__btn:hover{color:var(--ink)}.mode-tabs__btn--on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.pick__sub{max-width:900px}.term-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.input--sm{width:auto;min-width:140px;padding:6px 9px;font-size:var(--fs-micro)}.cp__free{margin-top:12px;padding:10px 16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.cp__free b{font-size:var(--fs-sm);color:var(--teal)}.chapter-pick__tabs{margin-top:14px}.outline-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.ou-unit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ou-unit--general{border-style:dashed}.ou-unit__head{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;border:0;background:var(--surface);text-align:left;cursor:pointer}.ou-unit__head:hover{background:#fcfaf6}.ou-unit__no{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:var(--fs-micro)}.ou-unit--general .ou-unit__no{background:var(--surface-2);color:var(--muted)}.ou-unit__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ou-unit__title b{font-size:var(--fs-sm);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ou-unit__caret{flex:none;color:var(--muted)}.ou-unit__body{border-top:1px solid var(--line)}.ou-chapter{width:100%;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.ou-chapter:last-of-type{border-bottom:0}.ou-chapter:hover{background:#fcfaf6}.ou-chapter--on{background:var(--accent-soft)}.ou-chapter__mark{flex:none;width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:5px;background:var(--surface);color:#fff;font-size:11px}.ou-chapter--on .ou-chapter__mark{background:var(--accent);border-color:var(--accent)}.ou-chapter__name{flex:1;min-width:0;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ou-chapter__modes{flex:none;color:var(--muted)}.ou-unit__all{margin:6px 14px 10px}.flashcard__meta{flex-wrap:wrap}.chip--unit{background:var(--accent-soft);color:var(--accent);max-width:min(340px,42vw);overflow:hidden;text-overflow:ellipsis}.chip--chapter{background:var(--surface-2);color:var(--ink-2);max-width:min(260px,32vw);overflow:hidden;text-overflow:ellipsis}.chip--mode{margin-right:8px;background:var(--teal-soft);color:var(--teal)}.mc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.mc--compact{padding:12px 14px}.mc__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.mc__head>div:first-child{display:flex;flex-direction:column;gap:3px}.mc__head b{font-size:var(--fs-body);font-weight:650}.mc__term{flex:none;width:140px;display:flex;flex-direction:column;gap:5px;text-align:right}.mc__term-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.mc__term-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}.mc__quad-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:8px}.mc__quad-top b{font-size:var(--fs-sm)}.mc__bar{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--surface-2)}.mc__bar i{display:block;height:100%}.mc__bar--both{background:var(--accent)}.mc__bar--random{background:var(--teal);opacity:.75}.mc__bar--chapter{background:var(--amber);opacity:.75}.mc__bar--none{background:var(--line-2)}.mc__legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:9px;font-size:var(--fs-micro);color:var(--ink-2)}.mc__legend span{display:inline-flex;align-items:center;gap:5px}.mc__lg--both,.mc__lg--random,.mc__lg--chapter,.mc__lg--none{width:8px;height:8px;border-radius:2px;display:inline-block}.mc__lg--both{background:var(--accent)}.mc__lg--random{background:var(--teal);opacity:.75}.mc__lg--chapter{background:var(--amber);opacity:.75}.mc__lg--none{background:var(--line-2)}.mc__duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.mc__duo-card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-2)}.mc__duo-card--random{border-left:3px solid var(--teal)}.mc__duo-card--chapter{border-left:3px solid var(--amber)}.mc__duo-name{display:flex;align-items:center;gap:7px;font-weight:650;font-size:var(--fs-sm);margin-bottom:9px}.mc__duo-figs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.mc__duo-figs>div{display:flex;flex-direction:column}.mc__duo-figs b{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.mc__duo-figs span{font-size:var(--fs-micro);color:var(--muted)}.mc__table-wrap{overflow-x:auto}.mc__table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.mc__table th,.mc__table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.mc__table th{background:var(--surface-2);font-size:var(--fs-micro);color:var(--muted);font-weight:650}.mc__table th small{display:block;font-weight:400;opacity:.8}.mc__table td:first-child{font-weight:600}.mc__table td:first-child .pick-card__dot{display:inline-block;margin-right:7px}.mc__cell b{font-variant-numeric:tabular-nums}.mc__mastery{display:flex;align-items:center;gap:8px}.mc__meter{width:70px;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.mc__meter i{display:block;height:100%;background:var(--accent)}.mc__advice{margin-top:16px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--accent-soft)}.mc__advice>b{font-size:var(--fs-sm)}.mc__advice p{margin:5px 0 0;line-height:1.7}.mc__gaps{margin-top:10px;display:flex;flex-direction:column;gap:6px}.mc__gap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-sm)}.mc__foot{font-size:var(--fs-micro);color:var(--muted);line-height:1.7;margin:12px 0 0}.kp__n-both{color:var(--accent)}.kp__filters--mode{margin-top:-4px;padding-top:8px;border-top:1px dashed var(--line)}.kp__filters--mode>span{margin-right:4px}.kp__book-unit{width:100%;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.kp__book-unit-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:8px 14px;background:var(--accent-soft);border-bottom:1px solid var(--line)}.kp__book-unit-head b{font-size:var(--fs-sm);font-weight:650}.kp__book-unit-head span{font-size:var(--fs-micro);color:var(--muted)}.kp__chapter-head{display:flex;justify-content:space-between;gap:10px;padding:6px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--fs-micro);color:var(--ink-2)}.kp__chapter-head b{font-weight:650}.kp__chapter-head span{color:var(--muted)}.kp-cov{font-style:normal;font-size:11px;line-height:1.7;padding:0 7px;border-radius:99px;white-space:nowrap;border:1px solid var(--line);background:var(--surface-2);color:var(--muted)}.kp-cov--both{background:var(--accent-soft);color:var(--accent);border-color:transparent}.kp-cov--random{background:var(--teal-soft);color:var(--teal);border-color:transparent}.kp-cov--chapter{background:var(--amber-soft);color:var(--amber);border-color:transparent}.kp-item__modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.kp-mode{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.kp-mode b{font-size:var(--fs-micro);color:var(--ink-2)}.kp-mode span{font-size:var(--fs-micro);color:var(--muted);line-height:1.6}.kp-mode--random{border-left:3px solid var(--teal)}.kp-mode--chapter{border-left:3px solid var(--amber)}.sync-boot{position:fixed;top:0;left:0;right:0;z-index:90;padding:7px 16px;text-align:center;font-size:var(--fs-micro);color:var(--teal);background:var(--teal-soft);border-bottom:1px solid var(--line)}.sync-banner{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:95;width:min(680px,calc(100% - 24px));display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius);background:var(--rose-soft);border:1px solid var(--rose);box-shadow:var(--shadow-lg)}.sync-banner__text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.sync-banner__text b{color:var(--rose);font-size:var(--fs-sm)}.sync-banner__text span{font-size:var(--fs-micro);color:var(--ink-2);line-height:1.5}.sync-banner__actions{display:flex;gap:8px;flex-shrink:0}.btn--sm{padding:7px 14px;font-size:var(--fs-micro);border-radius:var(--radius-sm)}.sync-badge{margin-left:8px;padding:2px 7px;border-radius:99px;font-size:var(--fs-micro);font-style:normal;color:var(--teal);background:var(--teal-soft)}.sync-form{display:flex;flex-direction:column;gap:9px;margin-top:14px}.sync-form__row{display:flex;align-items:center;gap:12px}.sync-form__row>span:first-child{width:76px;flex-shrink:0;font-size:var(--fs-sm);color:var(--ink-2)}.sync-form__row .input{flex:1;min-width:0}.sync-form__times{display:flex;gap:8px;flex:1}.sync-form__times .input{width:112px;flex:0 0 auto}.sync-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:var(--fs-micro);color:var(--muted)}.sync-stats b{color:var(--ink);font-weight:600}.sync-note{margin-top:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--ink-2);font-size:var(--fs-micro);line-height:1.55}body.has-sync-banner .sync-banner{left:0;right:0;bottom:0;transform:none;width:100%;border-radius:16px 16px 0 0;padding:14px 18px 18px}body.has-sync-banner .study__footer{visibility:hidden}body.has-sync-banner .stats__body,body.has-sync-banner .pick__body{padding-bottom:96px}@media (max-width: 900px){.mc__duo,.kp-item__modes{grid-template-columns:1fr}.mc__term{width:100px}.ou-chapter__modes{display:none}.mode-tabs__btn{padding:6px 9px}}@media (max-width: 640px){.sync-form__row{flex-wrap:wrap}.sync-form__row>span:first-child{width:100%}.sync-form__times .input{width:100%}.sync-banner{flex-direction:column;align-items:stretch}.sync-banner__actions{justify-content:flex-end}}
