.bt{--seal:#B3261E;--jade:#2F6F5E;--ink:#1D2A33;--ink-soft:#4E5D68;--paper:#F8F7F2;--card:#FFFFFF;--line:#E4DDCB;--wash:#F3EFE4}.bt-shell{max-width:992px}.bt{padding:24px 0 64px}.bt-kicker{color:var(--seal);font-weight:700;font-size:.8rem;letter-spacing:.04em;margin:0 0 6px}.bt h1{font-family:"Noto Serif SC","Source Serif 4",serif;font-size:clamp(1.6rem,4vw,2.2rem);margin:0 0 8px;text-wrap:balance}.bt-lead{font-family:"Source Serif 4",serif;font-size:1.06rem;line-height:1.65;color:var(--ink-soft);max-width:68ch;margin:0 0 14px}.bt-me{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 26px}.bt-me div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.bt-me b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums}.bt-me span{font-size:.8rem;color:var(--ink-soft)}.bt-me .is-next{border-color:var(--seal);background:#fbedeb}.bt-me .is-next a{display:block;color:var(--seal);font-weight:700;font-size:.88rem;text-decoration:none}.bt-sec{margin:0 0 30px}.bt-sec-h{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:1.2rem}.bt-sec-note{margin:0 0 12px;color:var(--ink-soft);font-size:.9rem;line-height:1.5;max-width:72ch}.stamp{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-family:"Noto Serif SC",serif;font-weight:700;font-size:1rem;color:#fff}.stamp--exam{background:var(--seal);box-shadow:inset 0 0 0 2px #ffffff59}.stamp--plus{background:var(--jade);box-shadow:inset 0 0 0 2px #ffffff59}.stamp--sm{width:22px;height:22px;font-size:.75rem;border-radius:5px}.bt-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bt-skill{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.bt-skill h3{margin:0;font-size:1rem;display:flex;justify-content:space-between;align-items:baseline}.bt-skill h3 small{font-weight:500;color:var(--ink-soft);font-size:.78rem}.part{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center;padding:9px 10px;border-radius:10px;background:var(--wash);text-decoration:none;color:inherit}.part:hover{background:#ece6d6}.part-no{font:700 .75rem Be Vietnam Pro,sans-serif;color:var(--seal);white-space:nowrap}.part-name{font-weight:600;font-size:.9rem;line-height:1.3}.part-go{font-size:.8rem;color:var(--seal);font-weight:700}.part-meta{grid-column:2 / 4;font-size:.76rem;color:var(--ink-soft);display:flex;gap:8px;align-items:center}.bar{flex:1;height:5px;border-radius:3px;background:#e1daca;overflow:hidden;max-width:90px}.bar i{display:block;height:100%;background:var(--jade)}.bt-mock{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;border:1.5px dashed var(--seal);border-radius:12px;background:#fff9f7}.bt-mock p{margin:0;flex:1;min-width:220px;font-size:.9rem}.btn{display:inline-block;padding:9px 16px;border-radius:999px;font-weight:700;font-size:.88rem;text-decoration:none;border:1px solid var(--line);color:var(--ink);background:var(--card)}.btn--seal{background:var(--seal);border-color:var(--seal);color:#fff}.bt-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 10px}.stage{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:inherit}.stage b{display:block;font-size:.95rem}.stage span{font-size:.78rem;color:var(--ink-soft)}.stage.is-done{border-color:var(--jade)}.stage.is-done b:after{content:" ✓";color:var(--jade)}.bt-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.extra{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;text-decoration:none;color:inherit}.extra b{display:block;font-size:.93rem}.extra span{font-size:.8rem;color:var(--ink-soft);line-height:1.45}.extra em{display:block;margin-top:4px;font-style:normal;font-size:.72rem;font-weight:700;color:var(--jade)}@media (max-width:820px){.bt-skills,.bt-extra{grid-template-columns:1fr}.bt-stages,.bt-me{grid-template-columns:repeat(2,1fr)}}a:focus-visible{outline:2px solid #3F6C8C;outline-offset:2px}.bt-crumb{font-size:.82rem;color:var(--ink-soft);margin:0 0 6px}.bt-crumb a{color:var(--ink-soft)}.bt-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.82rem;color:var(--ink-soft);margin:0 0 18px}.bt-legend span{display:inline-flex;gap:6px;align-items:center}.part[aria-disabled=true]{opacity:.55;pointer-events:none}.part.is-weak{box-shadow:inset 3px 0 0 var(--seal)}.bt-lessons{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.bt-lessons li{display:flex;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.bt-lessons li>a:first-child{flex:1;display:flex;gap:10px;align-items:center;padding:8px 10px;text-decoration:none;color:var(--ink);min-width:0}.bt-ln{flex:none;width:26px;height:26px;border-radius:50%;background:var(--jade);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem}.bt-lt{font-size:.86rem;line-height:1.35}.bt-lt small{color:var(--ink-soft)}.bt-lr{flex:none;display:flex;align-items:center;padding:0 12px;font-weight:700;font-size:.8rem;color:var(--seal);text-decoration:none;border-left:1px solid var(--line)}.bt-lr:hover{background:#fbedeb}.bt-faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 8px}.bt-faq summary{font-weight:600;cursor:pointer}.bt-faq p{margin:8px 0 0;line-height:1.6;color:var(--ink-soft)}.bt-upd{font-size:.78rem;color:var(--ink-soft)}.bt-lvcard{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink)}.bt-lvcard b{font-size:1.3rem}.bt-lvcard span{font-size:.85rem;color:var(--ink-soft)}.bt-lvcard em{font-style:normal;color:var(--seal);font-weight:700;font-size:.85rem}.bt .bt-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:820px){.bt-lessons,.bt .bt-levels{grid-template-columns:1fr}}.bt-cds{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}.bt-cds a{display:block;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--card);text-decoration:none;color:var(--ink);font-size:.92rem}.bt-cds a:hover{border-color:var(--seal)}.bt-cds a.bt-cds-all{font-weight:600;color:var(--seal)}.part .bt-ml{grid-column:2 / 4}.ml-line.bt-ml-line{margin:8px 0 16px}.tn{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 16px 18px}.tn-score{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.tn-last{display:inline-block;margin:0 0 12px 8px;font-size:.82rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.tn-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.tn-unit{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper);min-width:0}.tn-tag{margin:0 0 10px;font-size:.78rem;font-weight:700;color:var(--seal);letter-spacing:.02em}.tn-zh{font-family:"Noto Serif SC",serif;font-size:1.12rem;line-height:1.7;overflow-wrap:anywhere}.tn-ruby{line-height:2.3}.tn-ruby ruby{margin:0 .1em}.tn-ruby rt{font:400 .62rem Be Vietnam Pro,sans-serif;color:var(--ink-soft)}.tn-blank{display:inline-block;min-width:2.2em;border-bottom:2px solid var(--ink);text-align:center;line-height:1.2}.tn-blank--no{min-width:1.8em;margin:0 2px;font:700 .8rem Be Vietnam Pro,sans-serif;color:var(--seal);border-bottom-color:var(--seal)}.tn-bank{margin:0 0 12px;padding:0;list-style:none}.tn-bank--pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tn-pic{margin:0;position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px}.tn-pic b{position:absolute;top:4px;left:6px;font-size:.8rem;background:var(--ink);color:#fff;border-radius:6px;padding:1px 6px}.tn-pic svg{display:block;width:100%;height:auto;border-radius:8px}.tn-bank--text{display:flex;flex-direction:column;gap:4px}.tn-bank--text li{display:flex;gap:8px;align-items:baseline;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 10px}.tn-bank b,.tn-bank--words b{flex:none;font-size:.8rem;color:var(--seal)}.tn-bank--words{display:flex;flex-wrap:wrap;gap:6px 14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.tn-bank--words>span{display:inline-flex;gap:6px;align-items:baseline}.tn-passage{margin:0 0 6px}.tn-passage--long{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 12px}.tn-passage--long .tn-zh{font-size:1.05rem;line-height:1.85}.tn-star .tn-zh{font-size:1rem}.tn-q{padding:10px 0 4px;border-top:1px dashed var(--line)}.tn-q:first-of-type{border-top:0}.tn-stem{display:flex;gap:10px;align-items:flex-start;margin:0 0 8px}.tn-stem>div,.tn-stem>span:not(.tn-no){min-width:0}.tn-stem-note{font-size:.85rem;color:var(--ink-soft);align-self:center}.tn-no{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;margin-top:4px}.tn-opts{display:flex;flex-wrap:wrap;gap:8px}.tn-opts--col{flex-direction:column}.tn-opt{min-height:44px;min-width:44px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:600 .95rem Be Vietnam Pro,sans-serif;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.tn-opt b{flex:none;color:var(--seal)}.tn-opts--letters .tn-opt{justify-content:center;width:48px;padding:6px}.tn-opts--letters .tn-opt b{color:inherit}.tn-opts--col .tn-opt{width:100%}.tn-opt .tn-zh{font-size:1.05rem;line-height:1.5}.tn-opt .tn-ruby{line-height:2.1}.tn-big{font-size:1.5rem!important}@media (hover:hover){.tn-q:not(.is-done) .tn-opt:hover{border-color:var(--seal)}}.tn-opt:focus-visible{outline:2px solid #3F6C8C;outline-offset:2px}.tn-q.is-done .tn-opt{cursor:default;opacity:.6}.tn-q.is-done .tn-opt.is-key{opacity:1;border-color:var(--jade);background:#e6f2ec;color:#1f4f42}.tn-q.is-done .tn-opt.is-picked:not(.is-key){opacity:1;border-color:var(--seal);background:#fbedeb;color:#8a1f17;text-decoration:line-through}.tn-verdict{margin:6px 0 0;font-size:.86rem;font-weight:700;min-height:0}.tn-verdict:empty{display:none}.tn-q.is-right .tn-verdict{color:var(--jade)}.tn-q.is-wrong .tn-verdict{color:var(--seal)}.tn-comp-word{font-family:"Noto Serif SC",serif;font-size:1.8rem;display:inline-flex;align-items:center;gap:2px}.tn-comp{display:inline-flex;align-items:center;border:1.5px dashed var(--seal);border-radius:8px;padding:0 6px}.tn-comp i{font-style:normal;font-size:1rem;color:var(--seal)}.tn-comp-hint{display:block;font-size:.85rem;color:var(--ink-soft)}.tn-key{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.tn-key summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--jade);min-height:44px;display:flex;align-items:center}.tn-key p{margin:6px 0;font-size:.92rem;line-height:1.6}.tn-ans [lang=zh],.tn-why{overflow-wrap:anywhere}.tn-line{display:flex;flex-direction:column;padding:6px 0;border-top:1px dotted var(--line)}.tn-lzh{font-family:"Noto Serif SC",serif}.tn-lzh:empty{display:none}.tn-lpy{font-size:.82rem;color:#3f6c8c}.tn-lvi{font-size:.88rem;color:var(--ink-soft)}.tn-result{margin-top:16px;padding:16px;border:2px solid var(--seal);border-radius:14px;background:#fff9f7;scroll-margin-top:60px}.tn-result-score{margin:0;font-size:1rem}.tn-result-score b{font-size:1.8rem;color:var(--seal);font-variant-numeric:tabular-nums}.tn-result-msg{margin:6px 0 12px;line-height:1.55}.tn-cta{display:flex;flex-wrap:wrap;gap:10px}.tn-cta .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:10px 18px;font-size:.95rem}.tn-cta-note{margin:10px 0 0;font-size:.82rem;color:var(--ink-soft);line-height:1.5}.tn-again{margin-top:10px;min-height:44px;padding:0 4px;border:0;background:none;color:var(--ink-soft);font:600 .86rem Be Vietnam Pro,sans-serif;text-decoration:underline;cursor:pointer}.tn-jump{position:fixed;left:50%;top:78px;transform:translate(-50%);z-index:1000;white-space:nowrap;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:var(--seal);color:#fff;font:700 .92rem Be Vietnam Pro,sans-serif;box-shadow:0 6px 18px #0003;cursor:pointer}@media (max-width:560px){.tn{padding:12px 10px 14px;border-radius:12px}.tn-unit{padding:10px 8px}.tn-cta .btn{width:100%}.tn-opts--letters{gap:6px}.tn-opts--letters .tn-opt{width:calc((100% - 30px) / 6);min-width:44px}}.tn-cta-note{position:relative}.tn-help{display:inline;position:static}.tn-help summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -6px -12px -4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.tn-help summary::-webkit-details-marker{display:none}.tn-help summary:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-soft);color:var(--ink-soft);font-weight:700;font-size:.8rem}.tn-help summary{font-size:0}.tn-help[open] summary:before{background:var(--ink);border-color:var(--ink);color:#fff}.tn-help-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;padding:10px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:.84rem;line-height:1.5;box-shadow:0 6px 18px #0003}
