@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Serif+SC:wght@600&family=ZCOOL+KuaiLe&display=swap";.tml,.tml *{box-sizing:border-box}.tml{font-family:var(--font-sans);color:var(--ink);font-size:16px;line-height:24px;font-weight:600;-webkit-font-smoothing:antialiased}.tml-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.tml-stack{display:flex;flex-direction:column;gap:var(--space-4)}.tml-hanzi{font-family:var(--font-hanzi)}.tml :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.tml-dots{background-color:var(--surface-100);background-image:radial-gradient(var(--dot) 1.6px,transparent 1.8px);background-size:24px 24px}.tml-sticker{background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker)}.tml-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:52px;padding:0 26px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-pill);box-shadow:var(--shadow-press);font:700 18px/20px var(--font-display);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .12s,box-shadow .12s}.tml-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--outline)}.tml-btn:active{transform:translateY(3px);box-shadow:var(--shadow-pressed)}.tml-btn--primary{background:var(--lab-blue);color:var(--on-lab-blue)}.tml-btn--secondary{background:var(--surface-000);color:var(--ink)}.tml-btn--fun{background:var(--highlight);color:var(--on-highlight)}.tml-btn--sm{min-height:42px;padding:0 18px;font-size:16px}.tml-btn[disabled]{background:var(--surface-200);color:var(--ink-muted);border-style:dashed;box-shadow:none;transform:none;cursor:not-allowed}.tml-btn svg{width:20px;height:20px}.tml-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--ink);font:800 14px/18px var(--font-sans);white-space:nowrap}.tml-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--lab-blue);font:800 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.tml-tag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:2px solid currentColor;border-radius:var(--radius-pill);font:800 12px/1 var(--font-sans);white-space:nowrap}.tml-tag--free{background:var(--mint);color:var(--success)}.tml-tag--account{background:var(--sky);color:var(--lab-blue)}.tml-tag--paid{background:var(--peach);color:var(--coral-ink)}.tml-tag--class{background:var(--lilac);color:var(--ink)}.tml-tag--new{background:var(--coral);color:var(--on-highlight);border-color:var(--on-highlight)}.tml-tag--soon{background:repeating-linear-gradient(45deg,var(--surface-200) 0 6px,var(--surface-000) 6px 12px);color:var(--ink-muted);border-style:dashed}.tml-level{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 14px 0 4px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-pill);background:var(--lv-soft);color:var(--ink);box-shadow:0 3px 0 var(--outline);font:800 14px/1 var(--font-sans);white-space:nowrap}.tml-level__seal{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--lv);color:#fff;font:700 13px/1 var(--font-hanzi)}.tml-level--1 .tml-level__seal,.tml-level--3 .tml-level__seal{color:#1f2a55}.tml-level__title{font-family:var(--font-hanzi);font-weight:500;color:var(--ink-muted)}.tml-level--1{--lv: var(--level-1);--lv-soft: var(--level-1-soft)}.tml-level--2{--lv: var(--level-2);--lv-soft: var(--level-2-soft)}.tml-level--3{--lv: var(--level-3);--lv-soft: var(--level-3-soft)}.tml-level--4{--lv: var(--level-4);--lv-soft: var(--level-4-soft)}.tml-level--5{--lv: var(--level-5);--lv-soft: var(--level-5-soft)}.tml-level--6{--lv: var(--level-6);--lv-soft: var(--level-6-soft)}.tml-level--7{--lv: var(--level-7);--lv-soft: var(--level-7-soft)}[data-theme=dark] .tml-level__seal{color:#141b3a}.tml-frame{display:block;aspect-ratio:1 / 1;object-fit:contain;max-width:100%;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1));transform-origin:50% 90%;animation:tml-float 4.2s ease-in-out infinite;transition:transform .28s cubic-bezier(.3,1.5,.5,1)}.tml-frame--tile{border-radius:0;animation-duration:5s}.tml-frame:nth-of-type(2n){animation-delay:-1.7s}a:hover .tml-frame,button:hover .tml-frame,.tml-frame:hover{transform:scale(1.07) rotate(-2.5deg)}@keyframes tml-float{0%,to{translate:0 0}50%{translate:0 -5px}}@keyframes tml-pop{0%{scale:.6;opacity:0}70%{scale:1.06;opacity:1}to{scale:1}}@media(prefers-reduced-motion:reduce){.tml-frame{animation:none;transition:none}}.tml-frame--s{width:56px}.tml-frame--m{width:96px}.tml-frame--l{width:160px}.tml-rad{display:flex;flex-direction:column;gap:2px;width:108px;padding:10px 10px 12px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-m);background:var(--grp, var(--sky));box-shadow:var(--shadow-press);color:var(--ink)}.tml-rad__top{display:flex;justify-content:space-between;font:800 12px/14px var(--font-sans);color:var(--ink-muted)}.tml-rad__hz{text-align:center;font:700 38px/46px var(--font-hanzi)}.tml-rad__vi{text-align:center;font:700 13px/16px var(--font-sans)}.tml-rad--nature{--grp: var(--mint)}.tml-rad--people{--grp: var(--peach)}.tml-rad--force{--grp: var(--lilac)}.tml-rad--lit{box-shadow:0 0 0 4px var(--highlight),var(--shadow-press)}.tml-react{display:flex;flex-direction:column;gap:var(--space-4);padding:24px;max-width:470px}.tml-react__eq{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.tml-react__cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:92px;height:104px;border:var(--stroke) solid var(--outline);border-radius:22px;box-shadow:var(--shadow-press)}.tml-react__cell b{font:700 44px/48px var(--font-hanzi)}.tml-react__cell small{font:700 13px/16px var(--font-sans);color:var(--ink-muted)}.tml-react__op{font:800 34px/1 var(--font-display);color:var(--coral)}.tml-react__out{width:132px;height:148px;border-radius:var(--radius-l);background:var(--butter);box-shadow:var(--shadow-sticker)}.tml-react__out b{font-size:68px;line-height:74px;color:var(--lab-blue)}.tml-react__out small{font-size:15px;font-weight:800;color:var(--lab-blue)}.tml-react__mean{text-align:center;font:800 22px/28px var(--font-display)}.tml-vocab{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 18px 18px;max-width:360px;border-radius:32px}.tml-vocab__glyph{display:grid;place-items:center;width:168px;height:168px;border:3px solid var(--outline);border-radius:var(--radius-xl);background:var(--sky);box-shadow:var(--shadow-sticker);color:var(--lab-blue);font:700 108px/1 var(--font-hanzi)}.tml-vocab__pinyin{margin-top:8px;font:800 26px/30px var(--font-display);color:var(--lab-blue)}.tml-vocab__mean{font:800 22px/26px var(--font-display)}.tml-vocab__ex{align-self:stretch;padding:12px 14px;border:2px dashed var(--outline);border-radius:20px;background:var(--butter);font-size:14px;line-height:20px}.tml-audio{display:grid;place-items:center;width:52px;height:52px;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--highlight);color:var(--on-highlight);box-shadow:var(--shadow-press);cursor:pointer}.tml-acts{display:flex;gap:4px;padding:4px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--sky);overflow-x:auto;max-width:100%}.tml-acts button{flex:none;display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 14px;border:2px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);font:800 14px/1 var(--font-sans);cursor:pointer}.tml-acts button[aria-selected=true]{background:var(--surface-000);border-color:var(--outline);color:var(--lab-blue);box-shadow:0 3px 0 var(--outline)}.tml-acts .lock{width:12px;height:12px}.tml-path{position:relative;display:flex;flex-direction:column;gap:18px;max-width:360px;padding:8px 0}.tml-path__step{display:flex;align-items:center;gap:12px}.tml-path__step:nth-child(2n){flex-direction:row-reverse;text-align:right}.tml-node{flex:none;display:grid;place-items:center;width:68px;height:68px;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--surface-000);color:var(--ink);box-shadow:var(--shadow-sticker);font:800 22px/1 var(--font-display);text-decoration:none}.tml-node--done{background:var(--lab-blue);color:var(--on-lab-blue)}.tml-node--now{width:84px;height:84px;background:var(--highlight);color:var(--on-highlight);font-size:30px;box-shadow:var(--shadow-sticker),0 0 0 8px color-mix(in srgb,var(--highlight) 45%,transparent)}.tml-node--soon{background:repeating-linear-gradient(45deg,var(--surface-200) 0 7px,var(--surface-000) 7px 14px);color:var(--ink-muted);border-style:dashed;box-shadow:none}.tml-path__t{display:block;font:800 16px/20px var(--font-display)}.tml-path__s{display:block;font:700 12px/15px var(--font-sans);color:var(--ink-muted)}.tml-ready{display:flex;align-items:center;gap:14px;padding:14px 16px;max-width:420px}.tml-ready__bar{height:16px;margin-top:8px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-200);overflow:hidden}.tml-ready__bar>span{display:block;height:100%;background:repeating-linear-gradient(-45deg,var(--lv, var(--lab-blue)) 0 8px,color-mix(in srgb,var(--lv, var(--lab-blue)) 80%,#FFFFFF) 8px 16px)}.tml-ready__pct{font:800 30px/32px var(--font-display);font-variant-numeric:tabular-nums}.tml-ready__lbl{font:800 13px/18px var(--font-sans);color:var(--ink-muted)}.tml-mascot{display:flex;gap:10px;align-items:flex-end;max-width:460px}.tml-mascot .tml-frame{width:92px;flex:none}.tml-mascot__bubble{flex:1;min-width:0;padding:12px 14px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:22px 22px 22px 6px;box-shadow:0 4px 0 var(--outline)}.tml-mascot__name{font:800 12px/14px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--lab-blue)}.tml-mascot__text{margin:2px 0 0;font:700 15px/21px var(--font-sans)}.tml-header{display:flex;align-items:center;gap:20px;padding:10px 12px 10px 20px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-pill);box-shadow:0 5px 0 var(--outline)}.tml-header__logo{height:40px;width:auto;display:block}.tml-header nav{display:flex;gap:2px;flex:1;justify-content:center}.tml-header nav a{padding:8px 14px;border-radius:var(--radius-pill);color:var(--ink);text-decoration:none;font:700 16px/20px var(--font-sans);white-space:nowrap}.tml-header nav a:hover,.tml-header nav a[aria-current=page]{background:var(--sky);color:var(--lab-blue)}.tml-logo-dark,[data-theme=dark] .tml-logo-light{display:none}[data-theme=dark] .tml-logo-dark{display:block}.tml-tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;height:var(--tabbar-h);padding:6px;max-width:362px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:26px;box-shadow:var(--shadow-press)}.tml-tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:18px;color:var(--ink-muted);text-decoration:none;font:800 11px/14px var(--font-sans)}.tml-tabbar a svg{width:24px;height:24px}.tml-tabbar a[aria-current=page]{background:var(--sky);color:var(--lab-blue)}.tml-tabbar .dot{position:absolute;top:6px;right:14px;width:10px;height:10px;border-radius:50%;background:var(--coral);border:2px solid var(--outline)}.tml-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:700 14px/20px var(--font-sans);color:var(--ink-muted)}.tml-crumbs a{color:var(--ink-muted);text-decoration:none;padding:2px 8px;border-radius:var(--radius-pill)}.tml-crumbs a:hover{background:var(--sky);color:var(--lab-blue)}.tml-crumbs [aria-current]{padding:2px 10px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--highlight);color:var(--on-highlight);font-weight:800}.tml-course{display:flex;flex-direction:column;gap:10px;padding:24px;max-width:340px;color:var(--ink);text-decoration:none;transition:transform .15s}.tml-course:hover{transform:translateY(-4px)}.tml-course__top{display:flex;align-items:center;justify-content:space-between}.tml-course__no{display:grid;place-items:center;width:48px;height:48px;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--lab-blue);color:var(--on-lab-blue);font:800 22px/1 var(--font-display)}.tml-course .tml-frame{align-self:center;width:120px}.tml-course__title{margin:0;font:800 26px/30px var(--font-display)}.tml-course__desc{margin:0;font:600 16px/24px var(--font-sans);color:var(--ink-muted)}.tml-door{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 24px 24px;max-width:320px;border-radius:var(--radius-door) var(--radius-door) var(--radius-l) var(--radius-l);text-align:center;color:var(--ink);text-decoration:none;transition:transform .15s}.tml-door:hover{transform:translateY(-4px)}.tml-door__no{display:grid;place-items:center;width:64px;height:64px;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--surface-000);font:800 30px/1 var(--font-display)}.tml-door__t{font:800 26px/30px var(--font-display)}.tml-door__d{font:600 16px/24px var(--font-sans);color:var(--ink-muted)}.tml-door__go{font:800 16px/20px var(--font-sans);color:var(--lab-blue)}.tml-soon{padding:24px;border:var(--stroke) dashed var(--outline);border-radius:var(--radius-l);background:var(--surface-000)}.tml-soon h3{margin:0 0 4px;font:800 22px/26px var(--font-display)}.tml-soon p{margin:0 0 var(--space-4);font:600 15px/22px var(--font-sans);color:var(--ink-muted)}.tml-soon ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.tml-feedback{display:flex;gap:var(--space-3);align-items:flex-start;padding:14px 16px;border:var(--stroke) solid var(--outline);border-radius:22px;box-shadow:var(--shadow-press);max-width:480px}.tml-feedback--ok{background:var(--mint)}.tml-feedback--no{background:var(--peach)}.tml-feedback__icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--outline);border-radius:50%;color:#fff;font:800 16px/1 var(--font-sans)}.tml-feedback--ok .tml-feedback__icon{background:var(--success)}.tml-feedback--no .tml-feedback__icon{background:var(--danger)}[data-theme=dark] .tml-feedback__icon{color:#141b3a}.tml-feedback__title{font:800 18px/22px var(--font-display)}.tml-feedback--ok .tml-feedback__title{color:var(--success)}.tml-feedback--no .tml-feedback__title{color:var(--danger)}.tml-feedback__text{font:600 14px/20px var(--font-sans)}@media(max-width:760px){.tml-header{gap:10px;padding-left:14px}.tml-header nav,.tml-header>a:not(.tml-btn){display:none}.tml-header .tml-btn{margin-left:auto}.display-xl{font-size:44px;line-height:48px}.display-l{font-size:34px;line-height:38px}}@media(prefers-reduced-motion:reduce){.tml *{transition:none!important}}:is(img[src*="/img/linh-vat-tieu-"],img[src*="/img/khoa-bang-tieu-"]):not(#_){background:radial-gradient(closest-side,rgba(20,34,80,.42),rgba(20,34,80,.16) 60%,transparent) no-repeat 50% 98.4% / 54% 7.5%;filter:drop-shadow(4px 6px 6px rgba(20,34,80,.14));border:0;border-radius:0;box-shadow:none;object-fit:contain;overflow:visible;transform-origin:50% 95%;animation:tml-breathe 3.8s ease-in-out infinite;translate:none}:is(img[src*="/img/linh-vat-tieu-"],img[src*="/img/khoa-bang-tieu-"]):not(#_):nth-of-type(2n){animation-delay:-1.6s}@keyframes tml-breathe{0%,to{scale:1 1;rotate:0deg}30%{scale:1.012 .988;rotate:-1.2deg}65%{scale:.992 1.022;rotate:1deg}}@media(prefers-reduced-motion:reduce){:is(img[src*="/img/linh-vat-tieu-"],img[src*="/img/khoa-bang-tieu-"]):not(#_){animation:none}}