.lpf-side{--g:#54B33A;--gd:#3C8C28;--g50:#EDF6E9;--gl:#CDE6C2;--ink:#0E1714;--mut:#56685F;--line:#E3E9E6;--band:#0E1714;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,sans-serif;font-family:var(--sans);color:var(--ink);line-height:1.5;box-sizing:border-box}
.lpf-side *,.lpf-side *::before,.lpf-side *::after{box-sizing:border-box}
.lpf-side button{font-family:var(--sans);cursor:pointer}
.lpf-side .lpf-side-tab{position:fixed;top:50%;z-index:99990;border:0;background:var(--g);color:#fff;padding:18px 11px;margin:0;box-shadow:0 8px 24px rgba(14,40,22,.25);transition:background .2s,transform .25s}
.lpf-side .lpf-side-tab span{display:block;writing-mode:vertical-rl;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.lpf-side .lpf-side-tab:hover{background:var(--gd)}
.lpf-side-right .lpf-side-tab{right:0;transform:translateY(-50%);border-radius:10px 0 0 10px}
.lpf-side-left .lpf-side-tab{left:0;transform:translateY(-50%);border-radius:0 10px 10px 0}
.lpf-side-right .lpf-side-tab span{transform:rotate(180deg)}
.lpf-side-panel{position:fixed;top:0;bottom:0;z-index:99995;width:min(420px,100vw);background:#fff;box-shadow:0 0 50px rgba(0,0,0,.28);display:flex;flex-direction:column;visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
.lpf-side-right .lpf-side-panel{right:0;transform:translateX(105%)}
.lpf-side-left .lpf-side-panel{left:0;transform:translateX(-105%)}
.lpf-side.is-open .lpf-side-panel{transform:none;visibility:visible;transition:transform .28s ease}
.lpf-side.is-open .lpf-side-tab{opacity:0;pointer-events:none}
.lpf-side .lpf-side-head{position:relative;background:var(--band);color:#fff;padding:26px 24px 22px}
.lpf-side .lpf-side-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:#d7ecd0;font-size:1.9rem;line-height:1;padding:4px 8px}
.lpf-side .lpf-side-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#8fdc6f;margin-bottom:12px}
.lpf-side .lpf-side-eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.lpf-side .lpf-side-title{font-size:1.5rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0 0 8px}
.lpf-side .lpf-side-intro{margin:0;font-size:.9rem;color:#c9dcc2}
.lpf-side .lpf-side-body{flex:1;overflow:auto;padding:20px 24px}
.lpf-side .lpf-side-text{width:100%;min-height:84px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:.7rem .8rem;font:inherit;font-size:.95rem;color:var(--ink);background:#fff;margin:0}
.lpf-side .lpf-side-text:focus{outline:2px solid var(--g);outline-offset:1px;border-color:var(--g)}
.lpf-side .lpf-side-go{display:inline-block;margin:12px 0 0;border:0;border-radius:6px;background:var(--g);color:#fff;font-weight:700;font-size:.92rem;padding:.72rem 1.3rem}
.lpf-side .lpf-side-go:hover{background:var(--gd)}
.lpf-side .lpf-side-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lpf-side .lpf-side-chip{font-family:var(--mono);font-size:.72rem;border:1px solid var(--gl);background:var(--g50);color:var(--gd);border-radius:4px;padding:.34rem .55rem;text-align:left}
.lpf-side .lpf-side-chip:hover{background:var(--gl)}
.lpf-side .lpf-side-results{margin-top:18px}
.lpf-side .lpf-side-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:18px 0 8px}
.lpf-side .lpf-side-note{margin:0 0 6px;font-size:.88rem;color:var(--mut)}
.lpf-side .lpf-side-note a{color:var(--gd);text-decoration:underline}
.lpf-side .lpf-side-more{margin-top:14px}
.lpf-side .lpf-side-item{display:flex;gap:12px;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;text-decoration:none;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.lpf-side .lpf-side-item:hover{border-color:var(--g);box-shadow:0 8px 20px rgba(14,40,22,.08)}
.lpf-side .lpf-side-item img,.lpf-side .lpf-side-noimg{width:64px;height:48px;object-fit:contain;flex:none;background:#f4f7f5;border-radius:6px}
.lpf-side .lpf-side-itx{display:flex;flex-direction:column;min-width:0}
.lpf-side .lpf-side-ty{font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gd)}
.lpf-side .lpf-side-ti{font-weight:700;font-size:.93rem;line-height:1.25}
.lpf-side .lpf-side-sp{font-family:var(--mono);font-size:.72rem;color:var(--mut);margin-top:2px}
.lpf-side .lpf-side-foot{border-top:1px solid var(--line);padding:16px 24px;background:#f4f7f5}
.lpf-side .lpf-side-hub{display:block;text-align:center;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.92rem;border-radius:6px;padding:.8rem 1rem}
.lpf-side .lpf-side-hub:hover{background:#1d2b25;color:#fff}
.admin-bar .lpf-side-panel{top:32px}
@media (max-width:782px){.admin-bar .lpf-side-panel{top:46px}}
@media (max-width:600px){.lpf-side .lpf-side-tab{padding:14px 8px}.lpf-side .lpf-side-tab span{font-size:.7rem}}
@media print{.lpf-side{display:none}}
