/* A tactile balance. Text stays in HTML at readable sizes at every viewport. */
.lp-balance-v2{--balance-angle:8deg;--balance-accent:#ee90aa;--demand:26%;--capacity:80%;position:relative;isolation:isolate;overflow:clip;padding:30px 28px 22px;border:1px solid #ffffff24;border-radius:28px;background:radial-gradient(ellipse at 50% 44%,#84274730,transparent 64%),linear-gradient(145deg,#24232b,#15151c 72%);box-shadow:inset 0 1px #ffffff10,0 28px 70px #0003;touch-action:pan-y pinch-zoom;user-select:none;cursor:grab;outline-offset:6px;}
.lp-balance-v2.is-dragging{cursor:grabbing;}
.lp-balance-v2:focus-visible{outline:2px solid #efa9bf;}
.lp-balance-v2[data-balance-state="1"]{--balance-angle:-8deg;--balance-accent:#ef7993;--demand:95%;--capacity:42%;}
.lp-balance-v2[data-balance-state="0"]{--balance-angle:0deg;--balance-accent:#f4c3d4;--demand:76%;--capacity:76%;}
.lp-balance-top{display:flex;justify-content:space-between;align-items:center;gap:14px;position:relative;z-index:2;}
.lp-balance-v2 .lp-balance-heading{font-size:clamp(20px,1.8vw,25px);justify-content:flex-start;gap:12px;line-height:1.25;}
.lp-balance-v2 .lp-balance-heading img{width:38px;height:32px;}
.lp-balance-count{white-space:nowrap;color:#aaa3af;font-size:1rem;font-variant-numeric:tabular-nums;}
.lp-balance-count b{font-weight:500;color:#fff;}
.lp-balance-stage{height:310px;position:relative;margin-top:32px;transform:translateX(var(--balance-drag,0px));transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.is-dragging .lp-balance-stage{transition:none;}
.lp-balance-orbit{position:absolute;width:250px;height:250px;left:50%;top:8px;transform:translateX(-50%);border:1px solid #e493ad12;border-radius:50%;box-shadow:0 0 0 30px #efafc703,0 0 0 60px #efafc702;}
.lp-balance-stem{position:absolute;top:58px;bottom:32px;left:calc(50% - 5px);width:10px;background:linear-gradient(90deg,#6a263e,#d57b98 48%,#823450);border-radius:10px;box-shadow:5px 4px 20px #0005;}
.lp-balance-base{position:absolute;bottom:29px;width:38%;height:12px;left:31%;border-radius:50% 50% 7px 7px;background:linear-gradient(180deg,#d397aa,#822443 80%);box-shadow:0 12px 20px #0007;}
.lp-balance-v2 #balanceBeam{position:absolute;top:58px;left:24%;width:52%;height:1px;transform-origin:50% 0;transform:rotate(var(--balance-angle));transition:transform .9s cubic-bezier(.2,.75,.2,1);}
.lp-balance-bar{height:7px;position:absolute;left:0;right:0;top:-3px;border-radius:9px;background:linear-gradient(180deg,#f7c9d7,var(--balance-accent));box-shadow:0 3px 14px #fba3c338;transition:background .8s;}
.lp-balance-v2 :is(#balanceLeft,#balanceRight){position:absolute;top:0;width:80%;transform-origin:50% 0;transform:rotate(calc(-1 * var(--balance-angle)));transition:transform .9s cubic-bezier(.2,.75,.2,1);}
.lp-balance-v2 #balanceLeft{left:-40%;}.lp-balance-v2 #balanceRight{left:60%;}
.lp-balance-cord{width:1px;height:48px;background:linear-gradient(#e7b6c7,#8e7585);margin:0 auto;}
.lp-balance-pan{position:relative;min-height:140px;box-sizing:border-box;padding:20px 18px 16px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(145deg,#34303b,#25222d);box-shadow:inset 0 1px #ffffff10,0 18px 30px #07060c40;text-align:left;}
.lp-balance-pan strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.025em;color:#fff;line-height:1.3;}
.lp-balance-pan span{display:block;color:#c7c1cd;font-size:1rem;line-height:1.35;}
.lp-balance-meter{height:5px;background:#ffffff14;border-radius:6px;margin:16px 0 14px;overflow:hidden;}
.lp-balance-meter i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#ac4666,#f3adc4);transition:width .9s cubic-bezier(.2,.75,.2,1);}
.lp-balance-demand .lp-balance-meter i{width:var(--demand);}.lp-balance-capacity .lp-balance-meter i{width:var(--capacity);background:linear-gradient(90deg,#6f647a,#d4c7dd);}
.lp-balance-v2[data-balance-state="0"] .lp-balance-meter i{background:linear-gradient(90deg,#b6768c,#f4c3d4);}
.lp-balance-pivot{position:absolute;top:46px;left:calc(50% - 12px);width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#ffe0ea,#dd90aa 38%,#80304c);box-shadow:0 0 0 7px #f3adc409,0 4px 9px #17070f60;}
.lp-balance-story{position:relative;min-height:130px;text-align:center;padding:0 4px;}
.lp-balance-story h3{font-size:clamp(26px,2.4vw,34px);line-height:1.14;color:#fff;letter-spacing:-.045em;margin:0 0 14px;}
.lp-balance-v2 .lp-balance-story p{font-size:17px;line-height:1.6;color:#c0b9c8;margin:0 auto;max-width:400px;}
.lp-balance-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 20px;position:relative;z-index:2;}
.lp-balance-nav{min-height:46px;padding:0 18px;border:1px solid #ffffff20;border-radius:30px;background:#ffffff05;color:#eee8f0;font:inherit;font-size:1rem;cursor:pointer;transition:background .2s,border-color .2s;}
.lp-balance-nav:hover{background:#ffffff10;border-color:#dd9db4;}
.lp-balance-dots{display:flex;align-items:center;gap:0;}
.lp-balance-dots button{width:36px;min-height:44px;border:0;background:none;padding:0 5px;display:grid;place-items:center;cursor:pointer;}
.lp-balance-dots button>span{position:relative;overflow:hidden;display:block;width:8px;height:8px;background:#807586;border-radius:5px;transition:width .3s,background .3s;}
.lp-balance-dots button[aria-pressed=true]>span{width:26px;background:#854158;}
.lp-balance-dots button[aria-pressed=true]>span:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--balance-progress,0%);min-width:5px;border-radius:5px;background:#f2b0c7;}
.lp-balance-v2 button:focus-visible{outline:2px solid #f4b9ce;outline-offset:3px;}
.lp-balance-v2 .lp-balance-playback{margin:0;border-top:1px solid #ffffff13;padding-top:14px;flex-wrap:wrap;gap:4px 16px;color:#c0b9c8;font-size:1rem;line-height:1.5;}
.lp-balance-v2 .lp-balance-playback button{min-height:44px;font-size:1rem;}
@media(min-width:641px) and (max-width:1050px){.lp-problem-grid{grid-template-columns:1fr;gap:36px;}.lp-problem-grid>div:first-child{max-width:700px;}.lp-balance-v2{max-width:620px;width:100%;box-sizing:border-box;justify-self:center;}}
@media(max-width:640px){.lp-balance-v2{padding:24px 16px 18px;border-radius:24px;}.lp-balance-count{display:none;}.lp-balance-stage{height:280px;margin-top:26px;}.lp-balance-v2 #balanceBeam{top:44px;}.lp-balance-pivot{top:32px;}.lp-balance-stem{top:44px;}.lp-balance-pan{padding:16px 10px;min-height:132px;border-radius:15px;}.lp-balance-pan strong{font-size:18px;}.lp-balance-meter{margin:13px 0 12px;}.lp-balance-story{min-height:128px;padding:0 8px;}.lp-balance-v2 .lp-balance-story p{font-size:1rem;}.lp-balance-navigation{gap:5px;margin-top:12px;}.lp-balance-nav{padding:0 16px;}.lp-balance-v2 .lp-balance-playback{justify-content:center;text-align:center;}.lp-balance-gesture{flex-basis:100%;}.lp-balance-orbit{width:210px;height:210px;}}
@media(prefers-reduced-motion:reduce){.lp-balance-v2 *{transition:none!important;animation:none!important;}}
