/* CA Bundals — Learn: chapter film engine.
   Everything inside .lv-world is in stage units (1280×720) and is scaled by
   the camera. Overlays outside it (title card, end card, captions, toast)
   are sized from --u, the host width in thousandths. */
.lv-host{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#EEF2F9;isolation:isolate;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#1F2433;-webkit-font-smoothing:antialiased;text-align:left;--u:1}
.lv-host.lv-narrow{aspect-ratio:4/5}
.lv-host *{box-sizing:border-box}
.lv-vp{position:absolute;inset:0;overflow:hidden}
.lv-world{position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:0 0;font-size:15px;line-height:1.35}
.lv-desk{position:absolute;inset:-700px;background:#EEF2F9}
.lv-desk b{position:absolute;inset:0;background-image:radial-gradient(#CFD6E4 1.2px,transparent 1.3px);background-size:30px 30px;opacity:.55}
.lv-desk i{position:absolute;width:760px;height:760px;border-radius:50%;filter:blur(90px);opacity:.7}
.lv-desk i:nth-child(1){left:420px;top:380px;background:#DCE6FF}
.lv-desk i:nth-child(2){left:1500px;top:900px;background:#FFE6DC}
.lv-layers,.lv-layer,.lv-fx{position:absolute;left:0;top:0;width:1280px;height:720px}
.lv-layers,.lv-layer{transform-origin:50% 50%}
.lv-fx{pointer-events:none}
.lv-cur{position:absolute;left:0;top:0;margin:-3px 0 0 -5px;pointer-events:none;opacity:0;transform-origin:5px 3px;filter:drop-shadow(0 5px 8px rgba(31,36,51,.3))}
.lv-rip{position:absolute;left:0;top:0;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#1A56DB;opacity:0}
.lv-rip.tap{width:64px;height:64px;margin:-32px 0 0 -32px;background:#1F2433}
.lv-ring{position:absolute;border:3px solid #1A56DB;border-radius:14px;box-shadow:0 0 0 6px rgba(26,86,219,.14)}
.lv-ring.ok{border-color:#0E9F6E;box-shadow:0 0 0 6px rgba(14,159,110,.16)}
.lv-ring.bad{border-color:#D92D20;box-shadow:0 0 0 6px rgba(217,45,32,.14)}
.lv-ico .mx{mix-blend-mode:multiply}
.lv-ico{display:block;flex:none}
.lv-press{filter:brightness(.93)}

/* ── the portal window ── */
.lv-win{position:absolute;left:28px;top:24px;width:1224px;height:672px;border-radius:18px;background:#F4F6FA;overflow:hidden;display:flex;box-shadow:0 50px 90px -46px rgba(31,36,51,.5),0 0 0 1px rgba(31,36,51,.07)}
.lv-side{width:232px;flex:none;background:#fff;border-right:1px solid #E6E9F0;padding:15px 12px 12px;display:flex;flex-direction:column}
.lv-side-top{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 4px}
.lv-logo{display:block;color:#1F2433}
.lv-rail{color:#7A8194;display:flex}
.lv-firm{font-size:12.5px;color:#5B6275;margin:6px 6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-side nav{display:flex;flex-direction:column;gap:1px}
.lv-nav{display:flex;align-items:center;gap:10px;min-height:33px;padding:0 10px;border-radius:8px;font-size:14px;font-weight:600;color:#3A4154;white-space:nowrap;transition:background .2s,color .2s}
.lv-nav>svg{color:#7A8194;flex:none}
.lv-nav .dot{width:6px;height:6px;border-radius:50%;background:#A9B0C0;margin:0 7px;flex:none}
.lv-nav.on{background:#EEF3FD;color:#1A56DB}
.lv-nav.on .dot{background:#1A56DB}.lv-nav.on>svg{color:#1A56DB}
.lv-nav span{overflow:hidden;text-overflow:ellipsis}
.lv-apphead{display:flex;align-items:center;gap:10px;padding:9px 10px 7px;font-weight:800;font-size:15.5px;letter-spacing:-.2px}
.lv-sep{height:1px;background:#F0F2F6;margin:6px 4px}
.lv-grow{flex:1;min-height:6px}
.lv-pm{border:1px solid #E6E9F0;border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:12px;color:#5B6275;display:flex;flex-direction:column;gap:5px}
.lv-pm div{display:flex;justify-content:space-between;align-items:center}
.lv-pm b{font-size:13px;color:#1F2433}.lv-pm a{font-weight:700;color:#1A56DB}
.lv-pm em{font-style:normal;font-size:11px;font-weight:700;color:#8A4B00;background:#FEF3E2;border-radius:999px;padding:2px 8px}
.lv-pm p{margin:2px 0 0;display:flex;justify-content:space-between;font-weight:600}
.lv-pm .lv-bar{height:4px}.lv-pm .lv-bar i{transform-origin:0 50%}
.lv-user{display:flex;align-items:center;gap:10px;border-top:1px solid #F0F2F6;padding:10px 6px 0;margin-top:6px}
.lv-user b{display:block;font-size:13px}.lv-user small{font-size:11.5px;color:#5B6275}
.lv-av{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex:none;font-style:normal}
.lv-main{flex:1;min-width:0;display:flex;flex-direction:column}
.lv-top{height:58px;flex:none;display:flex;align-items:center;gap:12px;padding:0 26px;background:#fff;border-bottom:1px solid #E6E9F0}
.lv-tt{display:flex;flex-direction:column;line-height:1.15}
.lv-tt small{font-size:11.5px;font-weight:600;color:#5B6275}.lv-tt b{font-size:16px;font-weight:800}
.lv-search{margin-left:auto;display:flex;align-items:center;gap:8px;height:36px;width:290px;padding:0 12px;background:#F4F6FA;border-radius:8px;color:#7A8194;font-size:13.5px}
.lv-body{position:relative;flex:1;min-height:0}
.lv-page{position:absolute;inset:0;overflow:hidden}
.lv-pin{padding:22px 28px;display:flex;flex-direction:column;gap:14px;min-height:100%}

/* ── atoms (sizes follow portal.css and the f3 screen kit) ── */
.lv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.lv-head h1{margin:0;font-size:27px;font-weight:800;letter-spacing:-.6px;line-height:1.15}
.lv-head p{margin:5px 0 0;font-size:14px;color:#5B6275}
.lv-acts{display:flex;gap:8px;flex:none}
.lv-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:37px;padding:0 15px;border-radius:8px;font-size:13.5px;font-weight:600;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.lv-btn.sm{height:30px;padding:0 11px;font-size:12.5px}
.lv-bp{background:#1A56DB;color:#fff}.lv-bs{background:#EEF2FB;color:#1A56DB}.lv-bw{background:#fff;color:#3A4154;box-shadow:inset 0 0 0 1px #E1E5EE}.lv-bd{background:#fff;color:#B42318;box-shadow:inset 0 0 0 1px #F2A39A}
.lv-bg{background:#0E9F6E;color:#fff}
.lv-btn.ok{background:#0E9F6E;color:#fff;box-shadow:none}
.lv-btn.off{background:#F2F4F8;color:#7A8194;box-shadow:none}
.lv-card{background:#fff;border:1px solid #E6E9F0;border-radius:16px;padding:16px 18px;min-width:0}
.lv-card.flush{padding:0;overflow:hidden}
.lv-card.flush>.lv-ch{padding:14px 18px 10px}
.lv-ch{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.lv-ch h2{margin:0;font-size:16px;font-weight:700;flex:1}
.lv-ch a{font-size:13px;font-weight:600;color:#1A56DB}
.lv-cnt{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:#F2F4F8;color:#3A4154}
.lv-kpis{display:grid;gap:14px}
.lv-kpi{display:flex;flex-direction:column;gap:2px;padding:14px 16px}
.lv-kpi>span{font-size:12.5px;font-weight:600;color:#5B6275}
.lv-kpi>b{font-size:25px;font-weight:800;letter-spacing:-.6px;font-variant-numeric:tabular-nums;line-height:1.2}
.lv-kpi>small{font-size:12.5px;color:#5B6275;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn-r{color:#B42318}.tn-y{color:#8A4B00}.tn-g{color:#067647}.tn-b{color:#1A56DB}.tn-n{color:#7A8194}
.lv-pl{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;font-style:normal}
.lv-pr{background:#FDECEC;color:#B42318}.lv-py{background:#FEF3E2;color:#8A4B00}.lv-pg{background:#E5F6EE;color:#067647}.lv-pb{background:#EEF3FD;color:#1A56DB}.lv-pn{background:#F2F4F8;color:#5B6275}.lv-pv{background:#F3EEFF;color:#6D28D9}
.lv-sw{position:relative;display:inline-grid;vertical-align:middle}
.lv-sw>em{grid-area:1/1;justify-self:start;opacity:0;transform:translateY(9px);transition:opacity .3s,transform .35s cubic-bezier(.16,1,.3,1)}
.lv-sw[data-st="0"]>em[data-i="0"],.lv-sw[data-st="1"]>em[data-i="1"],.lv-sw[data-st="2"]>em[data-i="2"],.lv-sw[data-st="3"]>em[data-i="3"]{opacity:1;transform:none}
.lv-sw[data-st="1"]>em[data-i="0"],.lv-sw[data-st="2"]>em[data-i="0"],.lv-sw[data-st="2"]>em[data-i="1"],.lv-sw[data-st="3"]>em[data-i="0"],.lv-sw[data-st="3"]>em[data-i="1"],.lv-sw[data-st="3"]>em[data-i="2"]{transform:translateY(-9px)}
.lv-who{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.lv-who small{display:block;font-size:12px;color:#5B6275}
.lv-tb{display:flex;flex-direction:column;font-size:13.5px}
.lv-tb .lv-tr{display:grid;align-items:center;gap:0 12px;padding:9px 18px;border-top:1px solid #EEF0F4;color:inherit;min-height:44px;transition:background .3s}
.lv-tb .lv-th{background:#F7F8FB;border-top:0;min-height:0;padding:9px 18px;font-size:11.5px;font-weight:700;color:#5B6275;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}
.lv-card:not(.flush)>.lv-tb{margin:0 -18px -16px}
.lv-tb .lv-tr>div{min-width:0}
.lv-tb b{font-weight:600}
.lv-tb small{display:block;font-size:12px;color:#5B6275;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-tb .num{text-align:right;font-variant-numeric:tabular-nums}
.lv-tb .lv-tr.hot{background:#F5F8FF}
.lv-tb .lv-tr.dim{color:#7A8194}
.lv-tb .lv-tr.okrow{background:#F3FBF7}
.lv-fld{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:#3A4154;min-width:0}
.lv-fld>span:first-child em{font-style:normal;font-weight:500;color:#7A8194;margin-left:6px}
.lv-in{display:flex;align-items:center;height:40px;border:1px solid #D5DAE3;border-radius:9px;padding:0 12px;font-size:14px;font-weight:500;color:#1F2433;background:#fff;white-space:nowrap;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.lv-in.sel::after{content:'';margin-left:auto;width:7px;height:7px;border:solid #7A8194;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-3px);flex:none}
.lv-in.lv-typing,.lv-in.focus{border-color:#1A56DB;box-shadow:0 0 0 3px #DCE6FB}
.lv-typing::after{content:'';display:inline-block;width:2px;height:1.1em;background:#1A56DB;margin-left:1px;vertical-align:-2px;animation:lvblink 1s steps(1) infinite}
.lv-in.sel.lv-typing::after{border:0;transform:none;margin-left:1px}
@keyframes lvblink{50%{opacity:0}}
.lv-chips{display:flex;gap:7px;flex-wrap:wrap}
.lv-chip{padding:6px 12px;border-radius:999px;border:1px solid #D5DAE3;background:#fff;font-size:12.5px;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.lv-chip.on{background:#1A56DB;border-color:#1A56DB;color:#fff}
.lv-tabs{display:flex;gap:2px;border-bottom:1px solid #E6E9F0}
.lv-tabs span{padding:10px 13px;font-size:13.5px;font-weight:600;color:#5B6275;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .25s,border-color .25s}
.lv-tabs span.on{color:#1A56DB;border-bottom-color:#1A56DB}
.lv-bar{display:block;height:6px;border-radius:3px;background:#EEF0F4;overflow:hidden;min-width:40px}
.lv-bar i{display:block;height:100%;width:100%;border-radius:3px;background:#1A56DB;transform-origin:0 50%;transition:background .3s}
.lv-tg{position:relative;display:inline-block;width:40px;height:23px;border-radius:12px;background:#C9CFDB;transition:background .25s;flex:none;vertical-align:middle}
.lv-tg i{position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.lv-tg.on{background:#1A56DB}.lv-tg.on i{transform:translateX(17px)}
.lv-chk{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:2px solid #C5CAD6;color:transparent;transition:all .22s;flex:none;vertical-align:middle}
.lv-chk svg{width:13px;height:13px}
.lv-chk.on{background:#1A56DB;border-color:#1A56DB;color:#fff}
.lv-note{padding:11px 14px;border-radius:12px;font-size:13.5px;line-height:1.5}
.lv-nb{background:#EEF3FD;color:#1E3A8A}.lv-ny{background:#FFF8EB;color:#6B3F00;box-shadow:inset 0 0 0 1px #F7E0B5}.lv-ng{background:#E5F6EE;color:#05603A}.lv-nr{background:#FDECEC;color:#912018}.lv-nn{background:#F2F4F8;color:#3A4154}
.lv-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lv-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lv-row{display:flex;align-items:center;gap:12px}
.lv-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.lv-mut{color:#5B6275}.lv-sm{font-size:12.5px}
.lv-sp{flex:1}
/* modal + scrim sit over a window: put them in ws({ over: ... }) */
.lv-scrim{position:absolute;inset:0;background:rgba(31,36,51,.38);border-radius:18px}
.lv-modal{position:absolute;left:50%;top:50%;width:520px;margin-left:-260px;background:#fff;border-radius:18px;padding:24px 26px;box-shadow:0 40px 80px -30px rgba(31,36,51,.55);display:flex;flex-direction:column;gap:14px}
.lv-modal h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.3px}
.lv-modal p{margin:0;font-size:13.5px;color:#5B6275;line-height:1.5}
.lv-modal .lv-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.lv-drawer{position:absolute;right:0;top:0;bottom:0;width:440px;background:#fff;border-left:1px solid #E6E9F0;box-shadow:-30px 0 60px -40px rgba(31,36,51,.5);padding:22px 24px;display:flex;flex-direction:column;gap:13px}
.lv-drawer h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-.3px}

.lv-fhead{padding:10px 10px 6px}.lv-fhead b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.2px}.lv-fhead small{display:block;font-size:11.5px;color:#5B6275;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-navk{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7A8194;padding:9px 10px 3px}
.lv-side nav .lv-nav[data-app]{min-height:30px;font-size:13.5px}
.lv-apps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 6px;background:#fff;border:1px solid #E6E9F0;border-radius:16px;padding:12px 10px}
.lv-app{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:10px 4px 8px;border-radius:12px;transition:background .25s}
.lv-app b{font-size:13.5px;font-weight:700;white-space:nowrap;margin-top:2px}
.lv-app small{font-size:11px;color:#5B6275;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lv-app.hot{background:#EEF3FD}
.lv-app.locked svg{filter:grayscale(1);opacity:.45}.lv-app.locked b{color:#7A8194}
.lv-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lv-folder{position:relative;background:#fff;border:1px solid #E6E9F0;border-radius:4px 14px 14px 14px;padding:13px 14px 11px;display:flex;flex-direction:column;gap:3px;font-size:12.5px;transition:box-shadow .3s,border-color .3s}
.lv-folder .tab{position:absolute;left:-1px;top:-7px;width:64px;height:8px;border-radius:6px 6px 0 0;background:#1A56DB}
.lv-folder:nth-child(2) .tab{background:#FF7A59}.lv-folder:nth-child(3) .tab{background:#14B8A6}.lv-folder:nth-child(4) .tab{background:#FBBF24}
.lv-folder>b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-folder>small{color:#5B6275;margin-bottom:4px}
.lv-folder p{margin:0;display:flex;justify-content:space-between;color:#5B6275}.lv-folder p span:last-child{font-weight:600;color:#1F2433}.lv-folder p span.tn-r{color:#B42318}
.lv-folder>div{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:12.5px}
.lv-folder.hot{border-color:#1A56DB;box-shadow:0 14px 26px -18px rgba(26,86,219,.7)}

/* ── phone ── */
.lv-phone{position:absolute;width:330px;height:680px;border-radius:48px;background:#1F2433;padding:10px;box-shadow:0 60px 90px -44px rgba(31,36,51,.65),inset 0 0 0 2px #3A4154}
.lv-scr{position:relative;width:100%;height:100%;border-radius:39px;overflow:hidden;background:#F4F6FA;font-size:14px}
.lv-scr::before{content:'';position:absolute;left:50%;top:9px;width:86px;height:22px;margin-left:-43px;border-radius:12px;background:#1F2433;z-index:5}
.lv-ps{position:absolute;inset:0;padding:46px 16px 16px;display:flex;flex-direction:column;gap:10px;background:#F4F6FA}
.lv-fb{display:flex;align-items:center;gap:10px}
.lv-fb i,.lv-wahd i{width:36px;height:36px;border-radius:10px;background:#1A56DB;color:#fff;font-style:normal;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.lv-fb b{display:block;font-size:14.5px}.lv-fb small{font-size:11.5px;color:#5B6275}
.lv-ps h4{margin:2px 0 0;font-size:21px;font-weight:800;letter-spacing:-.5px;line-height:1.2}
.lv-ps p{margin:0;font-size:13px;color:#5B6275;line-height:1.45}
.lv-pc{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 0 0 1px rgba(31,36,51,.06);display:flex;flex-direction:column;gap:6px}
.lv-pc b{font-size:14.5px}.lv-pc small{font-size:12px;color:#5B6275}
.lv-pbtn{display:flex;align-items:center;justify-content:center;height:46px;border-radius:12px;background:#1A56DB;color:#fff;font-weight:700;font-size:15px;transition:background .25s}
.lv-pbtn.soft{background:#EEF3FD;color:#1A56DB;height:38px;font-size:13.5px}
.lv-pbtn.ok{background:#0E9F6E;color:#fff}
.lv-ptabs{position:absolute;left:0;right:0;bottom:0;height:58px;background:#fff;border-top:1px solid #E6E9F0;display:flex;align-items:center;justify-content:space-around;font-size:11px;font-weight:600;color:#7A8194;padding-bottom:6px}
.lv-ptabs span{display:flex;flex-direction:column;align-items:center;gap:4px;transition:color .2s}
.lv-ptabs span::before{content:'';width:20px;height:20px;border-radius:7px;background:currentColor;opacity:.35}
.lv-ptabs span.on{color:#1A56DB}.lv-ptabs span.on::before{opacity:1}
.lv-wa{position:absolute;inset:0;background:#ECE5DD;display:flex;flex-direction:column}
.lv-wahd{background:#075E54;color:#fff;display:flex;align-items:center;gap:10px;padding:42px 14px 10px}
.lv-wahd i{background:#fff;color:#075E54;border-radius:50%}
.lv-wahd b{display:block;font-size:14.5px}.lv-wahd small{font-size:11.5px;opacity:.85}
.lv-wab{padding:14px 12px;display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.lv-bub{background:#fff;border-radius:0 13px 13px 13px;padding:9px 11px 6px;font-size:13.5px;line-height:1.42;max-width:262px;box-shadow:0 1px 1px rgba(0,0,0,.08);transform-origin:0 0}
.lv-bub.out{align-self:flex-end;background:#DCF8C6;border-radius:13px 0 13px 13px;transform-origin:100% 0}
.lv-bub small{display:block;text-align:right;font-size:10.5px;color:#6B7185;margin-top:3px}
.lv-wbtn{margin-top:8px;padding:9px;border-radius:9px;background:#EEF3FD;color:#1A56DB;font-weight:700;text-align:center;font-size:13.5px}

/* ── overlays ── */
.lv-toasts{position:absolute;left:0;right:0;top:calc(var(--u) * 22px);display:grid;justify-items:center;pointer-events:none;z-index:3}
.lv-toast{grid-area:1/1;display:flex;align-items:center;gap:calc(var(--u) * 11px);background:#1F2433;color:#fff;font-size:clamp(11.5px,calc(var(--u) * 15.5px),17px);font-weight:600;padding:.72em 1.15em;border-radius:999px;box-shadow:0 18px 36px -16px rgba(31,36,51,.6);max-width:92%;opacity:0}
.lv-toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-toast i{width:.62em;height:.62em;border-radius:50%;background:#22C55E;box-shadow:0 0 0 .28em rgba(34,197,94,.25);flex:none}
.lv-toast i.warn{background:#FBBF24;box-shadow:0 0 0 .28em rgba(251,191,36,.25)}.lv-toast i.bad{background:#F04438;box-shadow:0 0 0 .28em rgba(240,68,56,.25)}
.lv-tc,.lv-ec{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;z-index:4}
.lv-tc{background:#fff radial-gradient(#DDE2EC 1.2px,transparent 1.3px) 0 0/26px 26px;pointer-events:none}
.lv-tc::before,.lv-tc::after{content:'';position:absolute;width:46%;aspect-ratio:1;border-radius:50%;filter:blur(calc(var(--u) * 70px));opacity:.75}
.lv-tc::before{left:-12%;top:-30%;background:#DCE6FF}.lv-tc::after{right:-10%;bottom:-34%;background:#FFE3D8}
.lv-tc-in{position:relative;z-index:1;padding:0 6%;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 16px)}
.lv-tc-k{font-size:clamp(11px,calc(var(--u) * 15px),17px);font-weight:700;color:#1A56DB;letter-spacing:.06em;text-transform:uppercase}
.lv-tc h3{margin:0;font-size:clamp(26px,calc(var(--u) * 56px),64px);font-weight:800;letter-spacing:-.035em;line-height:1.08;max-width:16em}
.lv-narrow .lv-tc h3{font-size:calc(var(--u) * 34px)}
.lv-m{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .14em;margin-bottom:-.14em}
.lv-w{display:inline-block}
.lv-tc-apps{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u) * 10px);margin-top:calc(var(--u) * 8px)}
.lv-tc-apps span{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E6E9F0;border-radius:999px;padding:5px 14px 5px 7px;font-size:clamp(11px,calc(var(--u) * 14px),15px);box-shadow:0 10px 20px -16px rgba(31,36,51,.5)}
.lv-tc-apps svg{width:calc(var(--u) * 30px);height:calc(var(--u) * 30px);min-width:22px;min-height:22px}
.lv-tc-apps b{font-weight:700}
.lv-thumb .lv-tc,.lv-thumb .lv-ec,.lv-thumb .lv-toasts{display:none}
.lv-ec{background:rgba(244,246,250,.82);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;pointer-events:none}
.lv-ec.live{pointer-events:auto}
.lv-ec-in{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 12px);padding:0 6%;max-width:100%}
.lv-ec-ok{width:calc(var(--u) * 54px);height:calc(var(--u) * 54px);min-width:40px;min-height:40px;border-radius:50%;background:#0E9F6E;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 calc(var(--u) * 9px) #D9F2E6}
.lv-ec-ok svg{width:50%;height:50%}
.lv-ec-k{font-size:clamp(11px,calc(var(--u) * 14px),15px);font-weight:700;color:#067647;letter-spacing:.06em;text-transform:uppercase;margin-top:calc(var(--u) * 8px)}
.lv-ec h3{margin:0;font-size:clamp(20px,calc(var(--u) * 34px),40px);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.lv-ec-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:calc(var(--u) * 12px)}
.lv-ec-next{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;text-align:left;border:0;cursor:pointer;background:#1A56DB;color:#fff;border-radius:12px;padding:10px 14px 10px 18px;font-family:inherit;text-decoration:none;box-shadow:0 16px 30px -16px rgba(26,86,219,.8);max-width:100%}
.lv-ec-next:hover{background:#1240A8;color:#fff}
.lv-ec-next small{grid-column:1;font-size:11.5px;font-weight:600;opacity:.85}
.lv-ec-next b{grid-column:1;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-ec-next svg{grid-column:2;grid-row:1/3}
.lv-ec-try{display:inline-flex;align-items:center;height:auto;min-height:48px;padding:0 20px;border-radius:12px;background:#fff;color:#1A56DB;font-weight:700;font-size:15px;text-decoration:none;box-shadow:inset 0 0 0 1.5px #C9D8F8}
.lv-ec-try:hover{background:#EEF3FD}
.lv-ec-re{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:#5B6275;font:600 13.5px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;padding:8px 10px;margin-top:2px}
.lv-ec-re:hover{color:#1A56DB}
.lv-rm .lv-world *,.lv-rm .lv-tc *,.lv-rm .lv-ec *{transition:none!important;animation:none!important}

/* ── player ── */
.lv-player{display:flex;flex-direction:column;font-family:'Plus Jakarta Sans',system-ui,sans-serif;min-width:0}
.lv-screen{position:relative;border-radius:18px 18px 0 0;overflow:hidden;background:#EEF2F9;cursor:pointer;box-shadow:0 0 0 1px #E0E5EE}
.lv-capt{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:84%;background:rgba(31,36,51,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:clamp(13px,1.25vw,17px);font-weight:600;line-height:1.4;padding:.55em 1em;border-radius:12px;text-align:center;z-index:5;opacity:0;pointer-events:none;width:max-content}
.lv-capt.in{animation:lvcap .45s cubic-bezier(.16,1,.3,1) both}
@keyframes lvcap{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.lv-capm{display:none}
.lv-bigplay{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:0;background:#1A56DB;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;box-shadow:0 0 0 10px rgba(26,86,219,.16),0 22px 40px -14px rgba(26,86,219,.75);transition:transform .25s cubic-bezier(.3,1.5,.5,1)}
.lv-bigplay svg{width:32px;height:32px;margin-left:4px}
.lv-bigplay:hover{transform:scale(1.07)}
.lv-started .lv-bigplay{display:none}
.lv-player:not(.lv-started) .lv-screen::after{content:'';position:absolute;inset:0;background:rgba(244,246,250,.35);z-index:5;pointer-events:none}
.lv-ctl{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#fff;border-radius:0 0 18px 18px;box-shadow:0 0 0 1px #E0E5EE}
.lv-cb{width:40px;height:40px;border-radius:10px;border:0;background:none;color:#3A4154;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.lv-cb:hover{background:#F2F4F8;color:#1A56DB}
.lv-cb:focus-visible,.lv-track:focus-visible,.lv-bigplay:focus-visible,.lv-ec-next:focus-visible,.lv-ec-try:focus-visible,.lv-ec-re:focus-visible{outline:2px solid #1A56DB;outline-offset:2px}
.lv-pp{background:#1A56DB;color:#fff}.lv-pp:hover{background:#1240A8;color:#fff}
.lv-pp svg:last-child{display:none}.lv-playing .lv-pp svg:first-child{display:none}.lv-playing .lv-pp svg:last-child{display:block}
.lv-time,.lv-dur{font-size:12.5px;font-weight:600;color:#5B6275;font-variant-numeric:tabular-nums;min-width:32px;text-align:center}
.lv-track{position:relative;flex:1;height:40px;cursor:pointer;touch-action:none;min-width:60px}
.lv-track::before{content:'';position:absolute;left:0;right:0;top:17px;height:6px;border-radius:3px;background:#E6E9F0}
.lv-fill{position:absolute;left:0;right:0;top:17px;height:6px;border-radius:3px;background:#1A56DB;transform-origin:0 50%;transform:scaleX(0)}
.lv-marks{position:absolute;left:0;right:0;top:17px;height:6px;pointer-events:none}
.lv-marks i{position:absolute;top:0;width:2px;height:6px;margin-left:-1px;background:#fff}
.lv-knob{position:absolute;top:13px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #1A56DB,0 3px 8px rgba(31,36,51,.25)}
.lv-rmode .lv-pp svg:first-child{display:none}.lv-rmode .lv-pp svg:last-child{display:none}
.lv-rmode .lv-pp::after{content:'Next step';font:700 13px 'Plus Jakarta Sans',system-ui,sans-serif}
.lv-rmode .lv-pp{width:auto;padding:0 14px}
.lv-rmode .lv-nextb{display:none}
.lv-rmode .lv-bigplay{width:auto;height:52px;margin:-26px 0 0 0;transform:translateX(-50%);padding:0 22px 0 16px;border-radius:26px;gap:8px}
.lv-rmode .lv-bigplay::after{content:'Step through';font:700 15px 'Plus Jakarta Sans',system-ui,sans-serif}
.lv-rmode .lv-bigplay svg{width:20px;height:20px;margin:0}
.lv-rmode .lv-bigplay:hover{transform:translateX(-50%)}
@media (max-width:640px){
  .lv-screen{border-radius:14px 14px 0 0}
  .lv-capt{display:none}
  .lv-capm{display:flex;align-items:center;min-height:66px;padding:10px 14px;background:#1F2433;color:#fff;font-size:15px;font-weight:600;line-height:1.4}
  .lv-capm:empty::before{content:'Press play to start the chapter.';color:#A9B0C0;font-weight:500}
  .lv-started .lv-capm:empty::before{content:''}
  .lv-capm.in{animation:lvcapm .4s ease both}
  @keyframes lvcapm{from{opacity:.2}to{opacity:1}}
  .lv-ctl{border-radius:0 0 14px 14px;gap:4px;padding:8px}
  .lv-cb{width:44px;height:44px}
  .lv-dur{display:none}
  .lv-bigplay{width:72px;height:72px;margin:-36px 0 0 -36px}
  .lv-ec-next b{max-width:54vw}
}

.lv-phone.short{height:596px}
/* long menus (Team & Time, Accounting, the launcher): tighten so the user block stays inside the window */
.lv-side nav:has(.lv-nav:nth-child(11)) .lv-nav{min-height:28px;font-size:13.5px}
.lv-side nav:has(.lv-nav:nth-child(13)) .lv-nav{min-height:26px;font-size:13px}
.lv-side nav:has(.lv-nav:nth-child(11))~.lv-pm{padding:7px 12px;gap:3px}
.lv-side nav:has(.lv-nav:nth-child(11))~.lv-grow{min-height:2px}
