@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:#F7F5F1;
color:#111827;
overflow-x:hidden;
position:relative;
}

/* =========================
BACKGROUND GRID
========================= */

body::before{
content:"";
position:fixed;
inset:0;
background-image:
radial-gradient(
rgba(80,80,80,.15) 1px,
transparent 1px
);
background-size:28px 28px;
pointer-events:none;
z-index:-3;
}

/* =========================
FLOATING BLOBS
========================= */

.blob{
position:fixed;
border-radius:50%;
filter:blur(120px);
opacity:.35;
z-index:-2;
animation:floatBlob 12s ease-in-out infinite;
}

.blob1{
width:500px;
height:500px;
background:#A855F7;
top:-150px;
left:-150px;
}

.blob2{
width:400px;
height:400px;
background:#C084FC;
right:-100px;
top:300px;
animation-delay:2s;
}

.blob3{
width:450px;
height:450px;
background:#DDD6FE;
bottom:-150px;
left:35%;
animation-delay:4s;
}

@keyframes floatBlob{
0%{
transform:translateY(0px);
}
50%{
transform:translateY(-60px);
}
100%{
transform:translateY(0px);
}
}

/* =========================
NAVBAR
========================= */

.navbar{
position:sticky;
top:20px;
width:92%;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:22px 40px;
background:rgba(255,255,255,.7);
backdrop-filter:blur(18px);
border-radius:32px;
z-index:999;
box-shadow:
0 10px 40px rgba(0,0,0,.05);
}

.logo{
font-size:42px;
font-weight:800;
background:linear-gradient(
135deg,
#7C3AED,
#A855F7
);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.nav-links{
display:flex;
gap:40px;
}

.nav-links a{
text-decoration:none;
color:#4B5563;
font-weight:500;
transition:.3s;
}

.nav-links a:hover{
color:#7C3AED;
}

/* =========================
BUTTONS
========================= */

button{
border:none;
cursor:pointer;
padding:16px 28px;
border-radius:18px;
font-weight:600;
transition:.35s;
background:
linear-gradient(
135deg,
#7C3AED,
#A855F7
);
color:white;
}

button:hover{
transform:
translateY(-4px);
box-shadow:
0 15px 40px
rgba(
124,
58,
237,
0.25
);
}

/* =========================
HERO
========================= */

.hero{
padding:140px 30px 100px;
text-align:center;
}

.hero h1{
font-size:96px;
font-weight:900;
line-height:0.95;
max-width:1100px;
margin:auto;
letter-spacing:-4px;
}

.hero p{
margin-top:30px;
font-size:28px;
color:#6B7280;
max-width:900px;
margin-left:auto;
margin-right:auto;
}

.hero-buttons{
margin-top:50px;
display:flex;
justify-content:center;
gap:20px;
}

/* =========================
FEATURES
========================= */

.features{
width:92%;
margin:auto;
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));
gap:25px;
margin-top:40px;
}

.feature-card{
background:rgba(255,255,255,.65);
backdrop-filter:blur(20px);
padding:30px;
border-radius:28px;
transition:.4s;
box-shadow:
0 8px 35px rgba(0,0,0,.04);
}

.feature-card:hover{
transform:
translateY(-10px);
}

.feature-card h3{
font-size:28px;
margin-bottom:12px;
}

.feature-card p{
color:#6B7280;
line-height:1.6;
}

/* =========================
APP GRID
========================= */

.container{
width:92%;
margin:80px auto;
display:grid;
grid-template-columns:
repeat(2,1fr);
gap:28px;
}

/* =========================
CARDS
========================= */

.card{
background:rgba(255,255,255,.65);
backdrop-filter:blur(20px);
padding:35px;
border-radius:32px;
box-shadow:
0 8px 40px rgba(0,0,0,.05);
transition:.35s;
}

.card:hover{
transform:
translateY(-6px);
}

.card h2{
font-size:42px;
margin-bottom:25px;
}

/* =========================
UPLOAD ZONE
========================= */

.drop-zone{
border:2px dashed #D1D5DB;
padding:50px;
border-radius:24px;
text-align:center;
transition:.3s;
}

.drop-zone:hover{
border-color:#7C3AED;
background:
rgba(
124,
58,
237,
0.05
);
}

/* =========================
INPUTS
========================= */

input[type="file"]{
width:100%;
padding:18px;
border-radius:18px;
background:white;
border:1px solid #E5E7EB;
}

/* =========================
IMAGE
========================= */

#preview,
#video{
width:100%;
border-radius:24px;
}

/* =========================
RESULT TABLE
========================= */

table{
width:100%;
border-collapse:collapse;
margin-top:20px;
}

th{
padding:18px;
background:#F3F4F6;
text-align:left;
}

td{
padding:18px;
border-bottom:1px solid #E5E7EB;
}

/* =========================
JSON VIEWER
========================= */

#jsonOutput{
background:#071338;
color:#7DD3FC;
padding:25px;
border-radius:24px;
overflow:auto;
min-height:300px;
font-family:monospace;
}

/* =========================
ANALYTICS
========================= */

.analytics-grid{
display:grid;
grid-template-columns:
repeat(2,1fr);
gap:20px;
}

.metric-card{
background:white;
padding:25px;
border-radius:24px;
text-align:center;
}

.metric-card span{
font-size:42px;
font-weight:800;
display:block;
margin-top:10px;
}

/* =========================
PROGRESS BAR
========================= */

.progress-container{
width:100%;
height:14px;
background:#E5E7EB;
border-radius:20px;
overflow:hidden;
margin-top:20px;
}

.progress-bar{
height:100%;
width:0%;
background:
linear-gradient(
90deg,
#7C3AED,
#A855F7
);
transition:width .4s;
}

/* =========================
CONFIDENCE SCORE
========================= */

.confidence-card{
text-align:center;
}

#confidenceCircle{

width:250px;

height:250px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:
conic-gradient(
#7C3AED 0%,
#A855F7 0%,
#E5E7EB 0%,
#E5E7EB 100%
);

transition:0.3s;
}
#confidenceCircle::before{

content:"";

position:absolute;

width:180px;

height:180px;

background:white;

border-radius:50%;

}
#confidenceCircle{

position:relative;

}
#confidenceValue{

position:relative;

z-index:2;

font-size:64px;

font-weight:800;

}

#confidenceValue{
background:white;
width:170px;
height:170px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

/* =========================
HISTORY
========================= */

.history-card{
padding:20px;
margin-top:15px;
background:white;
border-radius:20px;
}

/* =========================
SCROLL REVEAL
========================= */

.reveal{
opacity:0;
transform:
translateY(50px);
transition:
all .9s ease;
}

.reveal.active{
opacity:1;
transform:
translateY(0);
}

/* =========================
MOBILE
========================= */

@media(max-width:1100px){

.hero h1{
font-size:60px;
}

.container{
grid-template-columns:1fr;
}

.navbar{
flex-direction:column;
gap:20px;
}

.nav-links{
flex-wrap:wrap;
justify-content:center;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}
}