/*! © 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 */body:has(#hub) .ftr{margin-top:24px}#hub{max-width:1240px;margin:0 auto;padding:24px 20px 40px;display:flex;flex-direction:column;gap:22px;font-family:var(--font-sans);color:var(--ink)}#hub a{color:var(--lab-blue)}#hub h1,#hub h2{font-family:var(--font-display);font-weight:800}.hb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.hb-head h1{margin:6px 0 0;font-size:34px;line-height:1.1;color:var(--ink)}.hb-ey{display:inline-flex;align-self:flex-start;margin:0;padding:5px 12px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--lab-blue);font:800 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.hb-mut{color:var(--ink-muted);font-size:14px}.hb-mut.center,.center{text-align:center}.hb-search{display:flex;align-items:center;gap:10px;height:48px;padding:0 18px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--ink-muted);box-shadow:var(--shadow-press);font:700 14px var(--font-sans);cursor:pointer;min-width:240px}.hb-cols{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}.hb-main{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:22px}.hb-aside{flex:1 1 280px;max-width:380px;display:flex;flex-direction:column;gap:20px}.hb-panel{position:relative;display:flex;flex-direction:column;gap:16px;padding:24px 26px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker);text-decoration:none;color:var(--ink)}.hb-panel.dark,.hb-panel.blue{background:var(--lab-blue);color:var(--on-lab-blue)}.hb-panel.dark .hb-ey,.hb-panel.blue .hb-ey{background:var(--surface-000);color:var(--lab-blue)}.hb-panel.dark a,a.hb-panel.dark{color:var(--on-lab-blue)!important}.hb-panel .tnpc{margin:0}.hb-title{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px}.hb-title h2{margin:6px 0 0;font-size:26px}.hb-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-pill);background:var(--lab-blue);color:var(--on-lab-blue)!important;font:700 17px/1 var(--font-display);text-decoration:none;box-shadow:var(--shadow-press);cursor:pointer;transition:transform .12s,box-shadow .12s}.hb-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--outline)}.hb-btn:active{transform:translateY(3px);box-shadow:var(--shadow-pressed)}.hb-btn.ghost{background:var(--surface-000);color:var(--ink)!important}.hb-btn.gold{background:var(--highlight);color:var(--on-highlight)!important}.hb-btn.sm{min-height:44px;padding:0 18px;font-size:15px;margin-top:8px}.hb-tubes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hb-tube{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-100);text-decoration:none;color:var(--ink)!important;text-align:center;transition:transform .15s}.hb-tube .tube{position:relative;width:52px;height:128px;border:var(--stroke) solid var(--outline);border-top-width:6px;border-radius:6px 6px 28px 28px;overflow:hidden;background:var(--surface-000);box-sizing:border-box}.hb-tube .tube i{position:absolute;left:0;right:0;bottom:0;background:var(--sky);transition:height .6s ease}.hb-tube b{font:800 16px/20px var(--font-display)}.hb-tube small{font-size:13px;color:var(--ink-muted)}.hb-tube em{font-style:normal;font-size:12px;font-weight:800;color:var(--ink-muted)}.hb-tube.done{background:var(--mint)}.hb-tube.done .tube i{background:var(--success)}.hb-tube.done em{color:var(--success)}.hb-tube.cur{background:var(--butter);box-shadow:var(--shadow-press)}.hb-tube.cur .tube i{background:var(--highlight)}.hb-tube.cur em{color:var(--warning)}@media(hover:hover){.hb-tube:hover,.hb-card:hover{transform:translateY(-3px)}}.hb-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}.hb-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-press);text-decoration:none;color:var(--ink)!important;transition:transform .15s}.hb-card b{font:800 17px/22px var(--font-display)}.hb-card small{font-size:13px;color:var(--ink-muted)}.hb-card strong{font:800 28px/1.1 var(--font-display);color:var(--lab-blue)}.hb-card strong.warm{color:var(--coral-ink)}.hb-card .ico{width:56px;height:56px;object-fit:cover;border:var(--stroke) solid var(--outline);border-radius:28%;background:var(--surface-200);box-shadow:0 3px 0 var(--outline);flex:none}.hb-card.row{flex-direction:row;align-items:center;gap:14px}.hb-card.row .thumb{width:84px;height:56px;object-fit:cover;border:2px solid var(--outline);border-radius:14px;flex:none}.hb-card.row b{display:block;font-size:16px}.hb-card.row .tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.hb-card.blue{background:var(--sky)}.hb-card.warmth{background:var(--butter)}.hb-ln{display:flex;align-items:center;gap:12px}.hb-ln>span{display:flex;flex-direction:column}.hb-ln em{font-style:normal;font-size:13px;font-weight:800;white-space:nowrap}.hb-bar{flex:1;display:block;height:14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-200);overflow:hidden;min-width:60px}.hb-bar i{display:block;height:100%;background:var(--success);border-radius:var(--radius-pill)}.hb-panel.dark .hb-bar{background:var(--surface-000)}.hb-panel.dark .hb-bar i{background:var(--highlight)!important}.hb-sec{display:flex;flex-direction:column;gap:14px}.hb-sec>h2{margin:0;font-size:22px}.hb-sec>h2 small{font:700 14px var(--font-sans);color:var(--ink-muted)}.hb-st{display:flex;align-items:center;gap:14px}.hb-st img{width:96px;height:96px;object-fit:cover;flex:none;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--surface-200);box-shadow:var(--shadow-press)}.hb-st b{display:block;font:800 24px/28px var(--font-display)}.hb-st span{font-size:14px;opacity:.9}.hb-st.sm img{width:72px;height:72px}.hb-st.sm span{color:var(--ink-muted);opacity:1}.hb-st.sm h2{margin:0;font-size:22px}.hb-next{display:flex;align-items:center;gap:10px;font-size:14px}.hb-next img{width:44px;height:44px;object-fit:cover;border:2px solid var(--outline);border-radius:50%;background:var(--surface-200)}.hb-next b{color:var(--highlight)}.hb-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.hb-dot{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--ink-muted)}.hb-dot i{width:30px;height:30px;border:2px solid var(--outline);border-radius:50%;background:var(--surface-200)}.hb-dot.on i{background:var(--success)}.hb-dot.today small{color:var(--lab-blue)}.hb-dot.today:not(.on) i{background:var(--highlight)}.hb-road ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;position:relative}.hb-road ol:before{content:"";position:absolute;left:6%;right:6%;top:48px;height:0;border-top:4px dotted var(--outline);opacity:.5}.hb-road li{position:relative;text-align:center}.hb-road li a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink)!important}.hb-road .st{position:relative;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:repeating-linear-gradient(45deg,var(--surface-200) 0 7px,var(--surface-000) 7px 14px);border:var(--stroke) dashed var(--outline);box-sizing:border-box}.hb-road .st img{width:100%;height:100%;object-fit:cover;opacity:.55}.hb-road li b{font:800 15px/18px var(--font-display)}.hb-road li small{font-size:12px;font-weight:700;color:var(--ink-muted)}.hb-road li.done .st{background:var(--surface-200);border-style:solid;box-shadow:var(--shadow-press)}.hb-road li.done .st img{opacity:1}.hb-road li.done small{color:var(--success)}.hb-road li.cur .st{width:112px;height:112px;margin-top:-6px;border-style:solid;background:var(--highlight);box-shadow:var(--shadow-sticker),0 0 0 8px color-mix(in srgb,var(--highlight) 45%,transparent)}.hb-road li.cur .st img{opacity:1}.hb-road li.cur small{color:var(--warning)}.hb-path{list-style:none;margin:0;padding:8px 0;gap:14px;max-width:none;width:100%}.hb-path .tml-path__step{display:flex;align-items:center;gap:14px}.hb-path .tml-path__step:nth-child(4n+2){padding-left:14%}.hb-path .tml-path__step:nth-child(4n+3){padding-left:28%}.hb-path .tml-path__step:nth-child(4n+4){padding-left:14%}.hb-path .tml-path__step:nth-child(2n){flex-direction:row;text-align:left}.hb-path .tml-path__step>span{display:flex;flex-direction:column;gap:4px;min-width:0}.hb-path .hb-bar{flex:none;width:140px;height:10px}.hb-path .tml-node--now{margin:-8px}.hb-path .tml-node svg{width:26px;height:26px}.hb-now{display:inline-block;margin-left:6px;padding:2px 9px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--coral);color:var(--on-highlight);font:800 11px/14px var(--font-sans);font-style:normal;vertical-align:2px}.hb-exnode{overflow:hidden;padding:0;background:var(--butter)}.hb-exnode img{width:100%;height:100%;object-fit:cover}.hb-seg{display:flex;gap:4px;padding:4px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--sky)}.hb-seg button{min-height:40px;padding:0 18px;border:2px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);font:800 14px var(--font-sans);cursor:pointer}.hb-seg button[aria-pressed=true]{background:var(--surface-000);border-color:var(--outline);color:var(--lab-blue);box-shadow:0 3px 0 var(--outline)}.hb-exam{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.hb-exam .pic{width:150px;height:110px;object-fit:cover;border:var(--stroke) solid var(--outline);border-radius:var(--radius-m)}.hb-exam>div{flex:1 1 300px;display:flex;flex-direction:column;gap:10px}.hb-exam b{font:800 22px/26px var(--font-display)}.hb-chips{display:flex;flex-wrap:wrap;gap:8px}.hb-chips a{min-height:36px;display:inline-flex;align-items:center;padding:0 14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--ink)!important;text-decoration:none;font-size:13px;font-weight:800}.hb-libhead h1{margin:0;font-size:32px;color:var(--on-lab-blue)}.hb-q{display:flex;gap:10px;flex-wrap:wrap}.hb-q label{flex:1 1 300px;display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--ink-muted)}.hb-q input{flex:1;border:0;outline:0;background:none;font:700 17px var(--font-sans);color:var(--ink);min-width:0}.hb-q .hb-btn{min-height:58px}.hb-tag{align-self:flex-start;height:26px;display:inline-flex;align-items:center;padding:0 10px;border:2px dashed currentColor;border-radius:var(--radius-pill);background:var(--surface-200);color:var(--ink-muted);font-size:12px;font-weight:800}.hb-tag.ok{border-style:solid;background:var(--mint);color:var(--success)}.hb-class{background:var(--lilac);padding-right:170px;min-height:200px}.hb-class h2{margin:0;font-size:30px}.hb-class-m{position:absolute;right:22px;top:-18px;width:140px}.hb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px}.hb-stats div{padding:10px 14px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000)}.hb-stats b{display:block;font:800 26px/30px var(--font-display)}.hb-stats small{font-size:12px;font-weight:800;color:var(--ink-muted)}.hb-prof{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.hb-prof .rank{width:130px;height:130px;object-fit:cover;border:var(--stroke) solid var(--outline);border-radius:50%;background:var(--surface-200);box-shadow:var(--shadow-press)}.hb-prof .who{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}.hb-prof h1{margin:0;font-size:32px;color:var(--on-lab-blue)}.hb-prof .who b{color:var(--highlight)}.hb-prof .stats{flex:1 1 300px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hb-prof .stats div{padding:12px 14px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);color:var(--ink)}.hb-prof .stats b{display:block;font:800 26px/30px var(--font-display)}.hb-prof .stats small{color:var(--ink-muted);font-weight:700}.hb-ranks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;text-align:center}.hb-ranks div{display:flex;flex-direction:column;align-items:center;gap:4px}.hb-ranks span{width:100%;aspect-ratio:1;border:var(--stroke) dashed var(--outline);border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--surface-200)}.hb-ranks img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.4}.hb-ranks b{font:800 14px var(--font-display)}.hb-ranks small{font-size:12px;color:var(--ink-muted)}.hb-ranks .on span,.hb-ranks .cur span{border-style:solid;box-shadow:var(--shadow-press)}.hb-ranks .on img,.hb-ranks .cur img{filter:none;opacity:1}.hb-ranks .cur span{background:var(--highlight)}.hb-list{padding:6px 24px;gap:0}.hb-list>a,.hb-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:12px 0;border-bottom:2px dashed var(--surface-200);text-decoration:none;color:var(--ink)!important}.hb-list>:last-child{border-bottom:0}.hb-list span{display:flex;flex-direction:column}.hb-list b{font:800 16px/20px var(--font-display)}.hb-list small{font-size:13px;color:var(--ink-muted)}.hb-sw{position:relative;width:60px;height:34px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-200);padding:0;cursor:pointer;flex:none}.hb-sw i{position:absolute;top:3px;left:3px;width:24px;height:24px;border:2px solid var(--outline);border-radius:50%;background:var(--highlight);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}.hb-sw.on{background:var(--lab-blue)}.hb-sw.on i{transform:translate(26px);background:var(--surface-000)}.hb-av{width:56px;height:56px;border:2px solid var(--outline);border-radius:50%;overflow:hidden;display:block;flex:none;background:var(--surface-200)}.hb-av img{width:100%;height:100%;object-fit:cover}.hb-xs{display:flex;flex-direction:column;gap:12px}.hb-xc{padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-m);box-shadow:var(--shadow-press)}.hb-xl{display:grid;grid-template-columns:56px minmax(0,1fr) 20px;gap:12px;align-items:center;color:inherit!important;text-decoration:none}.hb-xl img{width:56px;height:56px;object-fit:cover;border:2px solid var(--outline);border-radius:50%;background:var(--surface-200)}.hb-xl span{display:flex;flex-direction:column;gap:4px;min-width:0}.hb-xl small{font-size:12px;font-weight:700;color:var(--ink-muted)}.hb-xl b{font:800 16px var(--font-display)}.hb-xl em{font-style:normal;font-size:12.5px;color:var(--ink-muted)}.hb-xa{display:flex;flex-wrap:wrap;gap:6px;padding-left:68px}.hb-xa button{min-height:36px;padding:0 14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--lab-blue);font:800 12.5px var(--font-sans);cursor:pointer}.hb-xa button[data-xdel]{color:var(--danger)}.hb-add{min-height:52px;padding:0 16px;border:var(--stroke) dashed var(--outline);border-radius:var(--radius-l);background:transparent;color:var(--lab-blue);font:800 15px var(--font-sans);cursor:pointer}.hb-add:hover{background:var(--sky)}.hb-pick{padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker)}.hb-pick p{margin:0}.hb-pick small{color:var(--ink-muted)}.hb-pick .hb-chips button{min-height:40px;padding:0 14px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);color:var(--ink);font:800 13px var(--font-sans);cursor:pointer}.hb-pick .hb-chips button:hover{background:var(--sky)}.hb-pick .hb-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%}.hb-pick .hb-card{text-align:left;font:inherit;cursor:pointer}@media(min-width:1024px){#hub{padding:32px 32px 48px}}@media(max-width:760px){#hub{padding:18px 14px 24px;gap:18px}.hb-head h1{font-size:28px}.hb-search{display:none}.hb-panel{padding:20px 16px}.hb-tubes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hb-tube .tube{height:96px;width:44px}.hb-road ol{grid-template-columns:none;display:flex;flex-direction:column;gap:4px;padding-left:34px}.hb-road ol:before{inset:10px auto 10px 33px;height:auto;border-top:0;border-left:4px dotted var(--outline)}.hb-road li a,.hb-road li>button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;text-align:left;padding:6px 0}.hb-road .st{grid-row:1/3;width:64px;height:64px;margin-left:-32px}.hb-road li.cur .st{width:74px;height:74px;margin:0 0 0 -37px}.hb-ranks{grid-template-columns:repeat(4,minmax(0,1fr))}.hb-exam .pic{display:none}.hb-class{padding-right:16px;padding-top:110px}.hb-class-m{width:110px;right:16px;top:-14px}.hb-path .hb-bar{width:90px}.hb-xa{padding-left:0}}#hub .tml-node{color:var(--ink)}#hub .tml-node--done{color:var(--on-lab-blue)}#hub .tml-node--now{color:var(--on-highlight)}.hb-next b,.hb-prof .who b{padding:0 6px;border-radius:6px;background:var(--highlight);color:var(--on-highlight)}.hb-panel.dark .hb-chips a{background:var(--surface-000);color:var(--ink)!important}.hb-path{position:relative}.hb-path>li{position:relative;z-index:1}.hb-road-svg{position:absolute;left:0;top:0;z-index:0;pointer-events:none;overflow:visible}.hb-road-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.hb-road-svg .r-edge{stroke:var(--outline);stroke-width:18}.hb-road-svg .r-ahead{stroke:var(--surface-200);stroke-width:12}.hb-road-svg .r-dash{stroke:var(--surface-000);stroke-width:3;stroke-dasharray:2 12}.hb-road-svg .r-done{stroke:var(--lab-blue);stroke-width:12}.hb-road-svg .r-shine{stroke:var(--on-lab-blue);stroke-width:3;stroke-dasharray:10 12;opacity:.55}.hb-path .tml-node{position:relative}.hb-path .tml-node:not(.tml-node--done):not(.tml-node--now){background:var(--surface-000)}.hb-path .tml-path__step>span{background:var(--surface-000);border-radius:14px;padding:4px 10px 6px;margin-left:-4px}.hb-cls{position:relative;margin:-6px 0 18px;max-width:100%;width:max-content}.hb-cls summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 14px 4px 6px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);box-shadow:var(--shadow-press);cursor:pointer;font-family:var(--font-sans)}.hb-cls summary::-webkit-details-marker{display:none}.hb-cls summary span{padding:4px 10px;border-radius:var(--radius-pill);background:var(--sky);color:var(--lab-blue);font:800 11.5px var(--font-sans);text-transform:uppercase;letter-spacing:.04em}.hb-cls summary b{font:800 15px var(--font-display);color:var(--ink)}.hb-cls summary svg{width:16px;height:16px;transition:transform .2s}.hb-cls[open] summary svg{transform:rotate(180deg)}.hb-cls-m{position:absolute;z-index:40;left:0;top:calc(100% + 8px);min-width:260px;display:flex;flex-direction:column;gap:6px;padding:8px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);box-shadow:var(--shadow-sticker)}.hb-cls-m button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:48px;padding:6px 12px;border:2px solid transparent;border-radius:12px;background:none;text-align:left;cursor:pointer;color:var(--ink)}.hb-cls-m button b{font:800 15px var(--font-display)}.hb-cls-m button small{font:700 12px var(--font-sans);color:var(--ink-muted)}.hb-cls-m button:hover{background:var(--surface-100)}.hb-cls-m button[aria-pressed=true]{background:var(--sky);border-color:var(--outline)}.hb-cls-m a{padding:10px 12px;font:800 13px var(--font-sans);color:var(--lab-blue)!important;text-decoration:none;border-top:2px dashed var(--surface-200)}.hb-road li>button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0;border:0;background:none;cursor:pointer;color:var(--ink);font:inherit}.hb-road li.open .st{border-style:solid;background:var(--surface-000)}.hb-road li.open .st img{opacity:.9}.hb-road li.lock .st img{opacity:.35;filter:grayscale(1)}.hb-road .lk{position:absolute;inset:auto 0 6px;margin:auto;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--outline);border-radius:50%;background:var(--surface-000);color:var(--ink)}.hb-road .lk svg{width:15px;height:15px}.hb-road li.lock small{color:var(--ink-muted)}.hb-road li.sel>button b{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px;text-decoration-color:var(--lab-blue)}.hb-road li>button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:16px}@media(max-width:760px){.hb-road li>button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;text-align:left;padding:6px 0}}.hb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.hb-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:118px;padding:14px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);box-shadow:var(--shadow-press);text-decoration:none;color:var(--ink)!important;transition:transform .12s}.hb-tile .ico{width:44px;height:44px;object-fit:cover;border:2px solid var(--outline);border-radius:28%;background:var(--surface-200)}.hb-tile b{font:800 15px/19px var(--font-display)}.hb-tile small{font-size:12.5px;color:var(--ink-muted)}.hb-tile:nth-child(5n+1){background:var(--sky)}.hb-tile:nth-child(5n+2){background:var(--butter)}.hb-tile:nth-child(5n+3){background:var(--mint)}.hb-tile:nth-child(5n+4){background:var(--lilac)}.hb-tile:nth-child(5n+5){background:var(--peach)}.hb-tile.off{background:var(--surface-100)!important;border-style:dashed;box-shadow:none;opacity:.7}@media(hover:hover){a.hb-tile:hover{transform:translateY(-3px)}}.hb-tube:not(a){cursor:default}.hb-mini{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)!important;margin-bottom:14px}.hb-mini b{font:800 15px var(--font-display)}.hb-mini small{font-size:13px;color:var(--ink-muted);line-height:1.4}.hb-lcs{display:flex;flex-direction:column;gap:12px}.hb-lc{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);box-shadow:var(--shadow-press)}.hb-lc.on{background:var(--sky)}.hb-lc>img{width:64px;height:64px;border:2px solid var(--outline);border-radius:50%;object-fit:cover;background:var(--surface-200)}.hb-lc-t{display:flex;flex-direction:column;gap:4px;min-width:0}.hb-lc-t b{font:800 18px var(--font-display)}.hb-lc-t small{font-size:12.5px;color:var(--ink-muted)}.hb-lc-a{display:flex;flex-direction:column;gap:8px;align-items:stretch}.hb-badge{display:inline-block;padding:6px 12px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--lab-blue);color:var(--on-lab-blue);font:800 12.5px var(--font-sans);text-align:center}@media(max-width:560px){.hb-lc{grid-template-columns:48px 1fr}.hb-lc>img{width:48px;height:48px}.hb-lc-a{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}}.hb-hw{display:flex;flex-direction:column;gap:10px}.hb-hwi{display:grid;grid-template-columns:1fr 150px;gap:14px;align-items:center;padding:12px 16px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);text-decoration:none;color:var(--ink)!important}.hb-hwi span:first-child{display:flex;flex-direction:column;gap:2px}.hb-hwi b{font:800 15px var(--font-display)}.hb-hwi small{font-size:12.5px;color:var(--ink-muted)}.hb-hwm{display:flex;flex-direction:column;gap:4px}.hb-hwm em{font-style:normal;font:700 12px var(--font-sans);color:var(--ink-muted)}.hb-hwi.ok{background:var(--mint)}.hb-hwi.late{background:var(--peach)}@media(max-width:560px){.hb-hwi{grid-template-columns:1fr}}.hb-seg.sm{margin-bottom:14px}.hb-seg.sm button{min-height:38px;font-size:13px}.hb-pods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;max-width:520px}.hb-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid var(--outline);border-radius:14px;background:var(--surface-000);box-shadow:var(--shadow-press);text-align:center}.hb-pod.r1{background:var(--butter);padding-top:22px}.hb-pod.r2{background:var(--sky)}.hb-pod.r3{background:var(--peach)}.hb-pod.empty{border-style:dashed;box-shadow:none;opacity:.6}.hb-pod .no{position:absolute;left:8px;top:6px;font:800 11px var(--font-sans);color:var(--ink-muted)}.hb-pod .sym{font:800 26px/1 var(--font-display)}.hb-pod b{font:800 13px var(--font-sans)}.hb-pod small{font-size:12px;color:var(--ink-muted)}.hb-pod.me{outline:3px solid var(--lab-blue);outline-offset:2px}.hb-chase{margin:14px 0 8px;padding:10px 14px;border:2px solid var(--outline);border-radius:12px;background:var(--surface-100);font-size:14px}.hb-lbl{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px;max-width:520px}.hb-lbl li{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border:2px solid var(--surface-200);border-radius:12px;background:var(--surface-000)}.hb-lbl li.me{border-color:var(--outline);background:var(--sky)}.hb-lbl .rk{font:800 14px var(--font-display);color:var(--ink-muted)}.hb-lbl small{font-size:12.5px;color:var(--ink-muted)}.hb-strip{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink)!important}.hb-strip .thumb{width:72px;height:72px;border:2px solid var(--outline);border-radius:14px;object-fit:cover}.hb-strip span{display:flex;flex-direction:column;gap:2px}.hb-strip b{font:800 16px var(--font-display)}.hb-strip small{font-size:13px;color:var(--ink-muted)}.hb-exam .hb-chips a.on{background:var(--highlight);color:var(--on-highlight)}.hb-lc-t .hb-bar,.hb-hwm .hb-bar{flex:none;width:100%;height:12px}.hb-seg.sm{display:inline-flex;width:auto;max-width:100%;flex-wrap:wrap}.hb-bud{display:flex;gap:16px;align-items:center}.hb-bud img{width:84px;height:84px;border:2px solid var(--outline);border-radius:50%;object-fit:cover;background:var(--sky)}.hb-bud div{display:flex;flex-direction:column;gap:4px}.hb-bud b{font:800 18px var(--font-display)}.hb-bud small{font-size:13px;color:var(--ink-muted)}.hb-pamuc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.hb-pamuc li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--outline);border-radius:var(--radius-m);background:var(--surface-000);font:700 14.5px/19px var(--font-sans);color:var(--ink-muted)}.hb-pamuc li>span{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--outline);display:grid;place-items:center;background:var(--surface-200);font:800 14px/1 var(--font-display);color:var(--ink)}.hb-pamuc li.done{color:var(--ink)}.hb-pamuc li.done>span{background:var(--success);color:#fff}.hb-pamuc li.cur{color:var(--ink);background:var(--sky)}.hb-pamuc li.cur>span{background:var(--lab-blue);color:var(--on-lab-blue)}.hb-all{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font:800 13.5px var(--font-sans);color:var(--lab-blue)!important;text-decoration:none}.hb-all:hover{text-decoration:underline}.hb-tube.lock{opacity:.6;cursor:not-allowed}.hb-tube.lock em{display:inline-flex;align-items:center;gap:4px}.hb-road li.idle .st img,.hb-road li.lock .st img{filter:grayscale(1);opacity:.4}.hb-road li.idle small,.hb-road li.lock small{color:var(--ink-muted)}.hb-road li.open .st{border-style:solid;background:var(--surface-000);box-shadow:var(--shadow-press)}.hb-road li.open .st img{opacity:1;filter:none}.hb-road li.open small{color:var(--lab-blue)}.g2-ey{margin:0;font:800 12.5px var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--lab-blue)}.g2-ey.sm{font-size:11.5px}.g2-h{margin:6px 0 0;font:800 22px/1.2 var(--font-display);color:var(--ink)}.g2-t{font:800 19px/1.25 var(--font-display)}.g2-h-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.g2-h-row a{font-weight:800;font-size:14px}.g2-zh{font-family:var(--font-hanzi);font-weight:700}.g2-vi{font:700 .62em var(--font-sans);color:var(--ink-muted)}.g2-link{font-weight:800;font-size:14px}.g2-renew{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px;padding:10px 14px;border:2px solid var(--outline);border-radius:16px;background:#fff1da;color:#1f2a55;font-size:14px;font-weight:700}.g2-renew a{color:inherit;font-weight:800;text-decoration:underline}.g2-renew button{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}.g2-hero{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:24px 26px;background:var(--butter);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker)}.g2-av{width:112px;height:112px;flex:none;border-radius:50%;border:var(--stroke) solid var(--outline);background:var(--sky);object-fit:cover;object-position:50% 12%}.g2-hero-t{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}.g2-hero h2{margin:0;font:800 28px/1.2 var(--font-display)}.g2-parts{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px}.g2-parts>span{display:flex;flex-direction:column;gap:4px;min-width:0}.g2-parts i{display:block;height:12px;border:2px solid var(--outline);border-radius:99px;background:linear-gradient(90deg,var(--highlight) var(--f),var(--surface-000) var(--f))}.g2-parts .done i{background:var(--lab-blue)}.g2-parts small{font-size:12.5px;font-weight:700;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g2-parts .now small{color:var(--ink);font-weight:800}.g2-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.g2-job{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--surface-000);border:var(--stroke) solid var(--outline);border-radius:22px;box-shadow:var(--shadow-press);color:var(--ink)!important;text-decoration:none}.g2-job b{font:800 16px/1.3 var(--font-sans)}.g2-job small{font-size:13px;color:var(--ink-muted)}.g2-job.ok{background:var(--mint)}.g2-job.ok .g2-ey{color:var(--success)}a.g2-job:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--outline)}.g2-stage small{font-weight:800}.g2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.g2-les{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--surface-000);border:2px solid var(--outline);border-radius:20px;color:var(--ink)!important;text-decoration:none;min-width:0}.g2-les b{font:700 18px/1.3 var(--font-hanzi)}.g2-les small{font-size:13px;color:var(--ink-muted);min-height:1.3em}.g2-les.done .g2-ey{color:var(--success)}.g2-les.now{background:var(--butter);border-width:var(--stroke);box-shadow:var(--shadow-press)}.g2-les.now .g2-ey{color:var(--warning)}.g2-les.exam{grid-column:span 2;background:var(--lilac);border-width:var(--stroke)}.g2-les.exam b{font-family:var(--font-display)}a.g2-les:hover{transform:translateY(2px)}@media(max-width:520px){.g2-les.exam{grid-column:auto}}.g2-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.g2-big{display:flex;align-items:center;gap:16px;padding:20px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker);color:var(--ink)!important;text-decoration:none}.g2-big.mint{background:var(--mint)}.g2-big>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.g2-big b{font:800 22px/1.2 var(--font-display)}.g2-big small{font-size:14px;color:var(--ink-muted)}.g2-num{width:64px;height:64px;flex:none;display:grid;place-items:center;border:var(--stroke) solid var(--outline);border-radius:18px;background:var(--surface-000);font:800 26px var(--font-display)}.g2-chips{display:flex;flex-wrap:wrap;gap:8px}.g2-chips a,.g2-chips span{padding:6px 12px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--peach);color:var(--ink)!important;font-weight:800;font-size:14px;text-decoration:none}.g2-chips span{background:var(--surface-100);color:var(--ink-muted)!important}.g2-zhbox{width:56px;height:56px;display:grid;place-items:center;border:2px solid var(--outline);border-radius:28%;background:var(--sky);font:700 26px var(--font-hanzi)}.g2-clss{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.g2-cls{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface-000);border:2px solid var(--outline);border-radius:22px}.g2-cls.on{background:var(--sky);border-width:var(--stroke);box-shadow:var(--shadow-sticker)}.g2-cls b{font:800 19px/1.25 var(--font-display)}.g2-cls small{font-size:13px;color:var(--ink-muted)}.g2-badge{align-self:flex-start;padding:3px 10px;border:2px solid var(--outline);border-radius:var(--radius-pill);background:var(--surface-000);font-size:12px;font-weight:800}.g2-cls.on .g2-badge{background:var(--lab-blue);color:var(--on-lab-blue)}.g2-acts{display:flex;flex-wrap:wrap;gap:8px}.g2-acts:empty{display:none}.g2-prof{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:24px 26px;background:var(--lab-blue);color:var(--on-lab-blue);border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);box-shadow:var(--shadow-sticker)}.g2-prof>img{width:104px;height:104px;flex:none;border-radius:50%;border:var(--stroke) solid var(--outline);background:var(--butter);object-fit:cover;object-position:50% 12%}.g2-prof .who{flex:1 1 260px;display:flex;flex-direction:column;gap:4px}.g2-prof .g2-ey{color:var(--highlight)}.g2-prof h1{margin:0;font:800 32px/1.15 var(--font-display);color:var(--on-lab-blue)}.g2-prof a{color:var(--highlight)!important}.g2-stats{flex:1 1 380px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.g2-stats div{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border:2px solid var(--outline);border-radius:18px;background:var(--surface-000);color:var(--ink)}.g2-stats b{font:800 26px var(--font-display)}.g2-stats small{font-size:12px;text-align:center}.g2-big-n{font:800 24px var(--font-display);color:var(--warning)}.g2-ready{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;font-size:14px}.g2-ready span{display:flex;flex-direction:column;gap:4px}.g2-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.g2-shelf div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;text-align:center;background:var(--surface-000);border:2px dashed var(--outline);border-radius:18px}.g2-shelf img{width:64px;height:64px;border-radius:50%;border:2px solid var(--outline);object-fit:cover;filter:grayscale(1);opacity:.45}.g2-shelf b{font-size:13.5px}.g2-shelf small{font-size:11.5px;color:var(--ink-muted)}.g2-shelf .on,.g2-shelf .cur{border-style:solid}.g2-shelf .on img,.g2-shelf .cur img{filter:none;opacity:1}.g2-shelf .cur{background:var(--butter);border-width:var(--stroke)}.g2-shelf .cur small{color:var(--warning);font-weight:800}.g2-set .g2-t{padding:2px 0 6px}.g2-job .hb-bar,.g2-les .hb-bar,.g2-skill .hb-bar,.g2-cls .hb-bar,.g2-ready .hb-bar,.g2-stage .hb-bar,.hb-panel>.hb-bar{flex:none;width:100%;height:12px}.g2-les .hb-bar{height:10px;margin-top:auto}.g2-trk{margin:14px 0 6px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--lab-blue,#0042AA)}.g2-cls.g2-new .g2-badge{background:#d7f2e5}.g2-cls.g2-new.shut{opacity:.65}.g2-cls.g2-new.shut .g2-badge{background:var(--surface-100,#F5F8FF)}.g2-st-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:2px 0 12px;font-size:12.5px;font-weight:800}.g2-st-key span{display:flex;align-items:center;gap:6px}.g2-st-key i{width:20px;height:8px;border:1.5px solid var(--outline);border-radius:99px}.g2-st-key .g2-st-k2{font-weight:600;color:var(--ink-muted,#3E4A75);margin-left:auto}.g2-sts{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:22px 16px;padding:10px 4px 4px}.g2-st{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px;border:var(--stroke,2.5px) solid var(--outline);border-radius:22px;background:var(--surface-000);color:var(--ink);text-decoration:none;box-shadow:0 4px 0 var(--outline);transform:rotate(var(--tilt));transition:transform .15s,box-shadow .15s}.g2-st:hover{transform:rotate(0) translateY(-3px);box-shadow:0 7px 0 var(--outline)}.g2-st.now{background:#ffe08a;color:#1f2a55;box-shadow:0 7px 0 var(--outline)}.g2-st:not(.done):not(.now):not(.go){opacity:.88}.g2-st-tile{display:flex;align-items:center;justify-content:center;gap:8px;height:86px;padding:0 8px;margin-bottom:4px;border:2px solid var(--outline);border-radius:16px;background:var(--tile);color:#1f2a55;overflow:hidden}.g2-st-tile img{width:56px;height:56px;flex:none}.g2-st-tile img.pic{width:78px;height:78px}.g2-st-tile b{font:700 21px/1.15 "Noto Sans SC",var(--font-sans);min-width:0;overflow-wrap:anywhere;max-height:2.4em;overflow:hidden}.g2-st-ey{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--lab-blue,#0042AA)}.g2-st.now .g2-st-ey{color:#7a5200}.g2-st-vi{font-size:15px;line-height:1.2}.g2-st-seg{display:flex;gap:4px;margin-top:auto;padding-top:4px}.g2-st-seg i{width:24px;height:8px;border:1.5px solid var(--outline);border-radius:99px;background:linear-gradient(90deg,var(--sg) var(--sp),var(--surface-000) 0)}.g2-stamp{position:absolute;right:-12px;top:-14px;width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2.5px solid var(--kd);border-radius:50%;background:var(--kl);color:var(--kd);transform:rotate(12deg);box-shadow:0 0 0 3px var(--surface-000),0 3px 0 3px var(--outline)}.g2-stamp svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.g2-stamp i{font-style:normal;font-size:8.5px;font-weight:900;letter-spacing:.06em;line-height:1}.g2-st-bud{position:absolute;right:-12px;top:-30px;width:60px;height:60px;border-radius:50%;border:2.5px solid var(--outline);background:#fff;object-fit:cover;object-position:50% 12%}.g2-ot{border-style:dashed;background:#fff6df;color:#1f2a55;transform:none}.g2-ot .g2-st-ey{color:#7a5200}.g2-ot .g2-st-d{color:#5a4a1a}.g2-ot.is-done{background:#e9f8f0}.g2-st-exam{display:flex;align-items:center;gap:14px;margin-top:20px;padding:12px 16px;border:2.5px dashed var(--outline);border-radius:22px;background:#ece4ff;color:#1f2a55;text-decoration:none}.g2-st-exam b{display:block;font:800 17px var(--font-display)}.g2-st-exam small{font-size:13px;color:#3e4a75}.g2-st-x{width:52px;height:52px;flex:none;display:grid;place-items:center;border:2.5px solid #1F2A55;border-radius:16px;background:#fff;font:800 15px var(--font-display)}.g2-st-x svg{width:32px;height:32px;fill:none;stroke:#7a5200;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@media(max-width:560px){.g2-sts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.g2-st-tile{height:96px;flex-direction:column;gap:2px}.g2-st-tile img{width:46px;height:46px}.g2-st-tile b{font-size:16px;max-height:1.2em;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.g2-st-key .g2-st-k2{margin-left:0}}html[data-theme=dark] .g2-st.now,html[data-theme=dark] .g2-st-exam{color:#1f2a55}@media(prefers-reduced-motion:reduce){.g2-st{transform:none;transition:none}}.g2-st-d{font-size:12.5px;line-height:1.35;color:var(--ink-muted,#3E4A75);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.g2-st.now .g2-st-d{color:#5a4a1a}.hb-toast{position:fixed;left:50%;bottom:96px;z-index:400;transform:translate(-50%);max-width:calc(100% - 32px);padding:12px 18px;border:2.5px solid var(--outline);border-radius:18px;background:#d7f2e5;color:#1f2a55;font:800 14.5px var(--font-sans);box-shadow:0 4px 0 var(--outline);transition:opacity .5s}.hb-toast.out{opacity:0}.g2-mem{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:16px 0 4px;padding:16px 20px;border:var(--stroke,2.5px) solid var(--outline);border-radius:24px;background:var(--surface-000);box-shadow:0 5px 0 var(--outline)}.g2-mem-l{flex:1 1 300px;display:flex;flex-direction:column;gap:6px;min-width:0}.g2-mem-n{display:flex;align-items:baseline;gap:8px}.g2-mem-n b{font:800 34px/1 var(--font-display);color:#27a26b}.g2-mem-n span{font-weight:800;color:var(--ink-muted,#3E4A75)}.g2-mem-bar{display:flex;height:14px;border:2px solid var(--outline);border-radius:99px;background:var(--surface-000);overflow:hidden}.g2-mem-bar i{display:block;height:100%}.g2-mem-bar i.a{background:#27a26b}.g2-mem-bar i.b{background:#ffd24d}.g2-mem-key{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;font-weight:700;color:var(--ink-muted,#3E4A75)}.g2-mem-key span{display:flex;align-items:center;gap:6px}.g2-mem-key i{width:11px;height:11px;border:1.5px solid var(--outline);border-radius:3px;background:var(--surface-000)}.g2-mem-key i.a{background:#27a26b}.g2-mem-key i.b{background:#ffd24d}.g2-mem-r{flex:1 1 280px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.g2-mem-due{display:flex;align-items:center;gap:10px;padding:8px 14px;border:2px solid var(--outline);border-radius:16px;background:#fff2c7;color:#1f2a55}.g2-mem-due b{font:800 28px/1 var(--font-display)}.g2-mem-due span{font-size:13px;font-weight:800;max-width:7.5em;line-height:1.2}.g2-mem-acts{display:flex;flex-wrap:wrap;gap:8px}.g2-mem .hb-btn.off{opacity:.5;pointer-events:none}.g2-st.now .g2-st-vi,.g2-st.now .g2-st-d{color:#1f2a55}.g2-two.one{grid-template-columns:1fr}.hb-welcome-c{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:22px;border:var(--stroke,2.5px) solid var(--outline);border-radius:28px;background:var(--surface-000);box-shadow:0 6px 0 var(--outline)}.hb-welcome-c .tnpc-choose{border:0;box-shadow:none;padding:0;margin:0;background:none}.hb-welcome-x{display:block;margin:10px auto 0;padding:8px 16px;border:0;background:none;color:var(--ink-muted,#3E4A75);font:800 14px var(--font-sans);text-decoration:underline;cursor:pointer}@media(max-width:760px){.hb-road ol{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;gap:8px;padding:6px 4px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hb-road ol::-webkit-scrollbar{display:none}.hb-road ol:before{display:none}.hb-road li{flex:0 0 88px;scroll-snap-align:center}.hb-road li a,.hb-road li>button{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0}.hb-road .st{width:62px;height:62px;margin:0}.hb-road li.cur .st{width:70px;height:70px;margin:0}.hb-road li b{font-size:13px;line-height:16px}.hb-road li small{font-size:10.5px;line-height:13px}}.g2-goal{display:flex;flex-direction:column;gap:12px}.g2-goal-h{display:flex;align-items:center;gap:14px}.g2-goal-h>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.g2-goal-h small{font-size:13px;color:var(--ink-muted,#3E4A75)}.g2-ring{--p:0;width:74px;height:74px;flex:none;display:flex;align-items:baseline;justify-content:center;padding-top:20px;box-sizing:border-box;border:2.5px solid var(--outline);border-radius:50%;background:radial-gradient(var(--surface-000) 56%,transparent 57%),conic-gradient(#27A26B calc(var(--p)*1%),var(--surface-200,#E4EAF5) 0)}.g2-ring b{font:800 22px/1 var(--font-display)}.g2-ring small{font-size:12px;font-weight:800;color:var(--ink-muted,#3E4A75)}.g2-goal.ok .g2-ring{background:radial-gradient(#D7F2E5 56%,transparent 57%),conic-gradient(#27a26b 100% 0)}.g2-goal-e{padding:6px 12px;border:2px solid var(--outline);border-radius:12px;background:var(--surface-000);color:var(--ink);font:800 13px var(--font-sans);cursor:pointer}.g2-goal-f{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:2px dashed color-mix(in srgb,var(--outline) 30%,transparent)}.g2-goal-f[hidden]{display:none}.g2-goal-t{display:flex;gap:6px}.g2-goal-t label{flex:1}.g2-goal-t input{position:absolute;opacity:0}.g2-goal-t span{display:block;padding:9px 6px;border:2px solid var(--outline);border-radius:12px;text-align:center;font-weight:800;font-size:13.5px;cursor:pointer}.g2-goal-t input:checked+span{background:var(--lab-blue,#0042AA);color:var(--on-lab-blue,#fff)}.g2-goal-t input:focus-visible+span{outline:3px solid var(--highlight,#FFD24D)}.g2-goal-n{display:flex;align-items:center;gap:8px;font-weight:800}.g2-goal-n input{width:84px;height:42px;box-sizing:border-box;padding:0 10px;border:2px solid var(--outline);border-radius:12px;font:800 18px var(--font-sans);text-align:center;background:var(--surface-000);color:var(--ink)}.g2-goal-q{display:flex;flex-wrap:wrap;gap:6px}.g2-goal-q button{min-width:44px;height:34px;border:2px solid var(--outline);border-radius:99px;background:var(--surface-000);color:var(--ink);font:800 13px var(--font-sans);cursor:pointer}.g2-rem{display:flex;flex-direction:column;gap:10px}.g2-sw{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;cursor:pointer}.g2-sw input{width:22px;height:22px;accent-color:var(--lab-blue,#0042AA)}.g2-rem-t{display:flex;align-items:center;gap:10px;font-weight:800}.g2-rem-t input{height:40px;padding:0 10px;border:2px solid var(--outline);border-radius:12px;font:800 16px var(--font-sans);background:var(--surface-000);color:var(--ink)}.g2-rem-d{display:flex;gap:5px;flex-wrap:wrap}.g2-rem-d button{width:40px;height:36px;border:2px solid var(--outline);border-radius:10px;background:var(--surface-000);color:var(--ink);font:800 12.5px var(--font-sans);cursor:pointer}.g2-rem-d button.on{background:var(--lab-blue,#0042AA);color:var(--on-lab-blue,#fff)}.g2-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;height:150px;align-items:end;margin:10px 0 6px}.g2-bars span{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.g2-bars i{display:block;width:100%;max-width:34px;border:2px solid var(--outline);border-radius:8px 8px 4px 4px;background:#9fe0bf}.g2-bars i.now{background:#27a26b}.g2-bars small{font-size:11px;font-weight:700;color:var(--ink-muted,#3E4A75);white-space:nowrap}.g2-seals{display:flex;flex-direction:column;gap:12px;margin-top:10px}.g2-seal{display:flex;align-items:center;gap:14px}.g2-seal>span:last-child{display:flex;flex-direction:column}.g2-seal small{font-size:13px;color:var(--ink-muted,#3E4A75)}.g2-seal .g2-stamp i{font-size:12px}.g2-save{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;padding:12px 16px;border:2.5px dashed var(--outline);border-radius:20px;background:#fff2c7;color:#1f2a55}.g2-save>span{flex:1 1 260px;display:flex;flex-direction:column}.g2-save small{font-size:13px}.g2-save-x{border:0;background:none;color:#3e4a75;font:800 13px var(--font-sans);text-decoration:underline;cursor:pointer}.g2-soon{margin-top:16px;padding:10px 16px;border:2px dashed var(--outline);border-radius:18px;color:var(--ink-muted,#3E4A75)}.g2-soon summary{cursor:pointer;font-weight:800}.g2-soon ul{margin:8px 0 0;padding-left:18px;columns:2;font-size:14px}.tp{display:flex;flex-direction:column;gap:12px;margin-top:10px}.tp-g>b{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.tp-o{display:flex;gap:6px}.tp-o button{flex:1;min-height:40px;border:2px solid var(--outline);border-radius:12px;background:var(--surface-000);color:var(--ink);font:800 14px var(--font-sans);cursor:pointer}.tp-o button.on{background:var(--lab-blue,#0042AA);color:var(--on-lab-blue,#fff)}.g2-goal-e{align-self:flex-start;margin-top:6px}html[data-theme=dark] :is(.hb-panel.dark,.hb-panel.blue,.g2-prof){background:#1d3270;color:#f2f5ff}html[data-theme=dark] .g2-prof .who :is(h1,span,b,small),html[data-theme=dark] :is(.hb-panel.dark,.hb-panel.blue) .hb-st :is(b,span,small,div){color:#f2f5ff}html[data-theme=dark] .g2-prof .who .g2-ey{color:#ffd24d}html[data-theme=dark] .g2-prof .who a,html[data-theme=dark] :is(.hb-panel.dark,.hb-panel.blue) a:not(.hb-btn){color:#ffe08a!important}html[data-theme=dark] :is(.hb-panel.dark,.hb-panel.blue) .hb-ey{background:#f2f5ff;color:#1d3270}html[data-theme=dark] .g2-cls .g2-badge,html[data-theme=dark] .g2-save,html[data-theme=dark] .g2-mem-due{color:#1f2a55}html[data-theme=dark] .g2-ring{background:radial-gradient(var(--surface-000) 56%,transparent 57%),conic-gradient(#3ccb8a calc(var(--p)*1%),#3a4675 0)}html[data-theme=dark] a.hb-panel:is(.dark,.blue) :not(.hb-ey):not(.hb-ey *){color:#f2f5ff}.g2-hr{display:flex;align-items:center;gap:10px}.g2-ci{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:var(--stroke,2.5px) solid var(--outline);border-radius:999px;background:#fff2c7;color:#1f2a55;box-shadow:0 3px 0 var(--outline);font:800 15px var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap}.g2-ci svg{color:#b7791f}.g2-ci span{font-size:13px;padding:2px 8px;border-radius:99px;background:#0042aa;color:#fff}.g2-ci.done span.ok{background:#27a26b}.g2-ci:active{transform:translateY(2px);box-shadow:0 1px 0 var(--outline)}.g2-wal{display:flex;flex-direction:column;gap:10px}.g2-wal .g2-big-n{display:inline-flex;align-items:center;gap:6px}.g2-wal .g2-big-n svg{color:#b7791f}.g2-wal-d{display:flex;gap:6px}.g2-wal-d i{flex:1;height:12px;border:2px solid var(--outline);border-radius:99px;background:var(--surface-000)}.g2-wal-d i.on{background:#ffd24d}.g2-wal-d i.big{flex:1.6}@media(max-width:760px){.hb-head{align-items:flex-start}.g2-ci{height:34px;padding:0 10px;font-size:13px;gap:4px;box-shadow:0 2px 0 var(--outline)}.g2-ci svg{width:15px;height:15px}.g2-ci span{font-size:11px;padding:1px 6px}}html.in-app .g2-ci{height:30px;padding:0 9px;font-size:12.5px;border-width:2px;box-shadow:none}html.in-app .g2-ci svg{width:14px;height:14px}html.in-app .g2-ci span{font-size:10.5px;padding:1px 5px}html[data-theme=dark] .g2-ci{color:#1f2a55}.g2-deck{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:16px 0 4px;padding:14px 18px;border:var(--stroke,2.5px) solid var(--outline);border-radius:24px;background:var(--surface-000);color:var(--ink);text-decoration:none;box-shadow:0 5px 0 var(--outline)}.g2-deck>span:nth-child(2){flex:1 1 220px;display:flex;flex-direction:column;gap:4px;min-width:0}.g2-deck b{font:800 18px var(--font-display)}.g2-deck small{font-size:13px;color:var(--ink-muted,#3E4A75)}.g2-deck .hb-bar{display:block;width:100%;height:10px}.g2-deck-i{width:52px;height:52px;flex:none;display:grid;place-items:center;border:2.5px solid var(--outline);border-radius:16px;background:#d7f2e5;color:#1f2a55;font:700 26px "Noto Sans SC",var(--font-sans)}.g2-deck.new{border-style:dashed;background:#f0faf5}html[data-theme=dark] .g2-deck.new{background:var(--surface-000)}.g2-deck-lv{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.g2-vs{display:flex;flex-direction:column;gap:12px;margin:16px 0 4px}.g2-vs-sel{position:relative;display:block}.g2-vs-sel select{width:100%;height:52px;box-sizing:border-box;padding:0 44px 0 16px;border:2.5px solid var(--outline);border-radius:16px;background:var(--surface-000);color:var(--ink);font:800 17px var(--font-sans);appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:0 3px 0 var(--outline)}.g2-vs-sel select:focus-visible{outline:3px solid var(--lab-blue,#0042AA);outline-offset:2px}.g2-vs-sel svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink)}.g2-vs-c{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 14px;border:2px dashed var(--outline);border-radius:18px;background:#f0faf5;color:#1f2a55}.g2-vs-t{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;min-width:0}.g2-vs-t b{font:800 18px var(--font-display)}.g2-vs-t small{font-size:13px;color:#3e4a75}.g2-vs-t .hb-bar{display:block;width:100%;height:10px}.g2-vs-i{width:48px;height:48px;flex:none;display:grid;place-items:center;border:2.5px solid var(--outline);border-radius:14px;background:#d7f2e5;color:#1f2a55;font:700 24px "Noto Sans SC",var(--font-sans)}.g2-vsp{display:flex;flex-direction:column;gap:6px}.g2-vsp>b{font:800 20px/1.2 var(--font-display)}.g2-vsp small{font-size:13px}.g2-vsp .hb-bar{display:block;width:100%;height:10px}.g2-vsp .g2-vsp-p{font-weight:800}.g2-vsp .hb-row{margin-top:4px}.g2-vsp.dark .hb-btn.ghost{background:#fff!important;color:#1f2a55!important;border-color:#1f2a55}.g2-mem-key i.d,.g2-vw-bar i.d{background:#f2994a}.g2-vw .g2-st-tile b{font-size:clamp(20px,5vw,28px)}.g2-vw-bar{display:flex;width:100%;height:9px;margin-top:2px;border:1.5px solid var(--outline,#1F2A55);border-radius:99px;background:#fff;overflow:hidden}.g2-vw-bar i{display:block;height:100%}.g2-vw-bar i.a{background:#27a26b}.g2-vw-bar i.b{background:#ffd24d}.g2-vw-n{font-size:12px;font-weight:700;color:#3e4a75}.g2-vs-l{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 16px;border:2px dashed var(--outline);border-radius:18px;background:#f0faf5;color:#1f2a55;text-decoration:none}.g2-vs-l>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.g2-vs-l b{font:800 16px var(--font-display)}.g2-vs-l small{font-size:13px;color:#3e4a75}.g2-vs-k{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.g2-vs-k .hb-bar{width:100%}.g2-vs-k.on{background:#fff2c7;color:#1f2a55}button.g2-link{border:0;background:none;padding:0;font:inherit;font-weight:800;color:var(--lab-blue,#0042AA);text-decoration:underline;cursor:pointer}@media(max-width:600px){.hb-grid3:has(.g2-vs-k){grid-template-columns:1fr 1fr;gap:10px}.g2-vs-k .hb-btn{padding-inline:10px}}.g2-kind{display:inline-flex;align-items:center;vertical-align:2px;padding:1px 8px;border:1.5px solid #1F2A55;border-radius:99px;font:800 11px/16px var(--font-sans,"Nunito",sans-serif);letter-spacing:.02em;white-space:nowrap;color:#1f2a55;text-transform:none!important}.g2-kind.f{background:#d7f2e5}.g2-kind.v{background:#ffe4d9}.g2-kind.pa{background:#ece4ff}.g2-cls .g2-kind{align-self:flex-start}.g2-kind-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:13.5px;font-weight:600;color:var(--ink-muted,#3E4A75)}.hb-cls summary .g2-kind{margin-left:6px}.g2-sts .g2-vw .g2-st-tile b{max-height:2.4em!important;max-width:100%;white-space:normal!important;text-overflow:clip;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(15px,3.6vw,22px);line-height:1.2;text-align:center;padding:0 6px}.g2-sts .g2-ttl .g2-st-tile b{max-height:2.4em!important;max-width:100%;white-space:normal!important;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(15px,3.6vw,22px);line-height:1.2;text-align:center;padding:0 6px}.g2-lop>.hb-panel{margin-bottom:18px}.g2-tile{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border:2px solid var(--outline,#1F2A55);border-radius:16px;background:var(--tb,#DCEAFF);color:#1f2a55;line-height:1}.g2-tile small{font:800 10px var(--font-sans,"Nunito",sans-serif);letter-spacing:.04em}.g2-tile b{font:800 20px var(--font-display,"Baloo 2",sans-serif);margin-top:2px}.g2-now{display:flex;flex-direction:column;gap:12px;background:var(--sky,#DCEAFF)}.g2-now-h{display:flex;align-items:center;gap:14px}.g2-now-h .g2-tile{width:68px;height:68px}.g2-now-h .g2-tile b{font-size:26px}.g2-now-h h2{margin:0;font:800 24px/1.15 var(--font-display,"Baloo 2",sans-serif)}.g2-now-h small{font-size:13.5px;color:var(--ink-muted,#3E4A75);font-weight:600}.g2-now-h .hb-ey{margin:0 0 2px}.g2-now-m{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.g2-now-m small{flex:1 1 220px;font-size:13px;color:var(--ink-muted,#3E4A75);font-weight:600}.g2-now .hb-bar{width:100%;height:12px}.g2-now-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.g2-now-f small{font-weight:700}.g2-mode{display:inline-flex;padding:3px;border:2px solid var(--outline,#1F2A55);border-radius:99px;background:var(--surface-000,#fff)}.g2-mode button{padding:5px 12px;border:0;border-radius:99px;background:none;color:var(--ink,#1F2A55);font:800 13px var(--font-sans,"Nunito",sans-serif);cursor:pointer;white-space:nowrap}.g2-mode button[aria-pressed=true]{background:var(--lab-blue,#0042AA);color:#fff}.g2-mode button:focus-visible{outline:3px solid var(--highlight,#FFD24D);outline-offset:1px}.g2-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.g2-row{display:flex;align-items:center;gap:14px;padding:12px 2px;border-top:1.5px solid color-mix(in srgb,var(--outline,#1F2A55) 14%,transparent)}.g2-rows>.g2-row:first-child{border-top:0}.g2-row-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.g2-row-m b{font:800 16.5px/1.25 var(--font-display,"Baloo 2",sans-serif)}.g2-row-m small{font-size:12.5px;color:var(--ink-muted,#3E4A75);font-weight:600}.g2-row-m .hb-bar{width:100%;max-width:340px;height:10px;margin-top:3px;border-width:1.5px}.g2-row-a{flex:none;display:flex;align-items:center;gap:12px}.g2-link.sm{font-size:13px}.g2-archs,.g2-grp{margin-top:10px;border-top:1.5px dashed color-mix(in srgb,var(--outline,#1F2A55) 30%,transparent);padding-top:10px}.g2-archs summary,.g2-grp summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-weight:800;padding:4px 0}.g2-archs summary::-webkit-details-marker,.g2-grp summary::-webkit-details-marker{display:none}.g2-grp summary small{color:var(--ink-muted,#3E4A75);font-weight:700}.g2-grp summary svg{margin-left:auto;transition:transform .2s}.g2-grp[open] summary svg{transform:rotate(180deg)}.g2-grp:first-of-type{border-top:0;padding-top:0}.g2-archs .g2-row{opacity:.8}.g2-add-n{margin:2px 0 12px}#them-lop .g2-vs-l{margin:14px 0 0}.g2-ask-c{position:relative;display:flex;flex-direction:column;gap:10px;max-width:440px}.g2-ask-c p{margin:0 0 4px}.g2-ask-o{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:2px solid var(--outline,#1F2A55);border-radius:18px;background:var(--surface-000,#fff);color:var(--ink,#1F2A55);text-align:left;cursor:pointer;font:inherit;box-shadow:0 3px 0 var(--outline,#1F2A55)}.g2-ask-o:hover,.g2-ask-o:focus-visible{background:var(--sky,#DCEAFF);outline:none}.g2-ask-o b{margin:0;font:800 17px var(--font-display,"Baloo 2",sans-serif)}.g2-ask-o small{font-size:13px;color:var(--ink-muted,#3E4A75);font-weight:600}.g2-ask-c .tp-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:2px solid var(--outline,#1F2A55);border-radius:50%;background:var(--surface-000,#fff);color:var(--ink,#1F2A55);font:800 15px var(--font-sans,sans-serif);cursor:pointer}html[data-theme=dark] .g2-now{background:#1d3270}html[data-theme=dark] .g2-now :is(h2,small,.hb-ey){color:#f2f5ff}html[data-theme=dark] .g2-tile{color:#1f2a55}@media(max-width:640px){.g2-row{flex-wrap:wrap;gap:10px 12px}.g2-row .g2-tile{width:46px;height:46px;border-radius:14px}.g2-row .g2-tile b{font-size:17px}.g2-row-m{flex:1 1 calc(100% - 64px)}.g2-row-a{width:100%;justify-content:flex-start;padding-left:58px}.g2-now-h h2{font-size:21px}.g2-mode button{padding:5px 10px;font-size:12.5px}}.dd-road ol{grid-template-columns:repeat(var(--n,6),minmax(0,1fr))}.dd-road ol:before{left:8%;right:8%}.hb-road .dd-st{background:var(--surface-000,#fff)}.dd-cv{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62%;height:74%;border:2px solid var(--outline,#1F2A55);border-radius:6px 12px 12px 6px;background:#d7f2e5;box-shadow:inset 6px 0 #27a26b;color:#1f2a55;line-height:1}.dd-cv small{font:800 9px var(--font-sans,"Nunito",sans-serif)!important;color:#1f2a55!important;letter-spacing:.02em}.dd-cv b{font:800 26px var(--font-display,"Baloo 2",sans-serif)!important;margin-top:3px}.hb-road li.idle .dd-cv{opacity:.55}.hb-road li.cur .dd-st{background:var(--highlight,#FFD24D)}.dd-les{list-style:none;margin:6px 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;counter-reset:dl}.dd-les li{counter-increment:dl;display:flex;flex-direction:column;gap:2px;padding:8px 12px 8px 40px;position:relative;border:1.5px solid color-mix(in srgb,var(--outline,#1F2A55) 25%,transparent);border-radius:14px;background:var(--surface-000,#fff)}.dd-les li:before{content:counter(dl);position:absolute;left:10px;top:9px;width:22px;height:22px;border-radius:50%;background:var(--sky,#DCEAFF);display:grid;place-items:center;font:800 12px var(--font-sans,"Nunito",sans-serif);color:#1f2a55}.dd-les b{font:700 16px var(--font-han,"LXGW WenKai TC",serif)}.dd-les small{font-size:12.5px;color:var(--ink-muted,#3E4A75);font-weight:600}.hb-st.sm .g2-tile{width:64px;height:64px}@media(max-width:760px){.dd-road ol{grid-template-columns:none}.dd-cv b{font-size:18px!important}.dd-cv small{font-size:7px!important}}.g2-coin{width:22px;height:22px;vertical-align:-5px;object-fit:contain}.g2-t-ic,.g2-h-ic{display:flex;align-items:center;gap:8px}.g2-t-ic img,.g2-h-ic img{flex:none;object-fit:contain}.g2-stat-b{display:block;margin:0 auto 2px;width:30px;height:30px;object-fit:contain}.g2-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:0 0 22px}.g2-badges>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:2px solid var(--outline,#1F2A55);border-radius:18px;background:var(--surface-000,#fff);text-align:center}.g2-badges img{width:72px;height:72px;object-fit:contain;filter:grayscale(1);opacity:.4}.g2-badges .on img{filter:none;opacity:1}.g2-badges b{font:800 13px var(--font-display,"Baloo 2",sans-serif)}.g2-badges small{font-size:11.5px;color:var(--ink-muted,#3E4A75);font-weight:700}.g2-badges .on{background:var(--sky,#DCEAFF)}.hb-card .ico,.hb-tile .ico,.g2-skill .ico,.hb-st img,.g2-prof>img,.g2-shelf img,.hb-exam .pic,.g2-st-bud,.g2-badges img{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;object-fit:contain!important;filter:drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.g2-shelf img{filter:grayscale(1) drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.g2-shelf .on img,.g2-shelf .cur img{filter:drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.g2-badges img{filter:grayscale(1) drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.g2-badges .on img{filter:drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.hb-st img,.g2-prof>img,.g2-st-bud,.hb-exam .pic{animation:tml-float 4.2s ease-in-out infinite}.hb-card .ico,.hb-tile .ico,.g2-skill .ico{transition:transform .28s cubic-bezier(.3,1.5,.5,1)}.hb-card:hover .ico,.hb-tile:hover .ico,.g2-skill:hover .ico{transform:translateY(-4px) scale(1.08) rotate(-3deg)}.g2-prof>img{object-position:50% 50%!important}.g2-st-bud{object-position:50% 50%!important;width:64px;height:72px;top:-38px}.hb-road .st,.hb-road .dd-st{border:0!important;box-shadow:none!important;background:radial-gradient(48% 12% at 50% 94%,rgba(20,34,80,.14),transparent)!important;overflow:visible!important}.hb-road .st img{object-fit:contain!important;filter:drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.hb-road li.idle .st img,.hb-road li.lock .st img{filter:grayscale(1) drop-shadow(0 10px 9px rgba(20,34,80,.16)) drop-shadow(0 2px 2px rgba(20,34,80,.1))}.hb-road li.cur .st{background:radial-gradient(52% 52% at 50% 55%,color-mix(in srgb,var(--highlight,#FFD24D) 55%,transparent),transparent 72%)!important}.hb-road li.cur .st img{animation:tml-float 3.6s ease-in-out infinite}.hb-road li:not(.cur) button:hover .st img{transform:translateY(-4px) scale(1.06);transition:transform .25s}@keyframes tml-float{0%,to{translate:0 0}50%{translate:0 -5px}}@media(prefers-reduced-motion:reduce){.hb-st img,.g2-prof>img,.g2-st-bud,.hb-exam .pic,.hb-road li.cur .st img{animation:none}}.dd-cv{--ddc:#146238;background:linear-gradient(to top,var(--ddc) 0 38%,#fff 38%)!important;box-shadow:inset 5px 0 color-mix(in srgb,var(--ddc) 75%,#000)!important;justify-content:space-between!important;padding:8% 0 6%}.dd-cv small{color:var(--ddc)!important;writing-mode:vertical-rl;letter-spacing:.1em!important}.dd-cv b{color:#fff!important;margin-top:0!important;line-height:1}.dd-road .dd-ch{font-weight:700;color:var(--lab-blue)}.dd-cv.pic{background:linear-gradient(to top,var(--ddc) 0 26%,transparent 26%),var(--img) center/cover no-repeat!important;justify-content:flex-end!important;padding:0 0 3%!important}.dd-cv.pic b{font-size:20px!important}.g2-tile.pic{justify-content:flex-end;padding-bottom:3px;overflow:hidden;color:#fff;background:linear-gradient(to top,var(--tb) 0 30%,transparent 30%),var(--img) center/cover no-repeat;border-color:var(--tb)}.g2-tile.pic b{font-size:15px!important;margin:0;line-height:1}html[data-theme=dark] .g2-tile.pic{color:#fff}.hb-grid3:has(.hb-card>.ico),.hb-grid3:has(.hb-card .hb-ln>.ico){row-gap:40px;padding-top:22px}.hb-card:has(>.ico),.hb-card:has(.hb-ln>.ico){position:relative;overflow:visible;padding-right:104px!important;min-height:96px}.hb-card>.ico,.hb-card .hb-ln>.ico{position:absolute!important;top:-26px;right:-12px;width:112px!important;height:112px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;object-fit:contain!important;filter:drop-shadow(0 12px 10px rgba(20,34,80,.22));transition:transform .25s cubic-bezier(.3,1.5,.5,1)}.hb-card:hover>.ico,.hb-card:hover .hb-ln>.ico{transform:rotate(-6deg) scale(1.07)}.hb-card.row:has(>.ico){padding-left:20px}@media(max-width:640px){.hb-card>.ico,.hb-card .hb-ln>.ico{width:92px!important;height:92px!important;top:-20px}.hb-card:has(>.ico),.hb-card:has(.hb-ln>.ico){padding-right:86px!important}}.g2-hero{position:relative;overflow:visible;padding-left:300px!important;margin-top:64px;min-height:230px}.g2-hero .g2-av{position:absolute;left:6px;bottom:-4px;width:290px!important;height:290px!important;margin:0}.g2-prof{position:relative;overflow:visible;padding-left:260px!important;margin-top:64px;min-height:220px}.g2-prof>img{position:absolute;left:4px;bottom:-4px;width:250px!important;height:250px!important;margin:0}.hb-st.sm img{width:132px!important;height:132px!important;margin:-46px -8px -14px -6px}.hb-st:not(.sm) img{width:150px!important;height:150px!important;margin:-56px -10px -16px -8px}@media(max-width:700px){.g2-hero{padding:118px 20px 22px!important;margin-top:96px;min-height:0}.g2-hero .g2-av{inset:-96px -6px auto auto;width:200px!important;height:200px!important}.g2-prof{padding:112px 20px 22px!important;margin-top:96px;min-height:0}.g2-prof>img{inset:-96px -4px auto auto;width:196px!important;height:196px!important}.hb-st.sm img{width:104px!important;height:104px!important;margin:-30px -6px -10px}.hb-st:not(.sm) img{width:116px!important;height:116px!important;margin:-36px -8px -10px -6px}}.hb-road ol:has(.dd-st){gap:14px}.hb-road ol:has(.dd-st):before{top:34%}.hb-road li .st.dd-st{width:100%!important;max-width:170px;height:auto!important;aspect-ratio:3/4;border-radius:16px!important;margin:0 auto!important;overflow:visible!important}.hb-road .dd-st .dd-cv.pic{width:100%!important;height:100%!important;padding:0!important;border-radius:16px!important;border:3px solid color-mix(in srgb,var(--ddc) 78%,#000)!important;box-shadow:0 10px 18px #0b1f4d33!important;background:linear-gradient(to top,var(--ddc) 0 11%,transparent 11%),var(--img) center/cover no-repeat!important;transition:transform .2s}.hb-road .dd-cv.pic b{display:none!important}.hb-road li>button:hover .dd-cv.pic{transform:translateY(-4px) rotate(-1.5deg)}.hb-road li.cur .dd-cv.pic{outline:4px solid var(--highlight,#FFD24D);outline-offset:3px}.hb-road li.idle .dd-cv.pic,.hb-road li.lock .dd-cv.pic{filter:grayscale(.65);opacity:.72}.hb-road li.lock .dd-st .lk{inset:auto 0 16%;z-index:2}.hb-road li:has(.dd-st) b{margin-top:6px}@media(max-width:760px){.hb-road ol:has(.dd-st) li{flex:0 0 128px}.hb-road li .st.dd-st{max-width:128px}}#hub{--line:color-mix(in srgb,var(--outline,#1F2A55) 16%,transparent);gap:18px}#hub .hb-panel{border:1.5px solid var(--line);box-shadow:none;padding:18px 20px;gap:12px}#hub .hb-panel:is(.hb-key,.g2-mine,.dark,.blue){border:var(--stroke) solid var(--outline);box-shadow:var(--shadow-sticker)}#hub .hb-card{border:1.5px solid var(--line);box-shadow:none}#hub .hb-ey{padding:0;border:0;background:none!important;color:var(--ink-muted)!important;font:700 14px/1.3 var(--font-sans);letter-spacing:0;text-transform:none}#hub .g2-ey{letter-spacing:.02em;text-transform:none;font-size:13.5px}#hub .g2-h{margin:0;font-size:20px}#hub .g2-h small{font:700 13px var(--font-sans);color:var(--ink-muted)}#hub .g2-chips a,#hub .g2-chips span{border:1.5px solid var(--line);background:var(--surface-100)}#hub .hb-head{align-items:center;flex-wrap:nowrap}#hub .hb-head>div:first-child{min-width:0}.hb-head-r{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;flex:none;max-width:60%}#hub .hb-cls{margin:0;width:auto}#hub .hb-cls summary{min-height:36px;padding:2px 10px 2px 14px;border:1.5px solid var(--outline);box-shadow:none;gap:4px}#hub .hb-cls summary b{font:800 14px var(--font-sans);white-space:nowrap}#hub .hb-cls-m{left:auto;right:0}.g2-today{display:flex;flex-direction:column;gap:14px;max-width:900px}#hub .g2-today .g2-hero{margin-top:24px}.g2-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--line);border-radius:18px;background:var(--surface-000)}.g2-kpi{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;color:var(--ink)!important;text-decoration:none}.g2-kpi+.g2-kpi{border-left:1.5px solid var(--line)}.g2-kpi>span{display:flex;flex-direction:column;gap:2px;min-width:0}.g2-kpi>span>b{font:800 14px/1.2 var(--font-sans)}.g2-kpi small{font-size:12px;color:var(--ink-muted);font-weight:600}.g2-kpi-n{font:800 28px/1 var(--font-display)}.g2-kpi.due .g2-kpi-n{color:#c2410c}html[data-theme=dark] .g2-kpi.due .g2-kpi-n{color:#ffa98f}.g2-kpi .g2-ring{width:44px;height:44px;padding-top:12px;border-width:2px}.g2-kpi .g2-ring b{font-size:15px}.g2-kpi.ok .g2-ring{background:radial-gradient(#D7F2E5 56%,transparent 57%),conic-gradient(#27a26b 100% 0)}.g2-kpi-w .hb-week{display:flex;gap:3px}.g2-kpi-w .hb-dot i{width:9px;height:9px;border-width:1.5px}.g2-line{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface-000);color:var(--ink)!important;text-decoration:none}.g2-line-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ink)!important;text-decoration:none}.g2-line-t b{font:800 15.5px/1.25 var(--font-sans)}.g2-line-t small{font-size:13px;color:var(--ink-muted)}.g2-line .hb-bar{flex:0 1 90px;min-width:50px;height:10px;border-width:1.5px}.g2-line-a{flex:none;font-weight:800;font-size:14px;white-space:nowrap}.g2-line .thumb{flex:none;width:60px;height:42px;object-fit:cover;border-radius:10px}.g2-lines{display:flex;flex-direction:column;gap:10px}.g2-login{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;background:var(--sky);color:var(--ink);font:600 13.5px/1.3 var(--font-sans)}.g2-login>span{flex:1;min-width:0}.g2-login a{font-weight:800;white-space:nowrap}.g2-login button{border:0;background:none;padding:4px;color:var(--ink-muted);font:700 13px var(--font-sans);text-decoration:underline;cursor:pointer;white-space:nowrap}.g2-flat-s{display:flex;flex-direction:column;gap:6px}#hub .g2-mem{margin:0}#hub .g2-mem .g2-h{margin:0 0 2px}.g2-lop{display:flex;flex-direction:column;gap:16px;max-width:920px}#hub .g2-lop>.hb-panel{margin:0}.g2-row.on{margin:0 -10px;padding:12px 10px;border-radius:16px;background:var(--sky)}.g2-row.on+.g2-row{border-top:0}.g2-now-t{display:inline-block;vertical-align:2px;padding:0 8px;border-radius:99px;background:var(--lab-blue);color:var(--on-lab-blue);font:800 11px/18px var(--font-sans)}.g2-row .g2-now-m{margin-top:6px}#them-lop .g2-vs{margin:14px 0 0;padding-top:14px;border-top:1.5px dashed var(--line)}.g2-lb{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:14px;border-top:1.5px dashed var(--line)}.g2-me{display:flex;flex-direction:column;gap:16px;max-width:920px}.g2-gear{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--outline);border-radius:50%;background:var(--surface-000);color:var(--ink)!important}.g2-gear:hover{background:var(--sky)}.g2-prof-hint{flex:1 1 300px;margin:0;font-weight:700}.g2-ach .g2-h{margin-bottom:8px}.g2-ach-s{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}.g2-ach-s>div{flex:0 0 92px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:16px;text-align:center;scroll-snap-align:start}.g2-ach-s img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(20,34,80,.16))}.g2-ach-s b{font:800 12.5px/1.2 var(--font-display)}.g2-ach-s small{font-size:11px;color:var(--ink-muted);font-weight:700}.g2-ach-s>div:not(.on):not(.cur){flex-basis:70px;opacity:.5}.g2-ach-s>div:not(.on):not(.cur) img{width:42px;height:42px;filter:grayscale(1)}.g2-ach-s .cur{background:var(--butter)}html[data-theme=dark] .g2-ach-s .cur{background:#463c1e}.g2-vbt .g2-vbt-i{flex:none;width:52px;height:52px;object-fit:contain}.g2-vbt>a>span{flex:1;min-width:0}.g2-vbt-pro{flex:none;padding:2px 9px;border-radius:999px;background:var(--tangerine,#F28C28);color:#0b1f4d;font:800 11px/1.5 var(--font-sans);font-style:normal;letter-spacing:.08em}.g2-back{display:inline-flex;align-items:center;gap:6px;font-weight:800;text-decoration:none}.g2-back svg{transform:rotate(180deg)}@media(max-width:700px){#hub .g2-today .g2-hero{margin-top:46px;padding:16px!important;gap:10px}#hub .g2-hero .g2-av{top:-58px;right:-8px;width:132px!important;height:132px!important}#hub .g2-hero .g2-ey,#hub .g2-hero h2{padding-right:100px}#hub .g2-hero h2{font-size:22px}#hub .g2-hero .g2-parts small{font-size:11px}.g2-gear{right:auto;left:14px}}@media(max-width:640px){#hub{gap:14px}#hub .hb-head h1{font-size:26px}#hub .hb-panel{padding:16px 14px}.g2-kpi{flex-direction:column;align-items:flex-start;gap:4px;padding:10px}.g2-kpi-n{font-size:24px}.g2-kpi>span>b{font-size:13px}.g2-kpi .g2-ring{width:38px;height:38px;padding-top:10px}.g2-skills{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0;row-gap:10px;gap:10px}#hub .g2-skill{flex-direction:row;flex-wrap:wrap;align-items:center;text-align:left;gap:4px 8px;padding:10px}#hub .g2-skill .ico{width:40px!important;height:40px!important;margin:0}#hub .g2-skill b{flex:1}#hub .g2-skill .hb-bar,#hub .g2-skill small{flex:1 1 100%}.g2-line{flex-wrap:wrap;padding:12px 14px}.g2-line .g2-line-t{flex:1 1 60%}#hub .g2-sts{display:flex;flex-direction:column;gap:0;padding:0}#hub .g2-st{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center;padding:10px 46px 10px 4px;border:0;border-top:1.5px solid var(--line);border-radius:0;background:none;box-shadow:none;transform:none;opacity:1;color:var(--ink)}#hub .g2-st:first-child{border-top:0}#hub .g2-st.now{background:#fff3c4;border-radius:14px;border-top-color:transparent;color:#1f2a55}#hub .g2-st.now+.g2-st{border-top-color:transparent}#hub .g2-st-tile{grid-row:1/span 3;width:44px;height:44px!important;margin:0;padding:0;border:0;border-radius:12px;flex-direction:row}#hub .g2-st-tile img{width:34px!important;height:34px!important}#hub .g2-st:has(.g2-st-tile.big){grid-template-columns:56px minmax(0,1fr)}#hub .g2-st-tile.big{width:56px;height:56px!important}#hub .g2-st-tile.big img{width:40px!important;height:40px!important}#hub .g2-st-tile.big img.pic{width:54px!important;height:54px!important}#hub .g2-st-tile:has(img) b{display:none}#hub .g2-st-tile b{font-size:12px!important;line-height:1.15;white-space:normal!important;-webkit-line-clamp:2;padding:0 2px}#hub .g2-st-ey{grid-column:2;font-size:11px}#hub .g2-st-vi{grid-column:2;font-size:15px}#hub .g2-st-d{grid-column:2;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hub .g2-st-seg,#hub .g2-vw-bar,#hub .g2-vw-n{grid-column:2}#hub .g2-st-seg{padding-top:2px}#hub .g2-st-seg i{flex:1;max-width:46px;height:5px;border-width:1px}#hub .g2-stamp{top:50%;right:6px;width:34px;height:34px;transform:translateY(-50%) rotate(10deg);box-shadow:none;border-width:2px}#hub .g2-stamp svg{width:18px;height:18px}#hub .g2-stamp i,#hub .g2-st-bud{display:none}#hub .g2-st:hover{transform:none;box-shadow:none}}.g2-kpi .g2-ring{display:grid;place-items:center;padding:0}.g2-kpi .g2-ring b{color:var(--ink)}#hub[data-hub=hom-nay] .hb-head{max-width:900px}#hub:is([data-hub=lop],[data-hub=toi]) .hb-head{max-width:920px}#hub .hb-head{flex-wrap:wrap}.hb-head-r{max-width:100%}#hub .hb-head .hb-seg button{white-space:nowrap}@media(max-width:640px){.g2-line:has(.g2-line-a) .g2-line-t{flex:1 1 100%}.g2-line-a{margin-right:6px}}.g2-part{display:flex;flex-direction:column;gap:inherit;scroll-margin-top:84px}#hub .hb-head.hb-sub{margin-top:10px;padding-top:18px;border-top:2px dashed var(--line)}.hb-head.hb-sub h2{margin:6px 0 0;font:800 26px/1.15 var(--font-display);color:var(--ink)}.g2-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.g2-hist a{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1.5px solid var(--line);border-radius:12px;color:var(--ink)!important;text-decoration:none}#hub:is([data-hub=hom-nay],[data-hub=lo-trinh],[data-hub=lop]){max-width:1080px}#hub:is([data-hub=hom-nay],[data-hub=lo-trinh],[data-hub=lop]) :is(.hb-head,.g2-today,.g2-lop){max-width:none}#hub[data-hub=luyen]{gap:14px}.g2-lhead h1{margin:0}.g2-lt{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:6px 0 4px;background:var(--surface-100)}.g2-lt button{--sk:var(--sky);position:relative;display:flex;align-items:center;gap:8px;min-height:58px;padding:6px 12px 6px 6px;border:2px solid var(--outline);border-radius:18px;background:var(--surface-000);color:var(--ink);font:800 16px/1.1 var(--font-display);cursor:pointer;box-shadow:0 3px 0 var(--outline);transition:transform .12s,box-shadow .12s}.g2-lt .s-noi{--sk:var(--rose)}.g2-lt .s-doc{--sk:var(--butter)}.g2-lt .s-viet{--sk:var(--mint)}.g2-lt .s-tu-vung{--sk:var(--peach)}.g2-lt .s-ngu-phap{--sk:var(--lilac)}.g2-lt button:hover{background:var(--sk)}.g2-lt button.on{background:var(--sk);border-width:var(--stroke);transform:translateY(2px);box-shadow:0 1px 0 var(--outline),inset 0 0 0 2px var(--lab-blue)}.g2-lt img{flex:none;width:46px;height:46px;margin:-14px 0 -6px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(31,42,85,.2))}.g2-lt b{flex:1;min-width:0;text-align:left;white-space:nowrap}.g2-lt span{font:700 18px/1 var(--font-zh,"Noto Sans SC",sans-serif);color:var(--lab-blue)}.g2-lp{display:flex;flex-direction:column;gap:14px}.g2-lf{--lf-top:240px;--lf-pad:20px;height:calc(100dvh - var(--lf-top) - var(--lf-pad));min-height:460px;border:2px solid var(--outline);border-radius:22px;overflow:hidden;background:var(--surface-000)}.g2-lf iframe{display:block;width:100%;height:100%;border:0}.g2-lsub{display:flex;gap:8px;flex-wrap:wrap}.g2-lsub button{min-height:38px;padding:0 16px;border:1.5px solid var(--outline);border-radius:999px;background:var(--surface-000);color:var(--ink);font:700 14px var(--font-sans);cursor:pointer}.g2-lsub button[aria-pressed=true]{background:var(--butter);border-width:2px}.g2-lsub button:disabled{border-style:dashed;color:var(--ink-muted);cursor:default}.g2-lp-p{display:flex;align-items:center;gap:10px;max-width:520px}.g2-lp-p .hb-bar{flex:1;height:12px}.g2-lp-p small{font:800 13px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.g2-lp-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.g2-lp-i{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px 18px;background:var(--surface-000);border:2px solid var(--outline);border-radius:20px;box-shadow:0 3px 0 var(--outline);color:var(--ink)!important;text-decoration:none;transition:transform .12s,box-shadow .12s}a.g2-lp-i:hover{transform:translateY(2px);box-shadow:0 1px 0 var(--outline)}.g2-lp-i.main{background:var(--sky)}.s-viet .g2-lp-i.main{background:var(--mint)}.s-tu-vung .g2-lp-i.main{background:var(--peach)}.s-ngu-phap .g2-lp-i.main{background:var(--lilac)}.g2-lp-i>span{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.g2-lp-i b{font:800 17px/1.25 var(--font-sans)}.g2-lp-i small{font-size:13.5px;color:var(--ink-muted)}.g2-lp-i svg{flex:none;color:var(--lab-blue)}.g2-lp-i.off{border-style:dashed;box-shadow:none;opacity:.7}@media(max-width:900px){.g2-lf{--lf-pad:104px}}.g2-lt-pill{display:none}.g2-lt.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}.g2-lt .s-tocfl{--sk:var(--mint)}.g2-lp:is(.s-hsk,.s-tocfl){gap:18px}html.lt-top .g2-ex-hero{display:none}html.lt-top .g2-lp:is(.s-hom-nay,.s-lop)>.hb-head,html.lt-top .g2-lp .hb-sub>div:first-child,html.lt-top .g2-st-key,html.lt-top .g2-st-d,html.lt-top .g2-add-n{display:none}html.lt-top .g2-hero .g2-vi{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.g2-grp-vs .g2-vs>.g2-h-row{display:none}html.lt-top #hub .g2-lp .hb-sub{margin:0!important;padding:0!important;border:0!important;background:none}html.lt-top .g2-lp .hb-sub:before{display:none}html.lt-top .hb-road{padding:8px}html.lt-top .hb-road li{flex:0 0 74px}html.lt-top .hb-road .st,html.lt-top .hb-road li.cur .st{width:60px!important;height:60px!important;margin:0 auto!important}html.lt-top .hb-road li b{font-size:12px;line-height:15px}html.lt-top .hb-road li small,html.lt-top .hb-key .g2-kind-l{display:none}html.lt-top .hb-key .hb-st img{width:48px!important;height:48px!important}html.lt-top .hb-key .hb-st h2{font-size:18px;line-height:22px}html.lt-top .g2-lp .hb-sub .hb-head-r{width:100%}html.lt-top .g2-lp .hb-sub .hb-seg{box-sizing:border-box;width:100%}html.lt-top .g2-lp .hb-sub .hb-seg button{flex:1 1 auto;min-width:0;padding:0 6px;font-size:13px;white-space:nowrap}@media(max-width:340px){html.lt-top .g2-lp .hb-sub .hb-seg button{padding:0 2px;font-size:11.5px}}.g2-soc a{justify-content:flex-start}.g2-soc a>span{flex:1;min-width:0}.g2-soc small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g2-soc-i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sc);color:#fff}html.lt-top #hub:is([data-hub=luyen],[data-hub=thi-thu],[data-hub=hom-nay],[data-hub=lo-trinh],[data-hub=lop]){padding:10px 0 0;gap:8px}html.lt-top,html.lt-top body{overflow:hidden;overscroll-behavior:none}html.lt-top.lt-top body{padding-bottom:0!important}html.lt-top .g2-lhead{display:none}html.lt-top .g2-lt{position:relative;display:flex;gap:0;margin:0 12px;padding:3px;border-radius:999px;background:#0042aa;overflow-x:auto;scrollbar-width:none}html.lt-top .g2-lt::-webkit-scrollbar{display:none}html.lt-top .g2-lt-pill{display:block;position:absolute;top:3px;bottom:3px;left:0;border-radius:999px;background:#fff}html.lt-top .g2-lt.go .g2-lt-pill{transition:transform .3s cubic-bezier(.3,.55,.2,1),width .3s cubic-bezier(.3,.55,.2,1)}html.lt-top .g2-lt button,html.lt-top .g2-lt button:hover{flex:1 0 auto;justify-content:center;gap:3px;min-height:38px;padding:0 7px;border:0;border-radius:999px;background:none;box-shadow:none;transform:none;color:#fff;font:800 13px/1 var(--font-sans);white-space:nowrap;transition:color .2s}html.lt-top .g2-lt button.on{border:0;background:none;box-shadow:none;transform:none;color:#14224f}html.lt-top .g2-lt b{flex:none}html.lt-top .g2-lt span,html.lt-top .g2-lt img{display:none}html.lt-top .g2-lt .on img{display:block;width:24px;height:24px;margin:-3px 0;filter:none}.g2-lp:not(.on){display:none}html.lt-top .g2-pager{--lf-pad:104px;display:flex;height:calc(100dvh - var(--lf-top,60px) - var(--lf-pad));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}html.lt-top.in-app .g2-pager{--lf-pad:96px}html.lt-top .g2-pager::-webkit-scrollbar{display:none}html.lt-top .g2-lp,html.lt-top .g2-lp:not(.on){display:flex;flex:none;box-sizing:border-box;width:100%;padding:6px 14px 14px;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-align:start;scroll-snap-stop:always}html.lt-top .g2-lp:is(.s-nghe,.s-noi,.s-doc){gap:8px;padding:0}html.lt-top .g2-lsub{padding:2px 14px 0}html.lt-top .g2-lf{flex:1;height:auto;min-height:0;border:0;border-radius:0}html.g2-full,html.g2-full body{overflow:hidden;overscroll-behavior:none}html.g2-full .g2-pager{overflow:hidden}html.g2-full .g2-lp.on .g2-lf{position:fixed;inset:0;z-index:2000;width:100vw;height:100dvh;min-height:0;margin:0;border:0;border-radius:0}html.g2-full .apb,html.g2-full .nv-main,html.g2-full .apb-top,html.g2-full .tml-fab,html.g2-full [data-zalo]{display:none!important}@media(prefers-reduced-motion:reduce){.g2-lt button,.g2-lp-i,html.lt-top .g2-lt.go .g2-lt-pill{transition:none}}.g2-ex-hero{position:relative;display:flex;align-items:center;gap:22px;padding:22px 26px;background:var(--butter);border:var(--stroke) solid var(--outline);border-radius:28px;box-shadow:var(--shadow-press);overflow:visible}.g2-ex-m{flex:none;width:190px;height:190px;margin:-44px 0 -22px -6px;object-fit:contain;filter:drop-shadow(0 8px 5px rgba(31,42,85,.22))}.g2-ex-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.g2-ex-t h2{margin:0;font:800 30px/1.15 var(--font-display);color:var(--ink)}.g2-ex-t p:not(.hb-ey){margin:0;font-size:15.5px;color:var(--ink-muted)}.g2-ex-sec{display:flex;flex-direction:column;gap:12px}.g2-ex-lvs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.g2-ex-lv{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--surface-000);border:2px solid var(--outline);border-radius:20px;box-shadow:0 3px 0 var(--outline);color:var(--ink)!important;text-decoration:none;transition:transform .12s,box-shadow .12s}a.g2-ex-lv:hover{transform:translateY(2px);box-shadow:0 1px 0 var(--outline)}.g2-ex-lv.on{border-width:var(--stroke);box-shadow:0 0 0 4px color-mix(in srgb,var(--lc) 35%,transparent),0 3px 0 var(--outline)}.g2-ex-lv.off{opacity:.6;box-shadow:none;border-style:dashed}.g2-ex-no{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;background:var(--lc);color:#fff;border:2px solid var(--outline)}.g2-ex-no small{font:800 10px/1 var(--font-sans);letter-spacing:.06em}.g2-ex-no b{font:800 26px/1 var(--font-display)}.g2-ex-lv.off .g2-ex-no{background:var(--surface-200);color:var(--ink-muted)}.g2-ex-i{display:flex;flex-direction:column;gap:2px}.g2-ex-i b{font:800 15.5px/1.2 var(--font-sans)}.g2-ex-i small{font-size:12.5px;color:var(--ink-muted)}.g2-ex-me{position:absolute;top:10px;right:10px;padding:2px 8px;border-radius:999px;background:var(--lab-blue);color:var(--on-lab-blue);font:800 10.5px/1.5 var(--font-sans);font-style:normal}.g2-ex-stage{display:flex;align-items:center;gap:18px;padding:16px 20px;background:var(--surface-000);border:2px solid var(--outline);border-radius:22px}.g2-ex-stage>img{flex:none;width:86px;height:86px;object-fit:contain}.g2-ex-st{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.g2-ex-st h2{margin:0;font:800 20px/1.2 var(--font-display);color:var(--ink)}.g2-ex-st p:not(.hb-ey){margin:0;font-size:14px;color:var(--ink-muted)}.g2-ex-goal{position:relative;display:flex;align-items:center;gap:10px;margin-top:6px}.g2-ex-goal .hb-bar{flex:0 1 320px;height:12px}.g2-ex-80{position:absolute;left:calc(min(320px,100% - 150px)*.8);top:-3px;width:3px;height:18px;border-radius:2px;background:var(--ink)}.g2-ex-goal small{font:700 13px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.g2-ex-empty{display:flex;align-items:center;gap:14px;padding:12px 18px;border:2px dashed var(--line);border-radius:20px}.g2-ex-empty img{width:76px;height:76px;object-fit:contain}.g2-ex-empty p{margin:0;color:var(--ink-muted);font-size:14.5px;line-height:1.5}.g2-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.g2-hist a{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface-000);color:var(--ink)!important;text-decoration:none}.g2-hist b{flex:1;min-width:0;font:700 14px/1.3 var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g2-hist-d{font-size:12.5px;color:var(--ink-muted);flex:none}.g2-hist-s{flex:none;font:800 15px var(--font-sans);color:var(--warning)}.g2-hist-s.ok{color:#1f8a5b}@media(max-width:1100px){.g2-ex-lvs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.g2-ex-hero{flex-direction:column;align-items:flex-start;padding:18px;gap:6px}.g2-ex-m{position:absolute;right:-6px;top:-34px;width:120px;height:120px;margin:0}.g2-ex-t h2{font-size:25px;padding-right:96px}.g2-ex-t .hb-ey{padding-right:96px}.g2-ex-lvs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.g2-ex-lv{flex-direction:row;align-items:center;gap:10px;padding:10px}.g2-ex-no{width:46px;height:46px;border-radius:13px}.g2-ex-no b{font-size:21px}.g2-ex-me{top:-9px;right:8px}.g2-ex-stage{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px 14px;padding:14px 16px}.g2-ex-stage>img{width:60px;height:60px}.g2-ex-stage>.hb-btn{grid-column:1/-1;justify-self:start}.g2-ex-80{display:none}}@media(prefers-reduced-motion:reduce){.g2-ex-lv{transition:none}}.g2-pro-note{display:block;margin-top:4px;font-size:13px;font-weight:700;opacity:.85}.g2-pro-note a{color:inherit;text-decoration:underline}.g2-pro-card{display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:14px 18px 14px 12px;border:2px solid var(--outline);border-radius:var(--radius-l);background:var(--butter);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sticker)}.g2-pro-card img{flex:none;width:76px;height:76px;object-fit:contain;margin:-22px 0 -10px}.g2-pro-card span{flex:1;min-width:0;display:grid;gap:2px}.g2-pro-card b{font-size:17px}.g2-pro-card small{font-size:13.5px;color:var(--ink-muted)}.g2-pro-card em{flex:none;display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:800;color:var(--lab-blue)}@media(max-width:520px){.g2-pro-card em{display:none}}.g2-tp{display:flex;flex-direction:column;gap:12px;max-width:920px;width:100%}.g2-who{display:flex;align-items:center;gap:10px}.g2-who img{flex:none;width:46px;height:46px;border-radius:50%;background:var(--lab-blue);object-fit:cover;object-position:50% 12%}.g2-who>span{flex:1;min-width:0;display:flex;flex-direction:column}.g2-who b{font:800 17px/1.25 var(--font-display);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g2-who small{font-size:12.5px;line-height:1.2;color:var(--ink-muted)}#hub .g2-who a{flex:none;font-weight:800;font-size:14px;text-decoration:none}.g2-room{display:flex;flex-direction:column;gap:8px}#hub .g2-room h1{margin:0;font-size:19px;line-height:1.2;color:var(--ink)}.g2-room h1 small{font:700 14px/1 var(--font-hanzi);color:var(--ink-muted)}.g2-room-gs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.g2-room-g{display:flex;flex-direction:column;gap:4px;min-width:0}#hub .g2-room-g h2{margin:0;font:800 11.5px/1.25 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.g2-room-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.g2-room-c{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;width:100%;aspect-ratio:1;min-height:64px;padding:6px 4px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface-000);color:var(--ink)!important;font:inherit;text-align:center;text-decoration:none!important;cursor:pointer}.g2-room-c.wide{grid-column:span 2;aspect-ratio:auto}.g2-room-c.wide img{width:44px}.g2-room-c img{flex:none;width:52%;max-width:56px;height:auto;aspect-ratio:1;object-fit:contain}.g2-room-c span{max-width:100%;font:700 12.5px/1.2 var(--font-sans)}.g2-room-c:hover{border-color:var(--lab-blue)}.g2-room-c:active{transform:translateY(1px)}.g2-room-c:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.g2-room-c.soon{position:relative;border-color:#e0862a;background:var(--peach);cursor:default}.g2-room-c.soon:hover{border-color:#e0862a}.g2-room-c.soon:active{transform:none}.g2-room-c.soon em{position:absolute;top:-3px;right:-3px;padding:0 5px;border-radius:999px;background:#e0862a;color:#2a1600;font:800 9.5px/14px var(--font-sans);font-style:normal;white-space:nowrap}.g2-acc{display:flex;flex-direction:column}.g2-acc>*{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;border-top:1.5px solid var(--line);color:var(--ink)!important;text-decoration:none!important}.g2-acc b{flex:none;font-size:14px;font-weight:800}.g2-acc span{min-width:0;font-size:12.5px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.in-app.g2-tp-on #hub{padding:8px 12px 12px}@media(max-width:760px){.g2-tp{gap:8px}.g2-room-gs{grid-template-columns:minmax(0,1fr);gap:8px}.g2-acc>*{min-height:34px}html.g2-tp-on :is(.tb-fab,.tb-hi){display:none!important}}@media(max-width:340px){.g2-room-c{aspect-ratio:auto}}@media(max-width:760px)and (max-height:690px){.g2-tp{gap:8px}.g2-room{gap:5px}.g2-room-gs{gap:6px}.g2-room-g{gap:2px}.g2-room-c{aspect-ratio:auto;min-height:54px;padding:2px;gap:1px}.g2-room-c img{width:28px;height:28px}.g2-acc>*{min-height:32px}}button.g2-ex-lv{font:inherit;text-align:left;cursor:pointer;width:100%}button.g2-ex-lv:hover{transform:translateY(2px);box-shadow:0 1px 0 var(--outline)}.g2-ex-lvs{grid-template-columns:repeat(7,minmax(0,1fr))}.g2-ex-lvs.tf{grid-template-columns:repeat(6,minmax(0,1fr))}.g2-ex-room{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface-000);border:2px solid var(--outline);border-top:6px solid var(--lc);border-radius:20px}.g2-ex-rh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px}.g2-ex-rh>b{font:800 18px/1.2 var(--font-display);color:var(--ink)}.g2-ex-comp{display:flex;flex-wrap:wrap;gap:4px 10px;font:700 12.5px var(--font-sans);color:var(--ink-muted)}.g2-ex-comp span{display:inline-flex;align-items:center;gap:4px}.g2-ex-comp i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;color:#fff;font:800 11px/1 var(--font-sans);font-style:normal}.g2-ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.g2-ex-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--surface-000);border:2px solid var(--outline);border-radius:14px;box-shadow:0 2px 0 var(--outline);color:var(--ink)!important;text-decoration:none}.g2-ex-card:hover{transform:translateY(1px);box-shadow:0 1px 0 var(--outline)}.g2-ex-card.done{background:color-mix(in srgb,var(--lc) 10%,var(--surface-000))}.g2-ex-cn{display:flex;align-items:baseline;gap:5px}.g2-ex-cn small{font:800 12px var(--font-sans);color:var(--ink-muted)}.g2-ex-cn b{font:800 26px/1 var(--font-display);color:var(--lc)}.g2-ex-pro{position:absolute;top:8px;right:8px;padding:1px 7px;border:1.5px solid var(--outline);border-radius:999px;background:var(--highlight,#F28C28);color:var(--ink);font:800 10.5px/1.5 var(--font-sans)}.g2-ex-cbar{display:flex;gap:2px;height:6px;border-radius:3px;overflow:hidden}.g2-ex-cbar i{display:block}.g2-ex-cm{font:700 12.5px/1.2 var(--font-sans);color:var(--ink-muted)}.g2-ex-card.done .g2-ex-cm{color:var(--ink)}@media(max-width:1100px){.g2-ex-lvs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.g2-ex-lvs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.g2-ex-lv{flex-direction:column;align-items:center;gap:5px;padding:8px 4px}.g2-ex-no{width:44px;height:44px}.g2-ex-no b{font-size:20px}.g2-ex-lv[data-exlv="7"] .g2-ex-no b{font-size:15px}.g2-ex-i{align-items:center;text-align:center}.g2-ex-i b{font-size:13px}.g2-ex-i small,.g2-ex-me{display:none}.g2-ex-lvs.tf{grid-template-columns:repeat(3,minmax(0,1fr))}.g2-ex-lvs.tf .g2-ex-no small{font-size:9px;letter-spacing:0}.g2-ex-room{padding:12px}.g2-ex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.g2-lv-ds{display:grid;gap:10px}.g2-lv{position:relative;display:block;padding:14px 124px 16px 16px;border:var(--stroke) solid var(--outline);border-radius:var(--radius-l);background:#0042aa;color:#fff;text-decoration:none;box-shadow:var(--shadow-press)}.g2-lv small{display:block;font-size:13px;font-weight:800;color:#fff;opacity:.9}.g2-lv b{display:block;margin:2px 0;font:800 21px/1.2 var(--font-display);color:#fff}.g2-lv span{display:block;font-size:14.5px;font-weight:700;color:#fff}.g2-lv em{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:7px 16px;border-radius:var(--radius-pill);background:#f28c28;color:#fff;font:800 14.5px/1.2 var(--font-sans);box-shadow:0 3px #1f2a55}.g2-lv img{position:absolute;right:2px;bottom:0;width:122px;height:122px;object-fit:contain;pointer-events:none}.g2-lv-tag{align-self:flex-start;margin:3px 0;padding:1px 9px;border-radius:var(--radius-pill);background:#0042aa;color:#fff;font:800 12px/1.5 var(--font-sans)}