.td-book{align-items:flex-start;gap:18px;margin:16px 0 4px;display:flex}.td-book img{border-radius:10px;flex:none;width:150px;transition:transform .4s;box-shadow:0 8px 24px #0a3d3340}.td-book img:hover{transform:perspective(800px)rotateY(-8deg)translateZ(10px)}.td-book p{margin:0 0 8px}.td-steps{perspective:900px;align-items:stretch;gap:8px;margin:20px 0 4px;display:flex}.td-step{text-align:left;border:1px solid var(--vien);cursor:pointer;transform-style:preserve-3d;background:#fff;border-radius:14px;flex:1;align-items:center;gap:10px;padding:12px 14px;font-family:inherit;transition:transform .3s,box-shadow .3s,border-color .25s,background .25s;display:flex}.td-step:hover{transform:translateY(-3px)rotateX(5deg);box-shadow:0 10px 22px #0a3d3329}.td-step-n{background:var(--xanh-nhat);width:34px;height:34px;color:var(--xanh-dam);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.td-step-t{color:var(--chu);font-size:14.5px;font-weight:700;line-height:1.3}.td-step-t small{color:var(--nhat);margin-top:2px;font-size:12.5px;font-weight:400;display:block}.td-step-arrow{color:var(--xanh);flex:none;align-self:center;font-size:18px;font-weight:800}.td-step[data-td-step="1"] .td-step-n{color:#8a6d1b;background:#fdf6e3}.td-step[data-td-step="2"] .td-step-n{color:#5b3aa8;background:#f1ebfb}.td-step.on{border-color:var(--xanh);background:var(--xanh-nhat);transform:translateZ(18px);box-shadow:0 12px 24px #0a3d3333}.td-step.on .td-step-n{background:var(--xanh);color:#fff}.td-step[data-td-step="1"].on .td-step-n{color:#fff;background:#c9a227}.td-step[data-td-step="2"].on .td-step-n{color:#fff;background:#7c5cbf}.td-step.done{border-color:var(--xanh)}.td-step.done .td-step-n{background:var(--xanh);color:#fff}.td-step[data-td-step="1"].done .td-step-n{color:#fff;background:#c9a227}.td-step[data-td-step="2"].done .td-step-n{color:#fff;background:#7c5cbf}.td-step:focus-visible{outline-offset:2px;outline:3px solid #0e7c6673}.td-pick{margin:18px 0 6px}.td-pick-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.td-pick-row input{border:1px solid var(--vien);border-radius:10px;flex:1;min-width:160px;padding:12px 14px;font-family:inherit;font-size:15px}.td-lot{background:var(--xanh-nhat);border:1px solid #0a3d3324;border-left:4px solid #c9a227;border-radius:14px;margin:14px 0 4px;padding:16px 18px;transition:transform .3s,box-shadow .3s}.td-lot:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0a3d3324}.td-lot h3{color:var(--xanh-dam);margin:0 0 6px}.td-lot .prow{border-bottom:1px dashed #0a3d331f;justify-content:space-between;gap:12px;padding:5px 0;font-size:14.5px;display:flex}.td-lot .prow:last-child{border-bottom:none}.td-lot .prow span{color:var(--nhat)}.td-lot .prow b{text-align:right}.td-err{color:#b3261e;margin-top:10px;font-weight:700}.td-progress{margin:22px 0 6px}.td-bar{background:#e8efe9;border-radius:99px;height:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0a3d332e}.td-bar i{background:linear-gradient(90deg,#0e7c66,#c9a227);border-radius:99px;width:0;height:100%;transition:width .3s;display:block;position:relative;overflow:hidden;box-shadow:0 2px 8px #0e7c6673}.td-bar i:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff8c 50%,#0000 80%);animation:2.6s infinite tdShine;position:absolute;inset:0;transform:translate(-100%)}@keyframes tdShine{to{transform:translate(100%)}}.td-count{color:var(--nhat);margin-top:8px;font-size:13.5px}.td-rail{perspective:900px;flex-wrap:wrap;gap:10px;margin:14px 0 22px;display:flex}.td-node{border:1px solid var(--vien);cursor:pointer;text-align:left;min-width:120px;color:var(--chu);transform-style:preserve-3d;background:#fff;border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .35s,box-shadow .35s,border-color .25s,background .25s;animation:.5s backwards tdNodeIn}.td-node:nth-child(2){animation-delay:60ms}.td-node:nth-child(3){animation-delay:.12s}.td-node:nth-child(4){animation-delay:.18s}@keyframes tdNodeIn{0%{opacity:0;transform:translateY(18px)rotateX(-60deg)}}.td-node small{color:var(--nhat);margin-top:2px;font-size:12.5px;font-weight:400;display:block}.td-node:hover{transform:translateY(-4px)rotateX(6deg);box-shadow:0 10px 22px #0a3d332e}.td-node.on{border-color:var(--xanh);background:var(--xanh-nhat);color:var(--xanh-dam);transform:translateZ(26px);box-shadow:0 14px 28px #0a3d3338}.td-node.on:hover{transform:translateZ(26px)rotateX(-4deg)}.td-node.done{border-color:var(--xanh)}.td-node:focus-visible{outline-offset:2px;outline:3px solid #0e7c6673}.td-pane{border:1px solid var(--vien);box-shadow:var(--bong);transform-style:preserve-3d;background:#fff;border-radius:16px;padding:24px 26px}.td-pane.td-flip{animation:.45s both tdPaneIn}@keyframes tdPaneIn{0%{opacity:0;transform:perspective(900px)rotateY(-14deg)translate(26px)}to{opacity:1;transform:perspective(900px)rotateY(0)translate(0)}}.td-pane[data-pane="4"]{background:linear-gradient(#fffdf4,#fff);border:2px solid #c9a227}.td-pane .btn{transition:transform .2s,box-shadow .2s}.td-pane .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0a3d3333}.td-pane .btn:active{transform:translateY(1px)scale(.98)}.td-pane h2{color:var(--xanh-dam);margin:0 0 10px}.td-node:first-child{border-top:3px solid #0e7c66}.td-node:nth-child(2){border-top:3px solid #2e86ab}.td-node:nth-child(3){border-top:3px solid #d6336c}.td-node:nth-child(4){border-top:3px solid #7c5cbf}.td-node:first-child.on{background:#e6f4f0}.td-node:nth-child(2).on{background:#e8f2f8}.td-node:nth-child(3).on{background:#fdeef4}.td-node:nth-child(4).on{background:#f1ebfb}.td-pane[data-pane="0"] h2{border-bottom:3px solid #0e7c66;padding-bottom:8px}.td-pane[data-pane="1"] h2{border-bottom:3px solid #2e86ab;padding-bottom:8px}.td-pane[data-pane="2"] h2{border-bottom:3px solid #d6336c;padding-bottom:8px}.td-pane[data-pane="3"] h2{border-bottom:3px solid #7c5cbf;padding-bottom:8px}.td-pane[data-pane="0"] .td-star{border-color:#0e7c66}.td-pane[data-pane="1"] .td-star{border-color:#2e86ab}.td-pane[data-pane="2"] .td-star{border-color:#d6336c}.td-pane[data-pane="3"] .td-star{border-color:#7c5cbf}.td-do{margin:0 0 8px}.td-why{background:var(--xanh-nhat);border-radius:10px;margin:0 0 16px;padding:12px 14px}.td-checks{perspective:800px;flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.td-check{border:1px solid var(--vien);cursor:pointer;transform-style:preserve-3d;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;font-size:15px;line-height:1.5;transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;display:flex}.td-check input{width:22px;height:22px;accent-color:var(--xanh);flex:none;margin-top:1px}.td-check:hover{transform:translateZ(8px);box-shadow:0 8px 18px #0a3d331f}.td-check:has(input:checked){border-color:var(--xanh);background:var(--xanh-nhat);transform:translateZ(12px)scale(1.01);box-shadow:0 10px 20px #0e7c662e}.td-star{border:1px solid var(--vien);border-radius:12px;margin:0 0 16px;padding:14px}.td-star p{margin:0 0 10px;font-weight:700}.td-star p .star{color:#b8860b}.td-star-btns{flex-wrap:wrap;gap:10px;display:flex}.td-star-btns button{border:1px solid var(--vien);cursor:pointer;min-width:130px;min-height:44px;color:var(--chu);background:#fff;border-radius:10px;flex:1;font-family:inherit;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s}.td-star-btns button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0a3d3329}.td-star-btns button:active{transform:translateY(1px)scale(.98)}.td-star-btns button.on-dat{border-color:var(--xanh);background:var(--xanh);color:#fff}.td-star-btns button.on-khong{color:#fff;background:#b3261e;border-color:#b3261e}.td-score{margin:0 0 18px}.td-score label{margin-bottom:8px;font-weight:700;display:block}.td-score input[type=range]{width:100%;accent-color:var(--xanh)}.td-score-val{color:var(--xanh-dam);font-size:26px;font-weight:800}.td-score-val small{color:var(--nhat);font-size:14px;font-weight:700}.td-hint{color:#b3261e;margin:0 0 12px;font-weight:700}.td-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.td-back{color:var(--xanh-dam);cursor:pointer;background:0 0;border:none;padding:10px 4px;font-family:inherit;font-weight:700}.td-vbars{margin:6px 0 16px}.td-vrow{align-items:center;gap:10px;margin-bottom:8px;font-size:14.5px;display:flex}.td-vrow span:first-child{flex:none;width:170px;font-weight:700}.td-vrow .bar{background:#e8efe9;border-radius:99px;flex:1;height:12px;overflow:hidden}.td-vrow .bar i{background:var(--xanh);border-radius:99px;height:100%;display:block}.td-vrow b{text-align:right;flex:none;width:64px}.td-verdict{border-radius:14px;margin-bottom:16px;padding:18px 20px}.td-verdict h3,.td-verdict p{margin:0 0 8px}.td-v-tot{background:#e6f4ea;border:1px solid #2e7d32}.td-v-tb{background:#fff8e1;border:1px solid #b8860b}.td-v-dung,.td-v-loai{background:#fdecea;border:1px solid #b3261e}.td-eight{perspective:900px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px;display:grid}.td-eight .card{padding:16px 18px;transition:transform .3s,box-shadow .3s}.td-eight .card:hover{transform:translateY(-4px)rotateX(4deg);box-shadow:0 12px 26px #0a3d332e}.td-eight .card h3{margin:0 0 6px;font-size:16px}.td-eight .card h3 .n{color:var(--xanh);margin-right:6px}.td-eight .card:nth-child(4n+2) h3 .n{color:#2e86ab}.td-eight .card:nth-child(4n+3) h3 .n{color:#d6336c}.td-eight .card:nth-child(4n+4) h3 .n{color:#d97706}.td-eight .card p{margin:0;font-size:14.5px}@media (width<=760px){.td-pane{padding:20px 18px}.td-node{min-width:calc(50% - 4px)}.td-book img{width:110px}.td-vrow span:first-child{width:120px}.td-steps{flex-direction:column}.td-step-arrow{align-self:center;transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.td-bar i,.td-vrow .bar i,.td-node,.td-pane.td-flip,.td-check,.td-step,.td-book img,.td-eight .card{transition:none;animation:none}.td-bar i:after{display:none}}.m3d{border:1px solid var(--vien);box-shadow:var(--bong);background:linear-gradient(#dcefe6,#f4faf6);border-radius:16px;margin:16px 0 4px;position:relative;overflow:hidden}.m3d canvas{touch-action:none;cursor:grab;width:100%;height:400px;display:block}.m3d-card{z-index:30;border:1px solid var(--vien);border-top:3px solid var(--card-acc,#0e7c66);pointer-events:none;text-align:left;background:#fff;border-radius:12px;width:230px;max-width:78%;padding:10px 12px;font-size:12.5px;line-height:1.45;position:absolute;box-shadow:0 14px 30px #0a3d3338}.m3d-card.hidden{display:none}.m3d-card h4{color:var(--card-acc,#0e7c66);margin:0;font-size:14.5px}.m3d-card .sub{color:var(--nhat);margin:2px 0 4px;font-size:12px}.m3d-card .ln{gap:6px;margin:6px 0;animation:.35s cubic-bezier(.22,1,.36,1) both cardLineIn;display:flex}.m3d-card .ln .mk{text-align:center;flex:none;width:18px}.m3d-card .ln.done .mk{color:#0e7c66;font-weight:700}@keyframes cardLineIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.m3d-card .ln{animation:none}}.m3d canvas:active{cursor:grabbing}.m3d-cap{color:var(--xanh-dam);border-top:1px solid var(--vien);background:#fff;margin:0;padding:10px 16px;font-size:14px;font-weight:600}.m3d-fallback{color:var(--nhat);border-top:1px solid var(--vien);background:#fff;margin:0;padding:16px;font-size:14.5px}@media (width<=760px){.m3d canvas{height:300px}}
