.lp{--lp-lime: #a6ef3f;--lp-lime-2: #c6f65c;--lp-blue: #1f8bff;--lp-field: #0a1b44;--lp-line: rgba(100, 145, 235, .28);--lp-muted: #9fb2d6;position:relative;min-height:100%;overflow:hidden;color:#fff;background:radial-gradient(900px 520px at 82% -5%,rgba(31,100,255,.3),transparent 60%),radial-gradient(800px 520px at 8% 105%,rgba(20,80,200,.28),transparent 60%),linear-gradient(180deg,#040c24,#061333 55%,#05102b)}.lp-shell{position:relative;z-index:1;max-width:1560px;margin:0 auto;min-height:100vh;padding:26px clamp(20px,4vw,64px) 36px;display:grid;align-items:center;column-gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(0,.66fr) minmax(360px,.92fr);grid-template-rows:auto 1fr;grid-template-areas:"brand brand tag" "intro hero card"}.lp-top{display:contents}.lp-brand{grid-area:brand;display:flex;align-items:center;gap:10px;align-self:start;font:800 1.9rem/1 "Plus Jakarta Sans",var(--body);letter-spacing:-.01em}.lp-tag{grid-area:tag;justify-self:end;align-self:start;margin:6px 0 0;font-size:.82rem;color:#c9d6f2}.lp-tag i{font-style:normal;margin:0 6px;opacity:.7}.lp-intro{grid-area:intro;padding-block:24px}.lp-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:99px;font-size:.82rem;font-weight:600;color:#6fd6ff;background:#1f8bff29;border:1px solid rgba(80,180,255,.35)}.lp h1{margin:18px 0 0;font:800 clamp(2.1rem,3.5vw,3.6rem)/1.1 "Plus Jakarta Sans",var(--body);letter-spacing:-.02em}.lp h1 em{font-style:normal;color:var(--lp-lime)}.lp-lead{margin-top:20px;max-width:46ch;color:#c3d0ea;font-size:1.04rem;line-height:1.6}.lp-features{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:640px}.lp-features li{display:flex;gap:12px;align-items:flex-start}.lp-features strong{display:block;color:#fff;font-weight:700;font-size:.95rem;margin-bottom:3px}.lp-features li>span:last-child{font-size:.82rem;line-height:1.4;color:var(--lp-muted)}.lp-ficon{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--lp-lime);background:radial-gradient(circle at 30% 25%,#4678ff59,#081840e6);border:1px solid var(--lp-line);box-shadow:0 0 18px #50dc7829}.lp-ficon svg{width:22px;height:22px}.lp-hero{grid-area:hero;position:relative;align-self:stretch;display:grid;place-items:center;min-height:420px}.lp-hero:before{content:"";position:absolute;top:8%;right:-10%;bottom:4%;left:-10%;z-index:0;background:radial-gradient(closest-side,rgba(31,120,255,.38),transparent 70%);filter:blur(10px)}.lp-hero img{position:relative;z-index:1;width:128%;max-width:560px;height:auto;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 24%,#000 76%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 24%,#000 76%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 92%,transparent);mask-composite:intersect}.lp-script{position:absolute;z-index:2;right:3%;top:10%;margin:0;transform:rotate(-9deg);font:400 clamp(1.3rem,1.8vw,2rem)/1.05 "Kaushan Script",cursive;color:var(--lp-lime);text-shadow:0 0 18px rgba(166,239,63,.35)}.lp-card{container-type:inline-size;grid-area:card;position:relative;z-index:2;padding:24px 24px 20px;border-radius:22px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(160deg,#0f265cd1,#061336e0);border:1px solid rgba(80,140,255,.42);box-shadow:0 0 0 1px #1e5aff1f,0 30px 80px #000824a6,0 0 70px #1e64ff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lp-card h2{font:700 1.5rem/1.1 "Plus Jakarta Sans",var(--body)}.lp-field{display:grid;gap:6px}.lp-field label,.lp-levels legend{font-weight:700;font-size:.84rem;color:#e8efff}.lp-unit{font-weight:500;color:var(--lp-muted);font-size:.76rem}.lp-field input{width:100%;padding:11px 14px;border-radius:9px;font:inherit;color:#e5eeff;background:var(--lp-field);border:1px solid var(--lp-line);transition:border-color .15s,box-shadow .15s}.lp-field input::placeholder{color:#6b7fa8}.lp-field input:focus{outline:none;border-color:#4a9bff;box-shadow:0 0 0 3px #3c96ff40}.lp-field input:-webkit-autofill{-webkit-text-fill-color:#e5eeff;-webkit-box-shadow:0 0 0 40px var(--lp-field) inset;caret-color:#fff}.lp-field.has-error input{border-color:#ff6b72}.lp-err{color:#ff9ca1;font-size:.8rem;line-height:1.35}.lp-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lp-levels{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lp-levels legend{padding:0;margin-bottom:8px}.lp-level{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:5px;row-gap:2px;align-content:start;padding:10px 8px 11px;border-radius:11px;cursor:pointer;color:#dfe9ff;background:var(--lp-field);border:1px solid var(--lp-line);transition:border-color .15s,background .15s}.lp-level input{position:absolute;opacity:0;pointer-events:none}.lp-level svg{width:16px;height:16px;color:var(--lp-lime);margin-top:1px}.lp-level-name{font-weight:700;font-size:.76rem;align-self:center;min-width:0}.lp-level-text{grid-column:1 / -1;font-size:.7rem;line-height:1.3;color:var(--lp-muted)}.lp-level:hover{border-color:#78aaff99}.lp-level.is-on{background:linear-gradient(135deg,#2aa0ff,#1565ff);border-color:transparent;color:#fff;box-shadow:0 8px 24px #1e6eff73}.lp-level.is-on svg{color:#fff}.lp-level.is-on .lp-level-text{color:#e1edff}.lp-level:has(input:focus-visible){outline:3px solid var(--lp-lime);outline-offset:2px}.lp-cta{margin-top:4px;width:100%;padding:14px 18px;border:0;border-radius:11px;cursor:pointer;font:800 1.02rem/1 "Plus Jakarta Sans",var(--body);color:#0a1a05;background:linear-gradient(90deg,var(--lp-lime),var(--lp-lime-2));box-shadow:0 10px 28px #a6ef3f47;transition:transform .12s,box-shadow .12s,filter .12s}.lp-cta:hover{filter:brightness(1.06);box-shadow:0 12px 34px #a6ef3f66}.lp-cta:active{transform:translateY(1px)}.lp-cta:focus-visible,.lp-link:focus-visible{outline:3px solid #fff;outline-offset:3px}.lp-link{align-self:center;background:none;border:0;padding:4px;cursor:pointer;font:500 .84rem var(--body);color:#86b6ff;text-decoration:underline;text-underline-offset:3px}.lp-link:hover{color:#b7d3ff}.lp-link:disabled{opacity:.6;cursor:wait}@media (max-width: 1180px){.lp-shell{grid-template-columns:minmax(0,1fr) minmax(340px,460px);grid-template-areas:"brand tag" "intro card" "hero card";row-gap:8px}.lp-hero{min-height:300px}.lp-hero img{width:100%;max-width:420px}.lp-script{right:2%}}@media (max-width: 820px){.lp-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "tag" "intro" "card" "hero";min-height:0;row-gap:14px}.lp-tag{justify-self:start;margin:0}.lp-features{grid-template-columns:1fr}.lp-hero{min-height:0}.lp-hero img{width:100%;max-width:340px}}@media (max-width: 480px){.lp-row3,.lp-levels{grid-template-columns:1fr}.lp-card{padding:18px 16px}}@container (max-width: 440px){.lp-level svg{display:none}.lp-level{grid-template-columns:1fr}}:root{--ink: #0e1a2b;--ink-2: #1c2b44;--mist: #e7ecf2;--paper: #ffffff;--line: #d3dbe6;--text: #16233a;--muted: #5b6b83;--cobalt: #2748f0;--cobalt-soft: #e3e9ff;--good: #12a672;--good-soft: #ddf5eb;--bad: #e5484d;--bad-soft: #fde6e7;--warn: #9a6200;--warn-soft: #fff1d6;--num: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--mist);color:var(--text);font:400 16px/1.5 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--num);font-weight:600;letter-spacing:.01em;line-height:1.05}h1{font-size:clamp(2.4rem,5vw,3.6rem)}h2{font-size:1.7rem}h3{font-size:1.35rem}p{margin:0}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.btn{border:1.5px solid var(--line);background:var(--paper);color:var(--text);padding:9px 16px;border-radius:10px;font-weight:600;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.55;cursor:wait}.btn-primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.btn-primary:hover{background:#1b37c4;border-color:#1b37c4}.btn-quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn-quiet[aria-pressed=true]{color:var(--text)}.btn-wide{width:100%;padding:14px;font-size:1.05rem}.link{background:none;border:0;color:var(--cobalt);font-weight:600;padding:10px 0 0;text-align:left;text-decoration:underline;text-underline-offset:3px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--num);font-weight:700;font-size:1.3rem}.brand-mark{width:18px;height:18px;background:var(--cobalt);border-radius:5px 5px 5px 0;display:inline-block}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:12px 24px;background:var(--paper);border-bottom:1px solid var(--line)}.topbar-plain{grid-template-columns:1fr auto}.top-title{font-size:1.25rem;color:var(--muted);font-weight:500}.top-actions{display:flex;gap:6px;align-items:center}.screen{min-height:100%;display:flex;flex-direction:column}.banner-slot{min-height:62px;padding:10px 24px 0}.banner{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:11px 18px;border-radius:12px;border:1.5px solid}.banner strong{font-family:var(--num);font-size:1.35rem;font-weight:600}.banner-info{background:var(--cobalt-soft);border-color:#b9c6ff;color:#1b2f9c}.banner-ok{background:var(--good-soft);border-color:#9fe0c6;color:#0b6b4a}.banner-warn{background:var(--warn-soft);border-color:#f0d08c;color:var(--warn)}.banner-bad{background:var(--bad-soft);border-color:#f4a7aa;color:#a3232a}.workspace{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding:14px 24px 24px;align-items:start}.stage{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--ink);border-radius:16px;overflow:hidden}.stage-media{position:absolute;top:0;right:0;bottom:0;left:0;transition:filter .3s,opacity .3s}.stage-media.dim{filter:brightness(.45) saturate(.6)}.stage-media.mirror{transform:scaleX(-1)}.stage-media video,.stage-media canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.stage-media video{object-fit:cover}.stage-media canvas{object-fit:contain}.subtitle{position:absolute;left:50%;bottom:16px;transform:translate(-50%);max-width:80%;background:#0e1a2bd1;color:#fff;padding:8px 16px;border-radius:10px;font-weight:600;text-align:center}.hud{position:absolute;top:10px;left:10px;background:#000000a6;color:#b8f5d9;padding:6px 10px;border-radius:8px;font:12px/1.4 ui-monospace,Menlo,monospace}.lowfps{position:absolute;top:10px;right:10px;background:var(--warn-soft);color:var(--warn);padding:4px 10px;border-radius:99px;font-size:.8rem;font-weight:700}.stage-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px;background:#0e1a2bc7;color:#fff}.stage-msg h3{font-size:2rem}.stage-msg p{margin-top:8px;color:#c5d0e2;max-width:46ch;margin-inline:auto}.stage-msg.ok h3{color:#6fe3b6}.stage-msg.bad h3{color:#ff9a9e}.stage-actions{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.broken-tag{position:absolute;left:50%;top:16px;transform:translate(-50%);background:var(--bad);color:#fff;padding:10px 20px;border-radius:12px;font-family:var(--num);font-size:1.5rem;font-weight:600;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.7}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;min-height:360px}.setup{display:flex;flex-direction:column;gap:14px}.stance{color:var(--text);font-weight:500}.tips{margin:0;padding-left:20px;color:var(--muted);display:grid;gap:6px}.notice{padding:10px 12px;border-radius:10px;font-size:.92rem}.notice-warn{background:var(--warn-soft);color:var(--warn)}.notice-bad{background:var(--bad-soft);color:#a3232a}.workout,.calib{display:flex;flex-direction:column;gap:16px;align-items:stretch}.set-line{display:flex;justify-content:space-between;align-items:baseline}.hero-ring{display:grid;place-items:center;padding:6px 0}.phase{text-align:center;font-weight:700}.big-num{font-family:var(--num);font-weight:700;font-size:4.6rem;line-height:.9}.ring-sub{color:var(--muted);font-size:.9rem;margin-top:4px}.ring{position:relative;display:inline-grid;place-items:center}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-track{stroke:var(--mist)}.ring-bar{transition:stroke-dashoffset .25s linear}.ring-cobalt{stroke:var(--cobalt)}.ring-good{stroke:var(--good)}.ring-bad{stroke:var(--bad)}.ring-center{position:relative;display:flex;flex-direction:column;align-items:center}.pill{text-align:center;padding:10px;border-radius:12px;font-family:var(--num);font-size:1.4rem;font-weight:600}.pill-ok{background:var(--good-soft);color:#0b6b4a}.pill-bad{background:var(--bad-soft);color:#a3232a}.pill-idle{background:var(--mist);color:var(--muted)}.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:var(--mist);font-weight:600;font-size:.95rem}.chip .dot{width:10px;height:10px;border-radius:50%;background:#9aa8bd}.chip-ok{background:var(--good-soft)}.chip-ok .dot{background:var(--good)}.chip-bad{background:var(--bad-soft)}.chip-bad .dot{background:var(--bad)}.rest{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:10px;text-align:center}.rest h3{font-size:2rem;color:var(--good)}.rest p{color:var(--muted)}.stepper{list-style:none;margin:0;padding:0;display:grid;gap:10px}.stepper li{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600}.step-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--mist);font-size:.85rem}.stepper .is-active{color:var(--text)}.stepper .is-active .step-dot{background:var(--cobalt);color:#fff}.stepper .is-done .step-dot{background:var(--good);color:#fff}.calib-main{display:grid;place-items:center;padding:10px 0;min-height:190px}.rec{width:100%;display:grid;gap:10px;text-align:center}.rec-label{font-family:var(--num);font-size:1.6rem;font-weight:600;display:inline-flex;gap:10px;align-items:center;justify-content:center}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--bad);animation:pulse 1s infinite}.bar{height:12px;border-radius:99px;background:var(--mist);overflow:hidden}.bar-fill{height:100%;background:var(--cobalt);transition:width .25s linear}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.checklist li{display:flex;align-items:center;gap:10px;color:var(--muted)}.tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem;color:#fff}.checklist .is-ok{color:var(--text)}.checklist .is-ok .tick{background:var(--good);border-color:var(--good)}.select{min-height:100%}.select-body{max-width:980px;margin:0 auto;padding:48px 24px;display:grid;gap:14px}.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.ex-card{text-align:left;background:var(--paper);border:1.5px solid var(--line);border-radius:18px;padding:28px;display:grid;gap:14px;transition:border-color .15s,transform .15s;color:inherit}.ex-card:hover{border-color:var(--cobalt)}.ex-card h2{font-size:2.4rem}.ex-card p{color:var(--muted)}.ex-card dl{display:flex;gap:28px;margin:0}.ex-card dt{color:var(--muted);font-size:.85rem}.ex-card dd{margin:0;font-family:var(--num);font-size:1.7rem;font-weight:600}.ex-go{color:var(--cobalt);font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:6px}.stat .big-num{color:var(--cobalt)}.fails{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 24px}.fails ul{margin:10px 0 0;padding-left:20px;display:grid;gap:4px}.result-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}@media (max-width: 1000px){.workspace{grid-template-columns:1fr}.topbar{grid-template-columns:1fr auto}.top-title{display:none}}@media (max-width: 640px){.ex-grid,.stats{grid-template-columns:1fr}.banner-slot,.workspace{padding-inline:12px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.link:disabled{opacity:.6;cursor:wait}
