:root{--do:#c92a2a;--do-dam:#a61e1e;--vang:#f59f00;--vang-nhat:#fff4e0;--nen:#fffaf3;--the:#fff;--chu:#1f1a17;--chu-mo:#6b625b;--vien:#eadfd2;--xanh:#2f9e44;--bo-goc:16px;--bong:0 2px 12px #50280a14;--han:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--chu-font:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--nen);color:var(--chu);font-family:var(--chu-font);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.han{font-family:var(--han)}.khung{max-width:720px;margin:0 auto;padding:16px 16px 96px}.dau-trang{background:var(--do);color:#fff;z-index:10;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.dau-trang .logo{letter-spacing:.2px;font-size:18px;font-weight:800}.dau-trang .logo .han{margin-right:6px;font-size:20px}.dau-trang .tro-lai{color:#fff;background:#ffffff2e;border:0;border-radius:10px;padding:6px 10px;font-size:14px}.menu-duoi{background:var(--the);border-top:1px solid var(--vien);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.menu-duoi a{color:var(--chu-mo);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:4px 8px;font-size:11px;display:flex}.menu-duoi a .icon{font-size:20px}.menu-duoi a.dang-mo{color:var(--do);background:var(--vang-nhat);font-weight:700}.the{background:var(--the);border:1px solid var(--vien);border-radius:var(--bo-goc);box-shadow:var(--bong);padding:16px}.the+.the{margin-top:12px}h1{margin:8px 0 4px;font-size:24px}h2{margin:20px 0 8px;font-size:18px}.mo{color:var(--chu-mo);font-size:14px}.nhan{background:var(--vang-nhat);color:var(--do-dam);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.nut{background:var(--do);color:#fff;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:15px;font-weight:700;display:inline-flex}.nut:active{background:var(--do-dam)}.nut.phu{background:var(--vang-nhat);color:var(--do-dam)}.nut.nho{border-radius:10px;padding:6px 10px;font-size:13px}.nut:disabled{opacity:.5;cursor:default}.luoi{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.o-menu{background:var(--the);border:1px solid var(--vien);border-radius:var(--bo-goc);box-shadow:var(--bong);padding:14px;display:block}.o-menu .icon{font-size:28px}.o-menu .ten{margin-top:6px;font-weight:700}.o-menu .mo{margin-top:2px;font-size:13px}.chu-to{font-family:var(--han);text-align:center;padding:16px 0 8px;font-size:96px;line-height:1}.o-dien{border:2px solid var(--do);background:linear-gradient(90deg,#0000 49.5%,#f1c4c4 49.5% 50.5%,#0000 50.5%),linear-gradient(#0000 49.5%,#f1c4c4 49.5% 50.5%,#0000 50.5%),linear-gradient(45deg,#0000 49.7%,#f7dede 49.7% 50.3%,#0000 50.3%),linear-gradient(-45deg,#0000 49.7%,#f7dede 49.7% 50.3%,#0000 50.3%);border-radius:8px;justify-content:center;align-items:center;width:160px;height:160px;margin:0 auto;display:flex;position:relative}.o-dien .han{font-size:110px;line-height:1}.hv-lon{text-align:center;color:var(--do-dam);letter-spacing:1px;font-size:22px;font-weight:800}.pinyin-lon{text-align:center;color:var(--chu-mo);font-size:20px}.mo-khoa{margin:8px 0 0;padding:0;list-style:none}.mo-khoa li{border-top:1px dashed var(--vien);grid-template-columns:auto 1fr;align-items:baseline;gap:10px;padding:8px 0;display:grid}.mo-khoa .han{font-size:22px}.mo-khoa .pinyin{color:var(--chu-mo);font-size:13px}.luoi-chu{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.o-chu{background:var(--the);border:1px solid var(--vien);text-align:center;cursor:pointer;border-radius:12px;padding:8px 4px}.o-chu .han{font-size:32px;line-height:1.1;display:block}.o-chu .hv{color:var(--do-dam);margin-top:2px;font-size:11px;font-weight:700;display:block}.o-chu .nghia{color:var(--chu-mo);font-size:11px;display:block}.duong-thanh{width:100%;height:44px}.duong-thanh path{stroke:var(--do);stroke-width:4px;fill:none;stroke-linecap:round}.duong-thanh line{stroke:var(--vien);stroke-width:1px}.cau{border-top:1px solid var(--vien);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px 0;display:grid}.cau:first-child{border-top:0}.cau .han{font-size:24px}.cau .pinyin{color:var(--chu-mo);font-size:14px}.cau .viet{margin-top:2px;font-size:15px}.cau .hv{color:var(--do-dam);font-size:12px;font-style:italic}.nut-loa{background:var(--do);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .12s,background .12s;display:inline-flex;box-shadow:0 2px 8px #c92a2a47}.nut-loa:active{transform:scale(.92)}.nut-loa.cham{background:var(--vang-nhat);color:var(--do-dam);box-shadow:none;border:1.5px solid #f3d9b1}.nut-loa.dang-phat{animation:.9s ease-in-out infinite loa-nhip}.nut-loa:disabled{opacity:.45}@keyframes loa-nhip{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.cum-loa{align-items:center;gap:8px;display:flex}.nut svg{vertical-align:-3px}.lua-chon{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.lua-chon button{border:2px solid var(--vien);background:var(--the);border-radius:12px;padding:14px 8px;font-size:16px;font-weight:700}.lua-chon button.dung{border-color:var(--xanh);background:#ebfbee}.lua-chon button.sai{border-color:var(--do);background:#fff0f0}.thanh-tien{background:var(--vien);border-radius:4px;height:8px;margin:8px 0;overflow:hidden}.thanh-tien>div{background:var(--vang);height:100%}.canh-bao{color:#7a5a00;background:#fff8e1;border:1px solid #ffe08a;border-radius:12px;margin-bottom:12px;padding:10px 12px;font-size:13px}.lop-mo{z-index:50;background:#1f1a178c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.hop-trinh-do{background:var(--the);width:100%;max-width:560px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;max-height:88vh;overflow-y:auto}.ds-trinh-do{gap:8px;display:grid}.o-trinh-do{text-align:left;border:2px solid var(--vien);background:var(--nen);border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.o-trinh-do b{font-size:16px}.o-trinh-do span{color:var(--chu-mo);font-size:13px}.o-trinh-do.chon{border-color:var(--do);background:var(--vang-nhat)}.o-trinh-do.chon b{color:var(--do-dam)}.cap-hsk{border-left:5px solid var(--do)}.cap-hsk.hien-tai{box-shadow:0 0 0 3px var(--vang)}.bang-de{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;display:grid}.bang-de div{background:var(--nen);border:1px solid var(--vien);text-align:center;border-radius:10px;padding:8px 4px;font-size:13px}.bang-de b{font-size:17px;display:block}.lua-chon.mot-cot{grid-template-columns:1fr}.lua-chon button .han{font-size:26px}.tu-xep{border:2px dashed var(--vien);border-radius:12px;flex-wrap:wrap;gap:8px;min-height:52px;margin-top:8px;padding:8px;display:flex}.tu-xep button,.kho-tu button{font-family:var(--han);background:var(--the);border:1.5px solid var(--vien);border-radius:10px;padding:4px 12px;font-size:24px}.tu-xep button{background:var(--vang-nhat);border-color:#f3d9b1}.kho-tu{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}
