@layer theme,base;@layer components{:root{--lp-graphite:#1b1b1b;--lp-graphite-ink:#ededed;--lp-graphite-muted:#9a9a9a;--lp-screw:#2b2b2b;--lp-screw-edge:#454545;--lp-led:#4fd08a;--lp-dot:#c4c4c4;--lp-wire:#3a3a3a;--lp-pipe-1:var(--color-ink-soft);--lp-pipe-2:oklch(58% .12 338);--lp-pipe-3:var(--color-rule);--lp-pipe-4:oklch(58% .12 338);--lp-pipe-5:var(--color-ink-soft)}.lp-dots{background-color:var(--secondary);background-image:radial-gradient(circle, var(--lp-dot) 1.1px, transparent 1.3px);background-size:20px 20px}[data-node]{z-index:1;position:relative}.lp-wire{fill:none;stroke:var(--lp-wire);stroke-width:1.5px}.lp-arrow{fill:var(--lp-wire)}.lp-packet{fill:var(--success);stroke:var(--background);stroke-width:2.5px}.lp-face{background:var(--lp-graphite);min-height:3.75rem;color:var(--lp-graphite-ink);font-family:var(--font-mono);border-radius:.75rem;align-items:center;gap:.75rem 1.25rem;padding:.75rem 2.25rem;font-size:.8125rem;line-height:1.2;display:flex;position:relative}.lp-face:before,.lp-face:after{content:"";background:var(--lp-screw);border:1px solid var(--lp-screw-edge);border-radius:9999px;width:.5rem;height:.5rem;margin-top:-.25rem;position:absolute;top:50%}.lp-face:before{left:.875rem}.lp-face:after{right:.875rem}.lp-face b{font-size:.9375rem}.lp-face b,.lp-face .lp-muted{white-space:nowrap}@media (width<40rem){.lp-face .lp-act{display:none}}.lp-face .lp-muted{color:var(--lp-graphite-muted)}.lp-leds,.lp-act{gap:.3125rem;display:flex}.lp-leds i{background:var(--lp-led);border-radius:9999px;width:.5rem;height:.5rem}.lp-leds i:nth-child(2){animation:.7s steps(2,jump-none) infinite lp-blink}.lp-leds i:nth-child(3){animation:1.9s steps(2,jump-none) infinite lp-blink}.lp-act i{background:var(--lp-led);opacity:.15;border-radius:2px;width:.3125rem;height:.75rem;animation:1.3s step-end infinite lp-flicker}.lp-act i:nth-child(3n){animation-duration:.9s}.lp-act i:nth-child(3n+1){animation-duration:1.7s}.lp-leg{background:var(--lp-graphite);width:.5rem;height:1.25rem}.lp-ticker{border:1px solid var(--border);background:var(--background);font-family:var(--font-mono);white-space:nowrap;border-radius:9999px;align-items:center;gap:.625rem;padding:.3125rem .3125rem .3125rem .75rem;font-size:.75rem;display:flex;overflow:hidden}.lp-ticker-window{flex:1;width:0;min-width:5rem;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 1rem calc(100% - 1rem),#0000)}.lp-ticker-row{gap:.375rem;width:max-content;animation:9s linear infinite lp-marquee;display:flex}.lp-ticker-row i{background:var(--success-soft);color:var(--success);border-radius:9999px;padding:.125rem .5rem;font-style:normal;font-weight:600}.lp-pin{height:calc(150svh - 3.5rem)}.lp-pin-frame{height:calc(100svh - 3.5rem);position:sticky;top:3.5rem}.lp-lb-line{fill:none;stroke:var(--foreground);stroke-width:1.5px}.lp-lb-dns{fill:none;stroke:var(--muted-foreground);stroke-width:1.25px;stroke-dasharray:3 5}.lp-lb-pipe{fill:none;stroke-linecap:round;stroke-dasharray:1}.lp-lb-sheen{fill:none;stroke:var(--background);stroke-linecap:round;stroke-dasharray:.05 .95;animation:3s linear infinite lp-sheen}.lp-lb-note{font:400 11px var(--font-mono);fill:var(--muted-foreground)}.lp-lb-visitors rect{fill:var(--background);stroke:var(--border)}.lp-lb-visitors circle{fill:var(--color-rule)}.lp-lb-visitors text{font:500 12px var(--font-mono);fill:var(--foreground)}.lp-lb-face{fill:var(--lp-graphite)}.lp-lb-screw{fill:var(--lp-screw);stroke:var(--lp-screw-edge)}.lp-lb-name{font:600 15px var(--font-sans);fill:var(--lp-graphite-ink)}.lp-lb-spec{font:400 12px var(--font-mono);fill:var(--lp-graphite-muted)}.lp-lb-led{fill:var(--lp-led)}.lp-lb-led-1{animation:.7s steps(2,jump-none) infinite lp-blink}.lp-lb-led-2{animation:1.9s steps(2,jump-none) infinite lp-blink}.lp-lb-act{fill:var(--lp-led);opacity:.15;animation:1.3s step-end infinite lp-flicker}.lp-lb-chip{fill:var(--background)}.lp-lb-logo{color:var(--foreground)}.lp-lb-piece{fill:var(--foreground);stroke:var(--color-paper);stroke-width:2px}.lp-lb-badge circle{fill:var(--lp-led)}.lp-lb-badge text{font:500 10.5px var(--font-mono);fill:var(--background)}.lp-lb-bar-title{font:600 15px var(--font-sans);fill:var(--background)}.lp-lb-sticker rect{fill:var(--warning-soft);stroke:var(--warning-border)}.lp-lb-sticker text{font:600 11px var(--font-mono);fill:var(--foreground)}.lp-term{border:1px solid var(--border);background:var(--background);color:var(--foreground);font-family:var(--font-mono);font-variant-ligatures:none;border-radius:.875rem;font-size:.8125rem;line-height:1.7;overflow:hidden}.lp-term-bar{border-bottom:1px solid var(--border);background:var(--secondary);color:var(--muted-foreground);align-items:center;gap:.375rem;padding:.625rem .875rem;font-size:.75rem;display:flex}.lp-term-bar i{background:var(--border);border-radius:9999px;width:.625rem;height:.625rem}.lp-term-bar span{margin-left:.5rem}.lp-term-body{white-space:pre-wrap;overflow-wrap:anywhere;padding:.875rem 1rem 1rem}.lp-prompt,.lp-dim{color:var(--muted-foreground)}.lp-ok{color:var(--success)}.lp-caret{vertical-align:-.15em;background:currentColor;width:.5rem;height:1em;animation:1.1s steps(2,jump-none) infinite lp-blink;display:inline-block}[data-inview=false] .lp-line{visibility:hidden}[data-inview=true] .lp-line{animation:10ms both lp-appear}[data-inview=false] .lp-late{opacity:0;translate:0 .5rem}[data-inview=true] .lp-late{transition:opacity .6s,translate .6s}.lp-browser{border:1px solid var(--border);background:var(--background);border-radius:.875rem;overflow:hidden}.lp-browser-bar{border-bottom:1px solid var(--border);background:var(--muted);align-items:center;gap:.375rem;padding:.5rem .75rem;display:flex}.lp-browser-bar>i{background:var(--border);border-radius:9999px;width:.625rem;height:.625rem}.lp-browser-url{background:var(--background);min-width:0;font-family:var(--font-mono);border-radius:.5rem;flex:1;align-items:center;gap:.375rem;margin-left:.5rem;padding:.25rem .625rem;font-size:.75rem;display:flex}.lp-bill{border-top:1px dashed var(--border);font-family:var(--font-mono);color:var(--muted-foreground);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.25rem;padding:.875rem .375rem .25rem;font-size:.75rem;display:flex}.lp-bill b{font-family:var(--font-sans);letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600;line-height:1;position:relative}.lp-bill small{font-family:var(--font-mono);letter-spacing:0;color:var(--muted-foreground);font-size:.75rem;font-weight:400}.lp-bill b:after{content:"";background:var(--foreground);transform-origin:0;height:2px;transition:scale .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:50% -.25rem auto;scale:0 1}.lp-bill b.lp-struck{opacity:.5;transition:opacity .5s}.lp-bill b.lp-struck:after{scale:1}.lp-track{background:repeating-linear-gradient(to bottom, var(--lp-graphite-muted) 0 4px, transparent 4px 8px);width:2px;height:3rem;position:relative}.lp-track i{background:var(--foreground);width:.625rem;height:.625rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--foreground) 12%, transparent);opacity:0;border-radius:9999px;margin:-.3125rem 0 0 -.3125rem;position:absolute;top:0;left:50%}[data-flow=true] .lp-track i{animation:.7s cubic-bezier(.5,0,.5,1) infinite lp-run-down}@media (width>=64rem){.lp-track{background:repeating-linear-gradient(to right, var(--lp-graphite-muted) 0 4px, transparent 4px 8px);width:100%;height:2px}.lp-track i{top:50%;left:0}[data-flow=true] .lp-track i{animation-name:lp-run-across}}.lp-press{animation:.45s cubic-bezier(.16,1,.3,1) .8s lp-press}.lp-ripple [data-slot=card]{animation:lp-ring .8s calc(var(--lp-i,0) * .15s) ease-out both}@keyframes lp-blink{50%{opacity:.25}}@keyframes lp-flicker{0%,60%{opacity:1}61%,to{opacity:.15}}@keyframes lp-marquee{to{transform:translate(-50%)}}@keyframes lp-sheen{to{stroke-dashoffset:-1px}}@keyframes lp-run-down{15%,85%{opacity:1}to{opacity:0;top:100%}}@keyframes lp-run-across{15%,85%{opacity:1}to{opacity:0;left:100%}}@keyframes lp-press{40%{scale:.88}}@keyframes lp-ring{0%{box-shadow:0 0 0 1px var(--success-border), 0 0 0 0 color-mix(in srgb, var(--success) 50%, transparent)}to{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 10%, transparent), 0 0 0 12px color-mix(in srgb, var(--success) 0%, transparent)}}@keyframes lp-appear{0%{visibility:hidden}to{visibility:visible}}@media (prefers-reduced-motion:reduce){.lp-packet{display:none}.lp-act i,.lp-lb-act{opacity:.8}}}@layer utilities;
