/* ===============================
GLOBAL RESET
=============================== */

body{
margin:0;
font-family:'Nunito',sans-serif;
background:#f3f6fb;
}


/* ===============================
NAVBAR
=============================== */

.topnav{
position:sticky;
top:0;
z-index:999;
background: linear-gradient(135deg, #195e0e, #228b27);
padding:18px 25px;
color:white;
}

.nav-container{
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}

.logo{
font-size:22px;
font-weight:900;
letter-spacing:-0.03em;
}

.logo span{
color:#04e82f;
}

.nav-links{
display:flex;
align-items:center;
}

.nav-links a{
color:white;
margin-left:25px;
text-decoration:none;
font-weight:500;
}

.nav-links a:hover{
color:#04e82f;
}


/* ===============================
MOBILE NAVIGATION
=============================== */

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
}

@media(max-width:768px){

.menu-toggle{
display:block;
}

.nav-links{
display:none;
width:100%;
flex-direction:column;
margin-top:10px;
}

.nav-links.active{
display:flex;
}

.nav-links a{
margin:10px 0;
}

}


/* ===============================
CONTAINER
=============================== */

.container{
max-width:1100px;
margin:auto;
padding:30px 18px;
}


/* ===============================
SUMMARY CARDS
=============================== */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:20px;
margin-bottom:30px;
}

.card{
background:white;
padding:24px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.card h3{
margin:0;
font-size:16px;
color:#666;
}

.card .value{
font-size:clamp(24px,4vw,34px);
font-weight:700;
color:#2563eb;
margin-top:10px;
}


/* ===============================
PANELS (SHORTENER BOXES)
=============================== */

.panel{
background:white;
width:420px;
padding:28px;
border-radius:16px;
box-shadow:0 20px 60px rgba(0,0,0,.12);
transition:.2s ease;
}

.panel:hover{
transform:translateY(-3px);
}

.panel input,
.panel select{
width:100%;
padding:14px;
margin-bottom:10px;
border-radius:10px;
border:1px solid #ddd;
}

.panel button{
width:100%;
padding:14px;
border:none;
background:#2563eb;
color:white;
border-radius:10px;
cursor:pointer;
}

.panel button:hover{
background:#1e40af;
}


/* ===============================
RESULT BOXES
=============================== */

.result{
margin-top:20px;
background:#eef2ff;
padding:15px;
border-radius:10px;
word-break:break-word;
}

.copy{
background:#22c55e;
margin-top:10px;
}


/* ===============================
CLICK RESULT PANEL
=============================== */

.click-result{
margin-top:20px;
background:#e0ecff;
padding:25px;
border-radius:12px;
text-align:center;
}

.click-number{
font-size:42px;
font-weight:600;
color:#2563eb;
}


/* ===============================
TABLE
=============================== */

.table-wrap{
overflow-x:auto;
}

table{
width:100%;
border-collapse:collapse;
background:white;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

th,
td{
padding:12px;
border-bottom:1px solid #eee;
text-align:left;
}

th{
background:#eef2ff;
}


/* ===============================
BUTTONS
=============================== */

.btn{
padding:6px 12px;
border:none;
border-radius:6px;
cursor:pointer;
font-weight:600;
}

.stats{
background:#2563eb;
color:white;
}

.delete{
background:#dc2626;
color:white;
}


/* ===============================
HERO SECTION
=============================== */

.hero{
text-align:center;
height:280px;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
}

.hero h1{
font-size:clamp(32px,5vw,54px);
font-weight:800;
letter-spacing:-0.04em;
line-height:1.08;
margin-bottom:14px;
}

.hero h1 span{
color:darkgreen;
}


/* ===============================
FOOTER
=============================== */

.footer{
background: linear-gradient(135deg, #195e0e, #228b27);
color:white;
padding:28px 24px;
text-align:center;
margin-top:80px;
}

.footer-logo{
font-size:20px;
font-weight:900;
letter-spacing:-0.03em;
margin-bottom:8px;
}

.footer-logo span{
color:#04e82f;
}

.footer-links{
display:flex;
justify-content:center;
gap:8px;
flex-wrap:wrap;
margin-bottom:12px;
}

.footer-links a{
color:rgba(255,255,255,0.5);
font-size:12.5px;
font-weight:700;
text-decoration:none;
}

.footer-links a:hover{
color:#c01a15;
}

.footer-copy{
color:rgba(255,255,255,0.25);
font-size:11.5px;
}


/* ===============================
LOGIN / REGISTER CARD
=============================== */

.auth-card{
background:white;
padding:40px;
border-radius:14px;
width:320px;
box-shadow:0 15px 40px rgba(0,0,0,.2);
margin:auto;
margin-top:80px;
}

.auth-card h2{
text-align:center;
margin-bottom:20px;
}

.auth-card input{
width:100%;
padding:12px;
margin-bottom:12px;
border-radius:8px;
border:1px solid #ddd;
}

.auth-card button{
width:100%;
padding:12px;
background:#2563eb;
border:none;
color:white;
border-radius:8px;
font-weight:600;
cursor:pointer;
}

.auth-card button:hover{
background:#1e40af;
}


/* ===============================
UTILITY
=============================== */

.tool-grid{
display:flex;
gap:30px;
justify-content:center;
flex-wrap:wrap;
margin-top:-60px;
}

.stats-strip{
display:flex;
justify-content:center;
gap:80px;
background:white;
padding:30px;
margin-top:60px;
font-size:18px;
text-align:center;
}
/* ===============================
AUTH PAGE (LOGIN / REGISTER)
=============================== */
.hero-cta{
display:inline-block;
margin-top:25px;
background:#16a34a;
color:white;
padding:14px 30px;
border-radius:12px;
font-weight:600;
text-decoration:none;
box-shadow:0 8px 25px rgba(0,0,0,.15);
}

.auth-page{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#2563eb,#06b6d4);
}

.auth-card{
background:white;
padding:40px;
border-radius:14px;
width:340px;
box-shadow:0 15px 40px rgba(0,0,0,.2);
}

.auth-card h2{
text-align:center;
margin-bottom:20px;
}

.auth-card input{
width:100%;
padding:12px;
margin-bottom:12px;
border-radius:8px;
border:1px solid #ddd;
font-size:15px;
}

.auth-card button{
width:100%;
padding:12px;
background:#2563eb;
border:none;
color:white;
border-radius:8px;
font-weight:600;
cursor:pointer;
}

.auth-card button:hover{
background:#1e40af;
}

.auth-error{
background:#dc2626;
color:white;
padding:10px;
border-radius:8px;
margin-bottom:10px;
text-align:center;
}

.auth-link{
text-align:center;
margin-top:12px;
}

.auth-link a{
color:#2563eb;
text-decoration:none;
font-weight:600;
}

.auth-link a:hover{
text-decoration:underline;
}

/* ALERT MESSAGES */

.alert{
padding:12px 16px;
border-radius:8px;
margin-bottom:15px;
font-weight:600;
}

.alert-error{
background:#dc2626;
color:white;
}

.alert-success{
background:#16a34a;
color:white;
}

.alert-info{
background:#2563eb;
color:white;
}

.alert-warning{
background:#f59e0b;
color:white;
}

/* HERO SECTION */


.hero-inner{
max-width: 900px;
}

/* TITLE */

.hero h1{
font-size: clamp(32px,5vw,56px);
font-weight: 800;
line-height: 1.1;
margin-bottom: 20px;
letter-spacing: -0.5px;
}

.hero span{
background: linear-gradient(90deg,#16a34a,#22c55e);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero-subtext{
max-width:700px;
margin:22px auto 45px auto;
font-size:18px;
line-height:1.75;
color:#6b7280;
text-align:center;
letter-spacing:.2px;
}

/* PARAGRAPH */


.hero p{
max-width:720px;
margin:auto;
font-size:18px;
line-height:1.7;
opacity:.85;
}

.tool-grid{
margin-top:40px;
}

/* BUTTONS */

.hero-buttons{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

.btn-primary{
background:white;
color:#2563eb;
padding:14px 26px;
border-radius:12px;
font-weight:600;
text-decoration:none;
transition:.25s;
}

.btn-primary:hover{
background:#f1f5f9;
transform:translateY(-2px);
}

.btn-outline{
border:2px solid white;
color:white;
padding:14px 26px;
border-radius:12px;
font-weight:600;
text-decoration:none;
transition:.25s;
}

.btn-outline:hover{
background:white;
color:#2563eb;
}

.captcha-box{

margin-top:10px;
text-align:left;

}

.captcha-box label{

display:block;
margin-bottom:6px;
font-weight:600;

}

.captcha-box input{

width:100%;
padding:12px;
border-radius:8px;
border:1px solid #ddd;

}

/* MOBILE OPTIMIZATION */

@media(max-width:768px){

.hero{
padding:60px 18px;
}

.hero h1{
font-size: clamp(34px,5vw,60px);
font-weight:800;
letter-spacing:-0.5px;
margin-bottom:18px;
}  
  
.hero p{
font-size:16px;
}
.hero-subtext{
font-size:16px;
line-height:1.6;
padding:0 12px;
}
  
.hero-buttons{
flex-direction:column;
}

.btn-primary,
.btn-outline{
width:100%;
max-width:260px;
margin:auto;
}

}