/*==========================
  GOOGLE FONT
==========================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

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

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{

background:#0f172a;
color:white;
overflow-x:hidden;

}

/*==========================
HEADER
==========================*/

header{

width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 8%;
position:fixed;
top:0;
left:0;
background:rgba(15,23,42,.85);
backdrop-filter:blur(12px);
z-index:1000;

}

.logo{

font-size:30px;
font-weight:700;
color:#38bdf8;

}

nav{

display:flex;
gap:30px;

}

nav a{

color:white;
text-decoration:none;
font-size:17px;
transition:.3s;

}

nav a:hover{

color:#38bdf8;

}

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

.hero{

height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:0 10%;

background:linear-gradient(135deg,#0f172a,#1e293b,#334155);

}

.hero h1{

font-size:60px;

margin-bottom:20px;

}

.hero p{

font-size:20px;

max-width:850px;

margin:auto;

line-height:1.8;

color:#cbd5e1;

}

.btn{

display:inline-block;

margin-top:35px;

padding:15px 35px;

background:#38bdf8;

color:white;

border-radius:50px;

text-decoration:none;

font-size:18px;

transition:.4s;

}

.btn:hover{

background:#0ea5e9;

transform:translateY(-5px);

box-shadow:0 10px 25px rgba(56,189,248,.4);

}

/*==========================
SECTIONS
==========================*/

section{

padding:100px 8%;

}

section h2{

text-align:center;

font-size:42px;

margin-bottom:40px;

color:#38bdf8;

}

/*==========================
ABOUT
==========================*/

.about p{

max-width:1000px;

margin:auto;

font-size:19px;

line-height:2;

text-align:center;

color:#d1d5db;

}

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

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:50px;

}

.card{

background:#1e293b;

padding:30px;

border-radius:20px;

transition:.4s;

box-shadow:0 0 20px rgba(0,0,0,.3);

}

.card:hover{

transform:translateY(-10px);

background:#334155;

}

.card h3{

color:#38bdf8;

margin-bottom:15px;

}

.card p{

line-height:1.8;

color:#d1d5db;

}

/*==========================
IMPORTANCE
==========================*/

.importance ul{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:20px;

list-style:none;

}

.importance li{

background:#1e293b;

padding:18px;

border-radius:12px;

transition:.3s;

}

.importance li:hover{

background:#334155;

}

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

table{

width:100%;

border-collapse:collapse;

margin-top:40px;

}

table th{

background:#38bdf8;

padding:18px;

}

table td{

padding:18px;

text-align:center;

background:#1e293b;

}

table tr:nth-child(even) td{

background:#263548;

}

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

footer{

background:#020617;

padding:30px;

text-align:center;

font-size:16px;

color:#94a3b8;

}

/*==========================
RESPONSIVE
==========================*/

@media(max-width:768px){

header{

flex-direction:column;

}

nav{

flex-wrap:wrap;

justify-content:center;

}

.hero h1{

font-size:38px;

}

.hero p{

font-size:17px;

}

section h2{

font-size:32px;

}

}
/*=========================================
 CIPHER LAB SECTION
=========================================*/

.wheel-section{

display:flex;
justify-content:center;
align-items:center;
margin-top:50px;
margin-bottom:50px;

}

/*=========================================
 MAIN CIPHER WHEEL
=========================================*/

#cipherWheel{

position:relative;

width:420px;

height:420px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

background:rgba(255,255,255,.08);

backdrop-filter:blur(20px);

border:3px solid rgba(255,255,255,.15);

box-shadow:
0 0 25px rgba(0,0,0,.35),
0 0 40px rgba(56,189,248,.25);

overflow:hidden;

transition:.5s;

}

/* Glow Effect */

#cipherWheel:hover{

box-shadow:

0 0 30px #38bdf8,

0 0 60px rgba(56,189,248,.4),

0 0 100px rgba(56,189,248,.25);

}

/*=========================================
 OUTER RING
=========================================*/

.outer-wheel{

position:absolute;

width:390px;

height:390px;

border-radius:50%;

border:5px solid #38bdf8;

display:flex;

justify-content:center;

align-items:center;

font-size:24px;

font-weight:700;

letter-spacing:7px;

color:white;

background:

radial-gradient(circle,#334155,#0f172a);

transition:1s;

}

/*=========================================
 INNER RING
=========================================*/

.inner-wheel{

position:absolute;

width:260px;

height:260px;

border-radius:50%;

border:5px solid #22c55e;

display:flex;

justify-content:center;

align-items:center;

font-size:22px;

font-weight:bold;

letter-spacing:6px;

color:#22c55e;

background:

radial-gradient(circle,#1e293b,#020617);

transition:1s;

}

/*=========================================
 CENTER CIRCLE
=========================================*/

#cipherWheel::after{

content:"🔐";

position:absolute;

width:90px;

height:90px;

background:#38bdf8;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:42px;

color:white;

box-shadow:

0 0 20px rgba(0,0,0,.4);

}

/*=========================================
 INPUT BOXES
=========================================*/

textarea{

width:100%;

padding:20px;

background:#1e293b;

border:none;

outline:none;

color:white;

border-radius:15px;

font-size:18px;

resize:none;

margin-top:15px;

transition:.3s;

}

textarea:focus{

box-shadow:

0 0 15px #38bdf8;

}

/*=========================================
 DROPDOWN
=========================================*/

select{

width:100%;

padding:15px;

border-radius:12px;

background:#1e293b;

color:white;

font-size:18px;

border:2px solid #38bdf8;

outline:none;

}

/*=========================================
 RANGE SLIDER
=========================================*/

input[type=range]{

width:100%;

margin-top:20px;

cursor:pointer;

}

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

button{

padding:15px 28px;

margin:10px;

border:none;

border-radius:40px;

background:#38bdf8;

color:white;

font-size:17px;

cursor:pointer;

transition:.4s;

}

button:hover{

background:#0ea5e9;

transform:translateY(-5px);

box-shadow:

0 10px 20px rgba(56,189,248,.4);

}

/*=========================================
 RESULT BOX
=========================================*/

#cipherText{

background:#0f172a;

border:2px solid #38bdf8;

}

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

@media(max-width:768px){

#cipherWheel{

width:300px;

height:300px;

}

.outer-wheel{

width:280px;

height:280px;

font-size:16px;

letter-spacing:4px;

}

.inner-wheel{

width:180px;

height:180px;

font-size:15px;

letter-spacing:3px;

}

#cipherWheel::after{

width:65px;

height:65px;

font-size:28px;

}

button{

width:100%;

margin-top:15px;

}

}
/*==========================================
 LETTERS AROUND THE WHEEL
==========================================*/

.outer-wheel span{

position:absolute;

font-size:18px;

font-weight:bold;

color:white;

width:30px;

height:30px;

display:flex;

justify-content:center;

align-items:center;

transform-origin:center;

transition:.4s;

}

.inner-wheel span{

position:absolute;

font-size:18px;

font-weight:bold;

color:#22c55e;

width:30px;

height:30px;

display:flex;

justify-content:center;

align-items:center;

transition:.4s;

}

/* Hover Effect */

.outer-wheel span:hover{

color:#38bdf8;

transform:scale(1.4);

}

.inner-wheel span:hover{

color:white;

transform:scale(1.4);

}

/* Center Circle */

.center-lock{

position:absolute;

width:90px;

height:90px;

border-radius:50%;

background:#38bdf8;

display:flex;

justify-content:center;

align-items:center;

font-size:42px;

color:white;

box-shadow:

0 0 30px rgba(56,189,248,.6);

z-index:50;

}
/* ==========================================
            QUIZ PAGE
========================================== */

.quiz-section{
    padding:70px 8%;
    display:flex;
    justify-content:center;
    align-items:center;
}

.quiz-container{

    width:100%;
    max-width:800px;

    background:#102a43;

    border-radius:20px;

    padding:40px;

    box-shadow:0 0 25px rgba(56,189,248,.25);

}

.quiz-container h2{

    text-align:center;

    color:#38bdf8;

    margin-bottom:20px;

}

.quiz-container h3{

    text-align:center;

    line-height:1.6;

    margin-bottom:35px;

    color:white;

}

#answers{

    display:grid;

    gap:18px;

}

.option{

    width:100%;

    padding:18px;

    border:none;

    border-radius:12px;

    background:#1b3b5d;

    color:white;

    font-size:17px;

    cursor:pointer;

    transition:.3s;

}

.option:hover{

    background:#38bdf8;

    transform:translateX(5px);

}

.option.correct{

    background:#16a34a !important;

}

.option.wrong{

    background:#dc2626 !important;

}

.quiz-buttons{

    display:flex;

    justify-content:space-between;

    margin-top:35px;

}

.quiz-buttons button{

    padding:12px 30px;

    border:none;

    border-radius:30px;

    background:#38bdf8;

    color:white;

    font-size:16px;

    cursor:pointer;

    transition:.3s;

}

.quiz-buttons button:hover{

    background:#0ea5e9;

}

.progress{

    width:100%;

    height:12px;

    background:#1e293b;

    border-radius:20px;

    overflow:hidden;

    margin-top:35px;

}

#progressBar{

    width:10%;

    height:100%;

    background:#38bdf8;

    transition:.5s;

}

#score{

    margin-top:35px;

    text-align:center;

    color:#22c55e;

}

#restartBtn{

    display:block;

    margin:30px auto 0;

    padding:14px 35px;

    border:none;

    border-radius:30px;

    background:#22c55e;

    color:white;

    font-size:16px;

    cursor:pointer;

}

#restartBtn:hover{

    background:#16a34a;

}

/* =============================
      RESPONSIVE
============================= */

@media(max-width:768px){

.quiz-container{

padding:25px;

}

.quiz-buttons{

flex-direction:column;

gap:15px;

}

.quiz-buttons button{

width:100%;

}

.option{

font-size:15px;

padding:15px;

}

}