/*! © The Mandarin Lab (themandarinlab.vn). Mã nguồn, thiết kế và nội dung do The Mandarin Lab biên soạn – bảo lưu mọi quyền. Không sao chép, đăng lại hay khai thác tự động khi chưa được phép. Nội dung của bên thứ ba theo giấy phép gốc. Điều khoản: https://www.themandarinlab.vn/dieu-khoan */.bt{--b:var(--sky);--bd:var(--lab-blue);--bk:var(--lab-blue);--p:var(--peach);--pd:var(--danger);--pk:var(--danger);--g:var(--mint);--gd:var(--success);--gk:var(--outline);--navy:var(--outline);color:var(--navy);font-family:var(--font-sans)}.bt-in{display:flex;flex-direction:column;gap:12px;height:100%}.bt-h{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.bt-back{display:none;flex:none;width:38px;height:38px;border-radius:12px;border:1.5px solid var(--surface-200);background:var(--surface-000);color:var(--navy);font:700 26px/34px system-ui;text-align:center;text-decoration:none}.bt-ti{display:flex;flex-direction:column}.bt-ti b{font-size:22px;font-weight:800;line-height:1.15}.bt-ti small{font:700 11px var(--font-sans);letter-spacing:.12em;color:var(--ink-muted)}.bt-k{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-muted);flex-wrap:wrap}.bt-k i{width:12px;height:12px;border-radius:3px;margin-left:6px}.bt-k i.b{background:var(--b);border:1.5px solid var(--bd)}.bt-k i.p{background:var(--p);border:1.5px solid var(--pd)}.bt-k i.g{background:var(--g);border:1.5px solid var(--gd)}.bt-f{margin-left:auto;padding:5px 12px;border-radius:99px;background:var(--peach);color:var(--ink);font-size:12.5px;font-weight:700;white-space:nowrap}.bt-body{display:flex;gap:14px;align-items:flex-start;min-height:0}.bt-tb{flex:1;min-width:0;overflow:auto}.bt-g{display:grid;grid-template-columns:30px repeat(18,minmax(42px,1fr));grid-template-rows:repeat(12,auto) 10px auto auto;gap:4px}.bt-c{position:relative;aspect-ratio:1/1.08;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;border-radius:8px;border:1.5px solid;cursor:pointer;transition:transform .12s,opacity .2s,box-shadow .15s;font-family:inherit}.bt-c.b{background:var(--b);border-color:var(--bd);color:var(--bk)}.bt-c.p{background:var(--p);border-color:var(--pd);color:var(--pk)}.bt-c.g{background:var(--g);border-color:var(--gd);color:var(--gk)}.bt-c .n{position:absolute;left:4px;top:2px;font:600 9px var(--font-sans);opacity:.8}.bt-c .py{position:absolute;right:4px;top:2px;font:600 9px var(--font-sans);opacity:.8;max-width:60%;overflow:hidden;white-space:nowrap}.bt-c .zh{font-family:var(--font-hanzi);font-size:clamp(17px,2vw,26px);font-weight:700;line-height:1;color:var(--navy);margin-top:4px}.bt-c .kx{position:absolute;right:4px;bottom:15px;font-size:9px;font-style:normal;opacity:.6}.bt-c .vi{font-size:9.5px;font-weight:600;line-height:1.1;margin-top:3px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bt-c .cnt{position:absolute;right:-4px;top:-6px;font:800 10px system-ui;color:var(--on-lab-blue);background:var(--danger);border-radius:99px;padding:0 4px}.bt-c .cnt:empty{display:none}.bt-c:hover{transform:translateY(-2px)}.bt-c.on{box-shadow:0 0 0 2px var(--navy),3px 3px 0 var(--navy);transform:translateY(-2px)}.bt-c.can{box-shadow:0 0 0 2px var(--coral),0 0 12px #f59e0b8c;animation:btCan 1.4s ease-in-out infinite}@keyframes btCan{50%{box-shadow:0 0 0 2px var(--coral),0 0 2px #f59e0b33}}.bt-c.dim{opacity:.32}.bt-c.blink{animation:btBlink .6s ease-in-out 4;opacity:1}@keyframes btBlink{50%{transform:scale(1.15);box-shadow:0 0 0 3px var(--danger)}}.bt-rx{flex:none;width:250px;position:sticky;top:12px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;border:2px solid var(--navy);border-radius:18px;background:var(--surface-000);box-shadow:5px 5px 0 var(--navy)}.bt-eq{display:flex;align-items:center;gap:4px}.bt-eq>i{font-style:normal;font-weight:800;color:var(--ink-muted)}.bt-sl{width:52px;height:56px;border-radius:10px;border:1.5px dashed var(--surface-200);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-100)}.bt-sl.b{background:var(--b);border:1.5px solid var(--bd)}.bt-sl.p{background:var(--p);border:1.5px solid var(--pd)}.bt-sl.g{background:var(--g);border:1.5px solid var(--gd)}.bt-sl b{font-family:var(--font-hanzi);font-size:24px;line-height:1}.bt-sl small{font-size:9.5px;font-weight:600;color:var(--ink-muted);margin-top:2px}.bt-flask{position:relative;width:64px;height:64px;border-radius:50% 50% 46% 46%;border:2.5px solid var(--navy);background:var(--surface-100);overflow:hidden}.bt-flask .fl{position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(180deg,var(--lab-blue),var(--lab-blue));transition:height .4s}.bt-flask i{position:absolute;bottom:-10px;width:8px;height:8px;border-radius:50%;background:#ffffffd9;opacity:0}.bt-flask i:nth-of-type(1){left:14%}.bt-flask i:nth-of-type(2){left:34%}.bt-flask i:nth-of-type(3){left:52%;width:6px;height:6px}.bt-flask i:nth-of-type(4){left:68%}.bt-flask i:nth-of-type(5){left:82%;width:5px;height:5px}.bt-flask .flash{position:absolute;inset:-20px;background:radial-gradient(circle,var(--surface-000) 0,var(--warning) 35%,transparent 70%);opacity:0}.bt-flask.go{animation:btShake .12s linear 8}.bt-flask.go .fl{height:95%;background:linear-gradient(180deg,var(--warning),var(--coral),var(--danger));animation:btHue 1.1s linear}.bt-flask.go i{animation:btBub .7s ease-in infinite}.bt-flask.go i:nth-of-type(2){animation-delay:.15s}.bt-flask.go i:nth-of-type(3){animation-delay:.3s}.bt-flask.go i:nth-of-type(4){animation-delay:.08s}.bt-flask.go i:nth-of-type(5){animation-delay:.4s}.bt-flask.go .flash{animation:btFlash 1.25s ease-in forwards}@keyframes btShake{25%{transform:translate(-3px) rotate(-4deg)}75%{transform:translate(3px) rotate(4deg)}}@keyframes btBub{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(-70px);opacity:0}}@keyframes btHue{0%{filter:hue-rotate(0)}to{filter:hue-rotate(160deg)}}@keyframes btFlash{0%,70%{opacity:0;transform:scale(.3)}88%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(2)}}.bt-out{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.bt-out>.zh{font-family:var(--font-hanzi);font-size:64px;font-weight:700;line-height:1;color:var(--lab-blue);text-shadow:0 0 18px rgba(245,158,11,.45)}.bt-out.pop>.zh{animation:btPop .6s cubic-bezier(.2,1.6,.4,1)}@keyframes btPop{0%{transform:scale(.2) rotate(-20deg);opacity:0;filter:blur(4px)}to{transform:none;opacity:1;filter:none}}.bt-od{display:flex;flex-direction:column;align-items:center;gap:2px}.bt-od .py{font-size:18px;font-weight:700;color:var(--ink)}.bt-od .hv{font:700 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.bt-od .vi{font-size:13.5px;color:var(--ink);line-height:1.35}.bt-od .lv{margin-top:2px;padding:1px 8px;border-radius:99px;background:var(--sky);color:var(--lab-blue);font:700 11px var(--font-sans)}.bt-alt{font-size:12px;color:var(--ink-muted)}.bt-alt button{margin:0 2px;padding:1px 7px;border-radius:8px;border:1.5px solid var(--surface-200);background:var(--surface-000);font-size:17px;cursor:pointer}.bt-oa,.bt-act{display:flex;gap:8px;width:100%}.bt-oa button,.bt-act button{flex:1;padding:8px 6px;border-radius:10px;border:1.5px solid var(--surface-200);background:var(--surface-000);color:var(--navy);font:700 13px inherit;font-family:inherit;cursor:pointer}.bt-act button[data-a=hint]{background:var(--navy);border-color:var(--navy);color:var(--on-lab-blue)}.bt-act button:disabled{opacity:.45}.bt-hint{margin:0;font-size:12.5px;line-height:1.4;color:var(--ink-muted);text-align:center}.bt-load{padding:40px;text-align:center;color:var(--ink-muted)}html:not(.bt-ready) .bt-src{visibility:hidden}#btl:empty{min-height:60vh}@media(max-width:1000px){.bt-g{grid-template-columns:30px repeat(18,46px)}}html.bt-open,html.bt-open body{overflow:hidden}.bt.rot{position:fixed;z-index:1500;top:0;left:100vw;width:100vh;width:100dvh;height:100vw;transform:rotate(90deg);transform-origin:0 0;background:var(--surface-100);padding:calc(8px + env(safe-area-inset-left,0px)) 10px 8px calc(10px + env(safe-area-inset-top,0px));box-sizing:border-box;overflow:hidden}.bt.rot .bt-back{display:block;width:32px;height:32px;font-size:22px;line-height:28px}.bt.rot .bt-in{gap:6px}.bt.rot .bt-h{flex-wrap:nowrap;gap:10px}.bt.rot .bt-ti b{font-size:16px}.bt.rot .bt-ti small{font-size:9px}.bt.rot .bt-k{display:none}.bt.rot .bt-f{font-size:11px;padding:3px 10px}.bt.rot .bt-body{flex:1;gap:8px;height:0;align-items:stretch}.bt.rot .bt-tb{height:100%}.bt.rot .bt-g{grid-template-columns:28px repeat(18,40px);grid-template-rows:repeat(12,42px) 6px 42px 42px;gap:3px}.bt.rot .bt-c{aspect-ratio:auto;height:42px;border-radius:6px}.bt.rot .bt-c .zh{font-size:17px;margin-top:5px}.bt.rot .bt-c .vi{font-size:8px;margin-top:1px}.bt.rot .bt-c .n,.bt.rot .bt-c .py{font-size:7.5px}.bt.rot .bt-c .kx{display:none}.bt.rot .bt-rx{width:200px;position:static;padding:8px;gap:6px;overflow:auto;box-shadow:3px 3px 0 var(--navy);border-radius:14px}.bt.rot .bt-sl{width:42px;height:46px}.bt.rot .bt-sl b{font-size:19px}.bt.rot .bt-flask{width:46px;height:46px}.bt.rot .bt-out>.zh{font-size:44px}.bt.rot .bt-od .py{font-size:15px}.bt.rot .bt-od .vi{font-size:12px}.bt.rot .bt-oa button,.bt.rot .bt-act button{padding:6px 4px;font-size:12px}html.in-app .bt:not(.rot) .bt-back{display:block}html.bt-open .tml-fab,html.bt-open .ci-m{display:none!important}.bt-sl small{line-height:1.1}.bt-sl{height:62px}.bt.rot .bt-sl{height:52px}.bt.rot .bt-sl small{font-size:8.5px}.bt-pr{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-muted);line-height:1.05;text-align:center}.bt-pr b{font:800 13px var(--font-sans);color:var(--navy)}.bt-pr small{font-size:8.5px;font-weight:600;white-space:nowrap}.bt-fl{border-left:3px solid var(--surface-200);border-radius:4px;margin-right:6px;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700}.bt-fl small{font-size:10px;color:var(--navy)}.bt-key{display:flex;align-items:center;justify-content:center;gap:6px 16px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--ink)}.bt-key span{display:inline-flex;align-items:center;gap:6px}.bt-key i{width:14px;height:14px;border-radius:4px}.bt-key i.b{background:var(--b);border:1.5px solid var(--bd)}.bt-key i.p{background:var(--p);border:1.5px solid var(--pd)}.bt-key i.g{background:var(--g);border:1.5px solid var(--gd)}.bt-ex{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}.bt-ex .bt-exc{width:auto;height:100%;max-height:118px;aspect-ratio:1/1.08;cursor:default;flex:none}.bt-ex .bt-exc .zh{font-size:34px}.bt-ex .bt-exc .vi{font-size:12px}.bt-ex .bt-exc .n{font-size:11px}.bt-ex .bt-exc .kx{display:block;font-size:13px;bottom:22px}.bt-ex ul{margin:0;padding:0;list-style:none;font-size:11.5px;line-height:1.5;color:var(--ink-muted)}.bt-ex li b{display:inline-block;min-width:22px;color:var(--navy);font-weight:800}.bt-i{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--navy);background:var(--peach);color:var(--navy);font:900 14px/22px system-ui;cursor:pointer;padding:0;text-align:center;margin-left:-4px}.bt-m{position:absolute;inset:0;z-index:20;background:#0b1f4d59;display:flex;align-items:center;justify-content:center;padding:12px}.bt:not(.rot) .bt-m{position:fixed;z-index:3000}.bt-md{position:relative;max-width:560px;max-height:100%;overflow:auto;background:var(--surface-000);border:2px solid var(--navy);border-radius:18px;box-shadow:5px 5px 0 var(--navy);padding:16px 18px;font-size:13.5px;line-height:1.5;color:var(--ink)}.bt-md h3{margin:0 28px 8px 0;font-size:16px;color:var(--navy)}.bt-md ul{margin:0 0 8px;padding-left:18px}.bt-md li{margin-bottom:6px}.bt-md p{margin:0;color:var(--ink-muted)}.bt-mx{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--surface-200);background:var(--surface-000);cursor:pointer;font-size:13px;color:var(--navy)}.bt.rot .bt-pr b{font-size:11px}.bt.rot .bt-pr small{font-size:7px}.bt.rot .bt-key{font-size:10.5px}.bt.rot .bt-ex{gap:10px}.bt.rot .bt-ex ul{font-size:9.5px;line-height:1.35}.bt.rot .bt-ex .bt-exc{height:84px}.bt.rot .bt-ex .bt-exc .zh{font-size:28px}.bt.rot .bt-ex .bt-exc .kx{display:block;font-size:11px;bottom:18px}.bt.rot .bt-md{font-size:12px;padding:12px 14px}.bt.rot .bt-md h3{font-size:14px}.bt.rot.flat{left:0;width:100vw;height:100vh;height:100dvh;transform:none;padding:calc(6px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) 6px calc(8px + env(safe-area-inset-left,0px))}.bt.fit .bt-in{display:grid;grid-template-columns:minmax(0,1fr) 186px;grid-template-rows:auto minmax(0,1fr);gap:6px 8px;height:100%}.bt.fit .bt-body{display:contents}.bt.fit .bt-tb{grid-column:1;grid-row:1/3;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.bt.fit .bt-h{grid-column:2;grid-row:1;flex-wrap:wrap;gap:5px 6px;align-items:center}.bt.fit .bt-back{width:28px;height:28px;font-size:20px;line-height:24px;border-radius:9px}.bt.fit .bt-ti{flex:1;min-width:0}.bt.fit .bt-ti b{font-size:13px;line-height:1.15}.bt.fit .bt-ti small{font-size:7.5px;letter-spacing:.06em}.bt.fit .bt-i{width:22px;height:22px;font-size:12px;line-height:18px;margin:0}.bt.fit .bt-f{margin:0;flex:1 1 100%;text-align:center;font-size:10.5px;padding:2px 8px}.bt.fit .bt-rx{grid-column:2;grid-row:2;width:auto;min-height:0;overflow:auto;padding:7px;gap:5px}.bt.fit .bt-sl{width:40px;height:46px}.bt.fit .bt-sl b{font-size:17px}.bt.fit .bt-sl small{font-size:8px}.bt.fit .bt-flask{width:40px;height:40px;flex:none}.bt.fit .bt-rx:has(.bt-out) .bt-flask:not(.go){display:none}.bt.fit .bt-out>.zh{font-size:40px}.bt.fit .bt-od .py{font-size:14px}.bt.fit .bt-od .vi,.bt.fit .bt-hint{font-size:11px}.bt.fit .bt-g .bt-c{height:auto;aspect-ratio:auto;border-radius:5px;border-width:1px;padding:0}.bt.fit .bt-g .bt-c .zh{font-size:var(--zh,15px);margin-top:0}.bt.fit .bt-g .bt-c .vi{font-size:var(--vi,7px);margin-top:0;line-height:1}.bt.fit .bt-g .bt-c .n{font-size:6px;left:2px;top:1px}.bt.fit .bt-g.tiny .bt-c .n,.bt.fit .bt-g.tiny .bt-c .vi{display:none}.bt.fit .bt-pr b{font-size:9px}.bt.fit .bt-pr small{display:none}.bt.fit .bt-fl{margin-right:2px;border-left-width:2px}.bt.fit .bt-fl small{display:block;font-size:7px}.bt.fit .bt-key{font-size:9px;gap:3px 10px}.bt.fit .bt-key i{width:10px;height:10px}.bt.fit .bt-ex{gap:8px}.bt.fit .bt-ex .bt-exc{height:100%;max-height:none;aspect-ratio:1/1}.bt.fit .bt-ex .bt-exc .zh{font-size:calc(var(--zh,15px) * 1.4)}.bt.fit .bt-ex .bt-exc .vi{font-size:var(--vi,7px)}.bt.fit .bt-ex .bt-exc .kx{font-size:8px;bottom:auto;top:2px;right:3px}.bt.fit .bt-ex ul{font-size:8px;line-height:1.3}.bt.fit .bt-ex li b{min-width:14px}.bt.fit .bt-c.on{box-shadow:0 0 0 2px var(--navy)}.bt.fit .bt-c .cnt{font-size:8px;top:-4px;right:-3px}.bt-ib{display:inline-flex;align-items:center;gap:7px;flex:none;padding:5px 12px 5px 5px;border-radius:99px;border:1.5px solid var(--navy);background:var(--surface-000);color:var(--navy);font:700 12px inherit;font-family:inherit;cursor:pointer;box-shadow:2px 2px 0 var(--navy);white-space:nowrap}.bt-ib .bt-i{margin:0;width:22px;height:22px;font-size:12px;line-height:18px;display:inline-block}.bt-ib:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--navy)}.bt.fit .bt-ib{font-size:9.5px;padding:3px 9px 3px 3px;gap:5px;box-shadow:1.5px 1.5px 0 var(--navy)}.bt.fit .bt-ib .bt-i{width:17px;height:17px;font-size:10px;line-height:13px}.bt-flask.boom{overflow:visible;border-color:transparent;background:transparent;animation:none}.bt-flask.boom .fl{height:0;opacity:0}.bt-flask.boom i{display:none}.bt-flask.boom .flash{opacity:1;inset:-28px;background:radial-gradient(circle,var(--surface-000) 0,var(--coral) 25%,var(--danger) 45%,transparent 70%);animation:btBoom .55s ease-out forwards}@keyframes btBoom{0%{transform:scale(.2);opacity:1}60%{opacity:1}to{transform:scale(2.1);opacity:0}}.bt-shard{position:absolute;left:50%;top:50%;width:12px;height:9px;margin:-4px 0 0 -6px;background:var(--sky);border:2px solid var(--navy);clip-path:polygon(0 0,100% 30%,60% 100%);animation:btShard .9s cubic-bezier(.2,.7,.4,1) forwards}.bt-shard.s1{--x:-46px;--y:-38px;--r:-200deg}.bt-shard.s2{--x:44px;--y:-42px;--r:240deg}.bt-shard.s3{--x:-54px;--y:14px;--r:-120deg}.bt-shard.s4{--x:52px;--y:20px;--r:160deg}.bt-shard.s5{--x:-14px;--y:-56px;--r:300deg;background:var(--coral)}.bt-shard.s6{--x:18px;--y:46px;--r:-260deg;background:var(--danger)}@keyframes btShard{0%{transform:translate(0) rotate(0) scale(.6);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1);opacity:0}}.bt-smoke{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:radial-gradient(circle,#4755698c,#47556900 70%);animation:btSmoke 1.8s ease-out forwards}.bt-smoke.m2{animation-delay:.12s;--sx:-22px}.bt-smoke.m3{animation-delay:.25s;--sx:20px}@keyframes btSmoke{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:1}to{transform:translate(var(--sx,0),-60px) scale(2.4);opacity:0}}.bt-rx.shake{animation:btRxShake .45s linear}@keyframes btRxShake{10%,50%,90%{transform:translate(-4px,2px) rotate(-1deg)}30%,70%{transform:translate(4px,-2px) rotate(1deg)}}.bt-fail{color:var(--danger);font-size:13.5px}.bt-snd{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--surface-200);background:var(--surface-000);font-size:15px;line-height:1;cursor:pointer;padding:0}.bt.fit .bt-snd{width:26px;height:26px;font-size:12px;order:2}.bt.fit .bt-f{order:3;flex:1 1 auto}