@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&display=swap");.scanner-container{position:relative;height:100%;min-height:400px;justify-content:center;overflow:hidden;background:#000000}.card-stream,.scanner-container{width:100%;display:flex;align-items:center}.card-stream{position:absolute;height:180px;overflow:visible}.card-line{display:flex;align-items:center;gap:60px;white-space:nowrap;pointer-events:auto;will-change:transform;user-select:none;cursor:grab}.card-line:active{cursor:grabbing}.card-wrapper{position:relative;flex-shrink:0}.card,.card-wrapper{width:400px;height:250px}.card{position:absolute;top:0;left:0;border-radius:15px;overflow:hidden}.card-normal{background:transparent;box-shadow:0 15px 40px rgba(0,0,0,.4);display:flex;flex-direction:column;justify-content:space-between;padding:0;color:white;z-index:2;position:relative;overflow:hidden;clip-path:inset(0 0 0 var(--clip-right,0))}.card-image{width:100%;height:100%;object-fit:cover;border-radius:15px;transition:all .3s ease;box-shadow:inset 0 0 20px rgba(0,0,0,.1)}.card-image,.card-image:hover{filter:brightness(1) contrast(1)}.card-ascii{background:transparent;z-index:1;width:400px;height:250px;border-radius:15px;clip-path:inset(0 calc(100% - var(--clip-left, 0%)) 0 0)}.ascii-content,.card-ascii{position:absolute;top:0;left:0;overflow:hidden}.ascii-content{width:100%;height:100%;color:rgba(147,197,253,.6);font-family:Courier New,monospace;font-size:11px;line-height:13px;white-space:pre;animation:glitch .1s linear infinite alternate-reverse;margin:0;padding:0;text-align:left;vertical-align:top;box-sizing:border-box;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,1) 0,rgba(0,0,0,.8) 30%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.2));mask-image:linear-gradient(90deg,rgba(0,0,0,1) 0,rgba(0,0,0,.8) 30%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.4) 80%,rgba(0,0,0,.2))}@keyframes glitch{0%{opacity:1}15%{opacity:.9}16%{opacity:1}49%{opacity:.8}50%{opacity:1}99%{opacity:.9}to{opacity:1}}.scan-effect{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent);animation:scanEffect .6s ease-out;pointer-events:none;z-index:5}@keyframes scanEffect{0%{transform:translateX(-100%);opacity:0}50%{opacity:1}to{transform:translateX(100%);opacity:0}}.particle-canvas{left:0;height:250px;z-index:0}.particle-canvas,.scanner-canvas{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none}.scanner-canvas{left:-3px;height:300px;z-index:15}.scanner{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4px;height:300px;border-radius:30px;background:linear-gradient(180deg,transparent,rgba(59,130,246,.8),rgba(59,130,246,1),rgba(59,130,246,.8),transparent);box-shadow:0 0 20px rgba(59,130,246,.8),0 0 40px rgba(59,130,246,.4);animation:scanPulse 2s ease-in-out infinite alternate;z-index:10}@keyframes scanPulse{0%{box-shadow:0 0 20px rgba(59,130,246,.8),0 0 40px rgba(59,130,246,.4)}to{box-shadow:0 0 30px rgba(59,130,246,1),0 0 60px rgba(59,130,246,.6),0 0 100px rgba(59,130,246,.3)}}@media (max-width:1280px){.card,.card-ascii,.card-normal,.card-wrapper{width:320px;height:200px}.card-line{gap:40px}}@media (max-width:768px){.scanner-container{min-height:300px}.card,.card-ascii,.card-normal,.card-wrapper{width:260px;height:163px}.card-line{gap:30px}.card-stream{height:140px}.ascii-content{font-size:9px;line-height:11px}}.demo-pointer{position:absolute;width:40px;height:auto;pointer-events:none;z-index:40;transition:opacity .5s ease,transform .2s ease;opacity:0}.scanner-container.is-dragging .demo-pointer,.scanner-container:hover .demo-pointer{opacity:0!important;pointer-events:none}.demo-pointer svg{width:100%;height:auto;display:block}.demo-pointer.active{opacity:1}.demo-pointer.clicking{transform:translate(-50%,-50%) scale(.9)}.demo-pointer:not(.clicking){transform:translate(-50%,-50%) scale(1)}@keyframes demo-digital-flicker{0%,to{fill:#333;opacity:.3}20%{fill:white;opacity:1}40%{fill:#333;opacity:.3}60%{fill:#c6ff1d;opacity:1}80%{fill:#333;opacity:.3}}.demo-rect-light{animation:demo-digital-flicker 1.2s steps(5) infinite}.demo-pointer.clicking .demo-rect-light{animation:demo-digital-flicker .4s steps(5) infinite}@keyframes demo-scan-fast{0%{transform:translateY(-5px);opacity:0}50%{opacity:.8}to{transform:translateY(15px);opacity:0}}.demo-scan-line{animation:demo-scan-fast .8s linear infinite}.demo-rect-base{transition:fill .3s ease}.demo-pointer.clicking .demo-rect-base{fill:#000}.demo-pointer.reversed svg{transform:scaleX(-1)}.grid-hover-container{--rows:10;--cols:20;display:grid;grid-template-rows:repeat(var(--rows),1fr);grid-template-columns:repeat(var(--cols),1fr);width:100%;height:100%;cursor:crosshair;touch-action:none}.grid-cell{padding:2px;opacity:calc(var(--opacity) * .5);aspect-ratio:1;display:grid;place-items:center;transition-property:opacity,rotate,filter;transition-duration:.8s,.4s,.6s;transition-timing-function:ease-in,ease-out,ease-out;scale:1.5;filter:grayscale(1);color:hsl(var(--hue) 80% 50%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:600;line-height:1}.dark .grid-cell{opacity:calc(var(--opacity) + .2)}@media (hover:hover) and (pointer:fine){.grid-cell:hover{transition-property:opacity,rotate,filter;transition-duration:0s;rotate:calc(var(--grade, 0) * 90deg);filter:grayscale(0) brightness(1.5);opacity:1}}.grid-cell[data-hover=true]{transition-property:opacity,rotate,filter;transition-duration:0s;rotate:calc(var(--grade, 0) * 90deg);filter:grayscale(0) brightness(1.5);opacity:1}