.lp{--laser:#ff2d3d;--laser-soft:#ff2d3d2e;--paper:#f7f5ef;--ink:#222;--ink-soft:#5c5a55;overflow-x:clip}.lp-header{z-index:50;background:color-mix(in srgb,var(--app-bg)86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--app-border);position:sticky;top:0}.lp-header:after{content:"";background:linear-gradient(90deg,transparent,var(--laser)20%,var(--laser)80%,transparent);opacity:.55;height:1px;position:absolute;bottom:-1px;left:0;right:0}.lp-progress{z-index:60;background:var(--laser);height:2px;box-shadow:0 0 10px var(--laser);transform-origin:0;pointer-events:none;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.lp-progress{animation:linear both lp-fill;animation-timeline:scroll(root)}}}@keyframes lp-fill{to{transform:scaleX(1)}}.lp-scan-btn{position:relative;overflow:hidden}.lp-scan-btn:after{content:"";background:var(--laser);width:2px;box-shadow:0 0 10px 2px var(--laser);opacity:0;position:absolute;top:0;bottom:0;left:-30%}@media (prefers-reduced-motion:no-preference){.lp-scan-btn:hover:after{animation:.6s ease-out lp-sweep}}@keyframes lp-sweep{0%{opacity:1;left:-2%}to{opacity:.6;left:102%}}.lp-window{background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:16px;position:relative;box-shadow:0 30px 80px #00000073}.lp-scanzone{background:var(--paper);border-radius:10px;padding:18px 22px 12px;position:relative;overflow:hidden}.lp-scanline{background:var(--laser);width:2px;box-shadow:0 0 12px 3px var(--laser-soft),0 0 4px var(--laser);position:absolute;top:8px;bottom:8px;left:50%}@media (prefers-reduced-motion:no-preference){.lp-scanline{animation:2.4s ease-in-out infinite alternate lp-scan}}@keyframes lp-scan{0%{left:6%}to{left:94%}}.lp-barcode-divider{width:100%;height:28px;color:var(--app-border-strong);display:block}.lp-perf{opacity:.35;border:0;border-top:2px dotted;margin:0}.lp-chip{letter-spacing:.14em;text-transform:uppercase;color:#fff;border:1px solid color-mix(in srgb,var(--laser)45%,transparent);background:var(--laser-soft);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.lp-chip:before{content:"";background:var(--laser);width:6px;height:6px;box-shadow:0 0 6px var(--laser);border-radius:50%}.lp-receipt{background:var(--paper);color:var(--ink);font-family:var(--font-mono);--zig:14px;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%;position:relative;-webkit-mask-composite:source-in;mask-composite:intersect}.lp-receipt .lp-row{justify-content:space-between;gap:1rem;padding:.28rem 0;display:flex}.lp-receipt .lp-dots{border-bottom:2px dotted #00000040;flex:1;transform:translateY(-.35em)}.lp-torn{--zig:16px;-webkit-mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%;mask:conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg)50%/var(--zig)100%}.lp-faq summary{cursor:pointer;list-style:none}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";float:right;color:var(--laser);font-weight:700}.lp-faq[open] summary:after{content:"–"}.lp-todo{font-family:var(--font-mono);color:#111;background:#ffd84d;border:2px dashed #b38b00;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;display:inline-block}
