*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--sp-bg);color:var(--sp-text);font-family:var(--sp-font-sans);margin:0;font-size:1rem;line-height:1.65}a{color:var(--sp-accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px;border-radius:4px}code,pre,kbd{font-family:var(--sp-font-mono);font-size:.9em}:not(pre)>code{background:var(--sp-bg-sunken);border:1px solid var(--sp-border);border-radius:5px;padding:.05em .35em}.lp-skip{background:var(--sp-accent);color:var(--sp-accent-contrast);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.lp-skip:focus{top:.5rem;left:.5rem}.lp-wrap{width:min(100% - 2rem,70rem);margin-inline:auto}.lp-header{z-index:50;background:color-mix(in srgb, var(--sp-bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--sp-border);position:sticky;top:0}.lp-header .lp-wrap{flex-wrap:wrap;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.lp-brand{color:var(--sp-text);align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:inline-flex}.lp-brand svg{width:1.6rem;height:1.6rem}.lp-version{font-family:var(--sp-font-mono);color:var(--sp-text-muted);border:1px solid var(--sp-border);border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:400}.lp-nav{flex-wrap:wrap;align-items:center;gap:1.1rem;margin-inline-start:auto;display:flex}.lp-nav a{color:var(--sp-text);font-size:.95rem;text-decoration:none}.lp-nav a:hover{color:var(--sp-accent)}.lp-theme{text-align:center;border:1px solid var(--sp-border);background:var(--sp-bg-raised);min-width:7rem;color:var(--sp-text);font:inherit;cursor:pointer;border-radius:8px;padding:.3rem .6rem;font-size:.85rem}.lp-section{border-top:1px solid var(--sp-border);padding-block:clamp(2.5rem,6vw,4.5rem)}.lp-section>.lp-wrap>h2{margin:0 0 .5rem;font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.2}.lp-lead{color:var(--sp-text-muted);max-width:52rem;margin:0 0 1.75rem}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1rem;display:grid}.lp-card{background:var(--sp-bg-raised);border:1px solid var(--sp-border);border-radius:12px;padding:1.1rem 1.2rem}.lp-card h3{margin:0 0 .4rem;font-size:1.05rem}.lp-card p{margin:.3rem 0}.lp-hero{padding-block:clamp(3rem,8vw,6rem) clamp(2rem,5vw,3.5rem)}.lp-hero h1{letter-spacing:-.02em;max-width:18ch;margin:0 0 1rem;font-size:clamp(2.1rem,6vw,3.8rem);line-height:1.08}.lp-hero h1 em{color:var(--sp-accent);font-style:normal}.lp-hero p{max-width:44rem;color:var(--sp-text-muted);font-size:1.1rem}.lp-install{border:1px solid var(--sp-border);background:var(--sp-term-bg);border-radius:10px;align-items:stretch;gap:0;max-width:48rem;margin:1.5rem 0 .5rem;display:flex;overflow:hidden}.lp-install code{color:var(--sp-term-text);white-space:nowrap;background:0 0;border:0;border-radius:0;flex:1;padding:.8rem 1rem;font-size:.95rem;overflow-x:auto}.lp-install button{border:0;border-inline-start:1px solid var(--sp-border);background:var(--sp-bg-raised);color:var(--sp-text);font:inherit;cursor:pointer;padding:0 1rem}.lp-note{color:var(--sp-text-muted);margin:.25rem 0 0;font-size:.88rem}.lp-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.lp-btn{border:1px solid var(--sp-accent);border-radius:10px;padding:.65rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.lp-btn-primary{background:var(--sp-accent);color:var(--sp-accent-contrast)}.lp-btn-secondary{color:var(--sp-accent);background:0 0}.lp-chip{font-family:var(--sp-font-mono);border:1px solid;border-radius:6px;padding:.05rem .5rem;font-size:.85em;font-weight:700;display:inline-block}.lp-chip.pass{color:var(--sp-pass);background:var(--sp-pass-bg)}.lp-chip.fail{color:var(--sp-fail);background:var(--sp-fail-bg)}.lp-chip.inc{color:var(--sp-warn);background:var(--sp-warn-bg)}.lp-terminal{background:var(--sp-term-bg);color:var(--sp-term-text);border:1px solid var(--sp-border);border-radius:12px;overflow:hidden}.lp-terminal-bar{border-bottom:1px solid #fff2;flex-wrap:wrap;align-items:center;gap:.6rem;min-height:3.4rem;padding:.5rem .8rem;font-size:.85rem;display:flex}.lp-terminal-bar .lp-step-label{color:#b9cbc0;flex:14rem;min-width:0;margin-inline-end:auto}.lp-terminal-bar button{color:var(--sp-term-text);font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:6px;padding:.2rem .65rem;font-size:.8rem}.lp-terminal-bar button:hover{background:#ffffff26}.lp-terminal-body{padding:1rem;overflow-x:auto}@media (prefers-reduced-motion:no-preference){html.js .lp-terminal-body{height:26rem;overflow-y:auto}}.lp-step+.lp-step{margin-top:1.5rem}.lp-step h3{color:#b9cbc0;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.lp-line{white-space:pre;font-family:var(--sp-font-mono);margin:0;font-size:.85rem;line-height:1.55}.lp-line.cmd .lp-prompt{color:#7fe3b4;user-select:none}.lp-line .pass{color:#46d391}.lp-line .fail{color:#ff8077}.lp-line .inc{color:#f4bd52}.lp-line.dim{color:#9db1a5}.lp-cursor{vertical-align:text-bottom;background:#7fe3b4;width:.55em;height:1.05em;animation:1s steps(2,start) infinite lp-blink;display:inline-block}@keyframes lp-blink{to{visibility:hidden}}.lp-flow svg{width:100%;height:auto;display:block}.lp-flow .node rect{fill:var(--sp-bg-raised);stroke:var(--sp-border);stroke-width:1.5px}.lp-flow .node text{fill:var(--sp-text);font-family:var(--sp-font-sans);font-size:15px}.lp-flow .node .sub{fill:var(--sp-text-muted);font-size:12.5px;font-family:var(--sp-font-mono)}.lp-flow .edge{stroke:var(--sp-text-muted);stroke-width:1.8px;fill:none}.lp-flow .arrow{fill:var(--sp-text-muted)}.lp-flow .node.pass rect{stroke:var(--sp-pass)}.lp-flow .node.fail rect{stroke:var(--sp-fail)}.lp-flow .node.inc rect{stroke:var(--sp-warn)}.lp-flow .node.pass text.v{fill:var(--sp-pass);font-weight:700}.lp-flow .node.fail text.v{fill:var(--sp-fail);font-weight:700}.lp-flow .node.inc text.v{fill:var(--sp-warn);font-weight:700}html.js .lp-flow .step{opacity:.18;transition:opacity .5s;transition-delay:calc(var(--i) * .3s)}html.js .lp-flow.in .step{opacity:1}.lp-steps{color:var(--sp-text-muted);margin:1.25rem 0 0;padding-inline-start:1.25rem}.lp-steps li{margin:.25rem 0}.lp-table-wrap{border:1px solid var(--sp-border);background:var(--sp-bg-raised);border-radius:12px;overflow-x:auto}.lp-table{border-collapse:collapse;width:100%;min-width:36rem}.lp-table caption{text-align:start;color:var(--sp-text-muted);padding:.8rem 1rem 0;font-size:.9rem}.lp-table th,.lp-table td{text-align:start;vertical-align:top;border-bottom:1px solid var(--sp-border);padding:.75rem 1rem}.lp-table tr:last-child td{border-bottom:0}.lp-table tr.no td:first-child{box-shadow:inset 4px 0 0 var(--sp-fail)}.lp-table th{color:var(--sp-text-muted);font-size:.85rem;font-weight:600}.lp-tol{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem;display:grid}.lp-field{gap:.25rem;margin-bottom:1rem;display:grid}.lp-field label{font-weight:600}.lp-field input[type=number]{font:inherit;font-family:var(--sp-font-mono);border:1px solid var(--sp-border);background:var(--sp-bg);color:var(--sp-text);border-radius:8px;width:100%;padding:.45rem .6rem}.lp-field input[type=range]{width:100%;accent-color:var(--sp-accent)}.lp-readout{font-family:var(--sp-font-mono);color:var(--sp-text-muted);font-size:.9rem}.lp-verdict{font-family:var(--sp-font-mono);word-break:break-word;border:1px solid;border-radius:10px;padding:.9rem 1rem;font-size:.9rem}.lp-verdict.pass{color:var(--sp-pass);background:var(--sp-pass-bg)}.lp-verdict.fail{color:var(--sp-fail);background:var(--sp-fail-bg)}.lp-calc{border-collapse:collapse;width:100%;font-family:var(--sp-font-mono);margin-top:.8rem;font-size:.85rem}.lp-calc td{border-bottom:1px dashed var(--sp-border);padding:.25rem 0}.lp-calc td:last-child{text-align:end}details.lp-source{margin-top:1rem}details.lp-source pre{background:var(--sp-term-bg);color:var(--sp-term-text);border-radius:10px;padding:.8rem 1rem;overflow-x:auto}.lp-explorer{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;display:grid}@media (width<=52rem){.lp-explorer{grid-template-columns:1fr}}.lp-tree{background:var(--sp-bg-raised);border:1px solid var(--sp-border);max-height:32rem;font-family:var(--sp-font-mono);border-radius:12px;padding:.75rem;font-size:.85rem;overflow:auto}.lp-tree ul{margin:0;padding-inline-start:1.1rem;list-style:none}.lp-tree>ul{padding-inline-start:0}.lp-tree summary{cursor:pointer;border-radius:5px;padding:.1rem .3rem}.lp-tree button{all:unset;cursor:pointer;border-radius:5px;padding:.1rem .3rem;display:inline}.lp-tree button:hover,.lp-tree summary:hover{background:var(--sp-bg-sunken)}.lp-tree [aria-current=true]{background:var(--sp-pass-bg);outline:1px solid var(--sp-accent)}.lp-tree .k{color:var(--sp-accent)}.lp-tree .v{color:var(--sp-text)}.lp-tree .t{color:var(--sp-text-muted)}.lp-detail{background:var(--sp-bg-raised);border:1px solid var(--sp-border);border-radius:12px;align-self:start;padding:1rem 1.2rem;position:sticky;top:4.5rem}.lp-detail h3{font-family:var(--sp-font-mono);word-break:break-all;margin:0 0 .4rem;font-size:1rem}.lp-stats{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.lp-stat{background:var(--sp-bg-raised);border:1px solid var(--sp-border);border-radius:10px;min-width:7rem;padding:.6rem 1rem}.lp-stat strong{font-size:1.4rem;line-height:1.2;display:block}.lp-stat span{color:var(--sp-text-muted);font-size:.85rem}.lp-people{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.lp-person{background:var(--sp-bg-raised);border:1px solid var(--sp-border);border-radius:10px;align-items:center;gap:.7rem;padding:.55rem .8rem;display:flex}.lp-person img,.lp-person .ph{background:var(--sp-bg-sunken);width:2.6rem;height:2.6rem;color:var(--sp-text-muted);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.lp-person a{color:var(--sp-text);font-weight:600;text-decoration:none}.lp-person small{color:var(--sp-text-muted);display:block}.lp-warning{border:1px solid var(--sp-fail);background:var(--sp-fail-bg);border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.2rem}.lp-warning strong{color:var(--sp-fail)}.lp-list{padding-inline-start:1.2rem}.lp-list li{margin:.45rem 0}.lp-footer{border-top:1px solid var(--sp-border);color:var(--sp-text-muted);padding-block:2rem;font-size:.92rem}.lp-footer .lp-wrap{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;display:flex}.lp-footer ul{flex-wrap:wrap;gap:.5rem 1.2rem;margin:0;padding:0;list-style:none;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
