<div class="scanner-wrap">
<div class="glass-scanner">
<div class="laser-beam"></div>
<div class="document-file">
<div class="doc-header"></div>
<div class="doc-line"></div>
<div class="doc-line"></div>
<div class="doc-line short"></div>
<div class="doc-image-block"></div>
<div class="doc-line"></div>
<div class="doc-line"></div>
</div>
</div>
<p class="scan-text">Analyzing Document...</p>
</div>
*, *::before, *::after {
box-sizing: border-box;
}
body {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
margin: 0;
background: linear-gradient(135deg, #1e293b, #0f172a);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.scanner-wrap {
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
}
.glass-scanner {
position: relative;
width: 260px;
height: 340px;
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.document-file {
width: 180px;
height: 240px;
background: #ffffff;
border-radius: 8px;
padding: 24px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
display: flex;
flex-direction: column;
gap: 12px;
}
.doc-header {
width: 50%;
height: 16px;
background: #cbd5e1;
border-radius: 4px;
margin-bottom: 8px;
}
.doc-line {
width: 100%;
height: 8px;
background: #e2e8f0;
border-radius: 4px;
}
.short {
width: 70%;
}
.doc-image-block {
width: 100%;
height: 60px;
background: #bfdbfe;
border-radius: 6px;
margin: 8px 0;
}
.laser-beam {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 2px;
background: #3b82f6;
box-shadow: 0 0 20px 5px rgba(59, 130, 246, 0.6);
z-index: 10;
animation: scan-doc 3s ease-in-out infinite alternate;
}
@keyframes scan-doc {
0% { transform: translateY(0); }
100% { transform: translateY(340px); }
}
.scan-text {
color: #3b82f6;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
animation: pulse-op 1.5s infinite alternate;
}
@keyframes pulse-op {
to { opacity: 0.4; }
}