.lv{position:fixed;right:var(--lv-mep,12px);bottom:0;z-index:60;width:var(--lv-cao,150px);height:var(--lv-cao,150px);font-family:inherit;line-height:1.5;will-change:transform}
.lv *{box-sizing:border-box}
.lv [hidden]{display:none!important}
.lv-mo{display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lv-mo:focus-visible{outline:3px solid var(--lv-mau);outline-offset:2px;border-radius:16px}
.lv-than{display:block;width:100%;height:100%;transform-origin:50% 100%;animation:lv-tho 3.6s ease-in-out infinite}
.lv[data-nhip-nghi="lac"] .lv-than{animation:lv-tho-lac 3.2s ease-in-out infinite}
.lv-than img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;transition:opacity .15s ease;filter:drop-shadow(0 6px 10px rgba(15,23,42,.18))}
.lv-than img.lv-doi{opacity:.75}
.lv.lv-trai .lv-than img{transform:scaleX(-1)}
.lv[data-nhip="trao"] .lv-than{animation:lv-nay .7s ease-out 1,lv-tho 3.6s ease-in-out .7s infinite}
.lv[data-dang-di="1"] .lv-than{animation:lv-buoc .48s ease-in-out infinite}
@keyframes lv-tho{0%,100%{transform:translateY(0) scale(1,1)}50%{transform:translateY(-2px) scale(1.012,.992)}}
@keyframes lv-tho-lac{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-1.6deg) translateY(-1px)}75%{transform:rotate(1.6deg) translateY(-1px)}}
@keyframes lv-nay{0%{transform:scale(1)}35%{transform:scale(1.08,.94)}65%{transform:scale(.97,1.04)}100%{transform:scale(1)}}
@keyframes lv-buoc{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

.lv-bong{position:absolute;right:0;bottom:calc(100% + 8px);width:min(340px,calc(100vw - 24px));padding:16px 16px 14px;background:#fff;color:#1f2937;border:2px solid var(--lv-mau);border-radius:18px;box-shadow:0 18px 40px -14px rgba(15,23,42,.35);text-align:left;animation:lv-hien .25s ease-out both}
.lv-bong::after{content:"";position:absolute;right:calc(var(--lv-cao,150px) / 2 - 9px);bottom:-10px;width:16px;height:16px;background:#fff;border-right:2px solid var(--lv-mau);border-bottom:2px solid var(--lv-mau);transform:rotate(45deg)}
@keyframes lv-hien{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.lv-x{position:absolute;top:4px;right:4px;width:44px;height:44px;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#4b5563;font-size:24px;line-height:1;cursor:pointer}
.lv-x:hover{background:rgba(15,23,42,.06)}
.lv-ten{margin:0 40px 4px 0;font-weight:700;color:var(--lv-mau-chu,var(--lv-mau));font-size:.95rem}
.lv-cau{margin:0;font-size:1rem;white-space:pre-line;overflow-wrap:anywhere;max-height:calc(100vh - var(--lv-cao,150px) - 260px);min-height:1.5em;overflow:auto}
.lv.lv-bong-phai .lv-bong{right:auto;left:0}
.lv.lv-bong-phai .lv-bong::after{right:auto;left:calc(var(--lv-cao,150px) / 2 - 9px)}
.lv.lv-bong-duoi .lv-bong{bottom:auto;top:calc(100% + 8px)}
.lv.lv-bong-duoi .lv-bong::after{bottom:auto;top:-10px;transform:rotate(225deg)}
.lv-cau.lv-cau-moi{animation:lv-hien .3s ease-out both}
.lv-o{display:grid;gap:8px;margin-top:12px}
.lv-o:empty{display:none}
.lv-nut{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:2px solid var(--lv-mau);border-radius:12px;background:#fff;color:var(--lv-mau-chu,var(--lv-mau));font:inherit;font-size:.95rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.lv-nut:hover{background:var(--lv-nhat)}
.lv-nut.lv-chinh{background:var(--lv-mau);color:var(--lv-chu-tren)}
.lv-nut:focus-visible{outline:3px solid var(--lv-mau);outline-offset:2px}

.lv-tam{position:absolute;left:-10px;top:-6px;width:44px;height:44px;display:grid;place-items:center;margin:0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lv-tam span{display:block;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--lv-mau);box-shadow:0 2px 6px rgba(15,23,42,.15);position:relative}
.lv-tam span::before,.lv-tam span::after{content:"";position:absolute;top:6px;width:3px;height:10px;background:var(--lv-mau);border-radius:2px}
.lv-tam span::before{left:8px}.lv-tam span::after{left:13px}
.lv[data-tam-dung="1"] .lv-tam span::before{left:9px;top:6px;width:0;height:0;background:transparent;border-left:9px solid var(--lv-mau);border-top:5px solid transparent;border-bottom:5px solid transparent;border-radius:0}
.lv[data-tam-dung="1"] .lv-tam span::after{display:none}

.lv-nhan{position:absolute;left:50%;bottom:calc(100% - 6px);transform:translateX(-50%);padding:4px 10px;border-radius:999px;background:var(--lv-mau);color:var(--lv-chu-tren);font-size:.85rem;font-weight:600;white-space:nowrap;pointer-events:none;animation:lv-hien .3s ease-out both}

.lv-hat{position:absolute;left:var(--x,50%);bottom:55%;width:14px;height:14px;pointer-events:none;color:var(--lv-hat,#f87171);animation:lv-bay 1.7s ease-out var(--tre,0s) both}
.lv-hat::before{content:"\2665";display:block;font-size:var(--co,16px);line-height:1}
@keyframes lv-bay{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx,0px),-110px) scale(1.1)}}

.lv.lv-tinh .lv-than,.lv.lv-tinh .lv-bong,.lv.lv-tinh .lv-cau,.lv.lv-tinh .lv-nhan{animation:none!important}
.lv.lv-tinh .lv-than img{transition:none}
.lv.lv-tinh .lv-hat{display:none}

@media (max-width:700px){
  .lv{width:var(--lv-cao-dt,110px);height:var(--lv-cao-dt,110px)}
  .lv-bong{right:-4px;width:calc(100vw - 16px)}
  .lv-cau{max-height:calc(100vh - var(--lv-cao-dt,110px) - 240px)}
  .lv-bong::after{right:calc(var(--lv-cao-dt,110px) / 2 - 9px)}
}
@media print{.lv{display:none}}
