/* ===========================
   GOOGLE FONT & RESET
=========================== */

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

body{
    background:#f8fafc;
    color:#1e293b;
}

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

header{
    width:100%;
    background:#ffffff;
    box-shadow:0 2px 15px rgba(0,0,0,0.08);
    position:sticky;
    top:0;
    z-index:1000;
}

.navbar{
    width:90%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo h2{
    color:#2563eb;
    font-size:28px;
}

.learnova{
    display:block;
    color:#38bdf8;
    font-size:14px;
    font-weight:600;
    letter-spacing:2px;
}

.nav-links{
    list-style:none;
    display:flex;
    gap:35px;
}

.nav-links a{
    text-decoration:none;
    color:#1e293b;
    font-weight:500;
    transition:.3s;
}

.nav-links a:hover{
    color:#2563eb;
}

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

.hero{
    width:90%;
    margin:70px auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.hero-text{
    flex:1;
}

.hero-text h1{
    font-size:52px;
    line-height:65px;
    color:#0f172a;
}

.hero-text p{
    margin:25px 0;
    color:#475569;
    font-size:18px;
    line-height:30px;
}

.btn{
    display:inline-block;
    background:#2563eb;
    color:white;
    text-decoration:none;
    padding:16px 35px;
    border-radius:50px;
    font-size:18px;
    font-weight:600;
    transition:.3s;
}

.btn:hover{
    background:#1d4ed8;
    transform:translateY(-3px);
    box-shadow:0 12px 20px rgba(37,99,235,.3);
}

.hero-image{
    flex:1;
    text-align:center;
}

.hero-image img{
    width:100%;
    max-width:520px;
}

/* ===========================
   FEATURES
=========================== */

.features{
    width:90%;
    margin:90px auto;
    text-align:center;
}

.features h2{
    font-size:40px;
    margin-bottom:50px;
    color:#0f172a;
}

.feature-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.card{
    background:white;
    padding:35px;
    border-radius:20px;
    transition:.35s;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.card:hover{
    transform:translateY(-10px);
    box-shadow:0 18px 35px rgba(37,99,235,.18);
}

.card h3{
    margin-bottom:15px;
    color:#2563eb;
}

.card p{
    color:#64748b;
    line-height:28px;
}

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

.about{
    width:90%;
    margin:100px auto;
    text-align:center;
}

.about h2{
    font-size:40px;
    margin-bottom:25px;
}

.about p{
    max-width:850px;
    margin:auto;
    line-height:34px;
    font-size:18px;
    color:#475569;
}
/* ===========================
   FOOTER
=========================== */

footer{
    background:#0f172a;
    color:white;
    text-align:center;
    padding:50px 20px;
    margin-top:80px;
}

footer h3{
    font-size:22px;
    font-weight:500;
    color:#cbd5e1;
}

footer h2{
    font-size:34px;
    margin:12px 0;
    color:#ffffff;
}

footer .powered{
    color:#38bdf8;
    font-size:18px;
    font-weight:600;
    margin-bottom:12px;
}

footer p{
    color:#94a3b8;
    font-size:16px;
    margin-top:8px;
}

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

@media(max-width:900px){

.hero{
    flex-direction:column-reverse;
    text-align:center;
}

.hero-text h1{
    font-size:38px;
    line-height:50px;
}

.navbar{
    flex-direction:column;
    gap:20px;
}

.nav-links{
    gap:18px;
}

.features h2,
.about h2{
    font-size:32px;
}

}
/* =====================================================
                TEST PAGE CSS - PART 1
        Learnova | TypeMaster Pro
===================================================== */

.settings-page{
    width:90%;
    max-width:900px;
    margin:60px auto;
    text-align:center;
}

.settings-page h1{
    font-size:42px;
    color:#0f172a;
    margin-bottom:10px;
}

.settings-page p{
    color:#64748b;
    font-size:18px;
    margin-bottom:35px;
}

.settings-card{

    background:#ffffff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.setting-group{

    margin-bottom:35px;

    text-align:left;

}

.setting-group h3{

    color:#2563eb;

    margin-bottom:15px;

    font-size:22px;

}

.setting-group label{

    display:block;

    padding:12px 0;

    font-size:18px;

    cursor:pointer;

    transition:.3s;

}

.setting-group label:hover{

    color:#2563eb;

    padding-left:10px;

}

.setting-group input[type="radio"]{

    margin-right:10px;

    transform:scale(1.2);

}

.setting-group select{

    width:100%;

    padding:15px;

    border-radius:10px;

    border:2px solid #dbeafe;

    font-size:17px;

    outline:none;

}

.setting-group input[type="number"]{

    width:100%;

    padding:15px;

    border-radius:10px;

    border:2px solid #dbeafe;

    font-size:17px;

    outline:none;

}

.setting-group input[type="number"]:focus,
.setting-group select:focus{

    border-color:#2563eb;

}

#startTestBtn{

    width:100%;

    padding:18px;

    border:none;

    border-radius:50px;

    background:#2563eb;

    color:white;

    font-size:19px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

#startTestBtn:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

    box-shadow:0 12px 20px rgba(37,99,235,.25);

}

/* ==========================================
            TYPING PAGE
========================================== */

.typing-page{

    width:90%;

    max-width:1100px;

    margin:60px auto;

}

.typing-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.typing-header h2{

    color:#2563eb;

}

.typing-header p{

    color:#64748b;

}

.timer-box{

    background:#2563eb;

    color:white;

    padding:20px 35px;

    border-radius:15px;

    text-align:center;

    min-width:140px;

}

.timer-box h2{

    color:white;

    font-size:40px;

    margin-top:10px;

}

.progress-container{

    width:100%;

    height:14px;

    background:#dbeafe;

    border-radius:30px;

    overflow:hidden;

    margin-bottom:35px;

}

.progress-bar{

    width:0%;

    height:100%;

    background:#2563eb;

    transition:.3s;

}

.paragraph-box{

    background:white;

    padding:30px;

    border-radius:20px;

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

    margin-bottom:25px;

}

.paragraph-box p{

    font-size:21px;

    line-height:42px;

    color:#334155;

}

#input{

    width:100%;

    height:180px;

    padding:20px;

    border-radius:18px;

    border:2px solid #cbd5e1;

    resize:none;

    font-size:20px;

    outline:none;

    transition:.3s;

}

#input:focus{

    border-color:#2563eb;

    box-shadow:0 0 15px rgba(37,99,235,.2);

}
/* =====================================================
                TEST PAGE CSS - PART 2
        Learnova | TypeMaster Pro
===================================================== */

/* =====================
   STATS
===================== */

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

    margin-top:35px;

}

.stat{

    background:white;

    padding:25px;

    border-radius:18px;

    text-align:center;

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

    transition:.3s;

}

.stat:hover{

    transform:translateY(-8px);

    box-shadow:0 15px 25px rgba(37,99,235,.18);

}

.stat h3{

    font-size:34px;

    color:#2563eb;

    margin-bottom:10px;

}

.stat p{

    color:#64748b;

    font-size:17px;

}

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

.button-group{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:40px;

}

.button-group button{

    flex:1;

    padding:16px;

    font-size:18px;

    border:none;

    border-radius:50px;

    cursor:pointer;

    transition:.3s;

}

#restartBtn{

    background:#f59e0b;

    color:white;

}

#restartBtn:hover{

    background:#d97706;

    transform:translateY(-3px);

}

#finishBtn{

    background:#22c55e;

    color:white;

}

#finishBtn:hover{

    background:#16a34a;

    transform:translateY(-3px);

}

/* =====================
   PARAGRAPH HIGHLIGHT
===================== */

.correct{

    color:#16a34a;

    background:#dcfce7;

}

.incorrect{

    color:#dc2626;

    background:#fee2e2;

}

.current{

    border-left:3px solid #2563eb;

    animation:blink .8s infinite;

}

@keyframes blink{

    50%{

        border-color:transparent;

    }

}

/* =====================
   SMOOTH ANIMATION
===================== */

.settings-page{

    animation:fadeIn .7s ease;

}

.typing-page{

    animation:fadeIn .7s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

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

@media(max-width:900px){

.stats-grid{

    grid-template-columns:repeat(2,1fr);

}

.typing-header{

    flex-direction:column;

    gap:20px;

    text-align:center;

}

.button-group{

    flex-direction:column;

}

.timer-box{

    width:100%;

}

}

@media(max-width:600px){

.stats-grid{

    grid-template-columns:1fr;

}

.settings-card{

    padding:25px;

}

.settings-page h1{

    font-size:30px;

}

.paragraph-box p{

    font-size:18px;

    line-height:34px;

}

#input{

    height:150px;

    font-size:18px;

}

}
/* =========================================
   RESULT PAGE
========================================= */

.result-container{
    max-width:900px;
    margin:50px auto;
    background:white;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    text-align:center;
}

.result-container h1{
    color:#0d6efd;
    font-size:38px;
    margin-bottom:10px;
}

.brand{
    font-size:18px;
    color:#444;
    margin-top:10px;
}

.learnova{
    color:#0d6efd;
    font-size:18px;
    font-weight:bold;
    margin-bottom:35px;
}
/* ===========================
   RESULT CARDS
=========================== */

.result-card{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-top:20px;
}

.result-item{
    background:#f8f9fa;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
    transition:0.3s;
}

.result-item:hover{
    transform:translateY(-5px);
    box-shadow:0 8px 20px rgba(13,110,253,0.2);
}

.result-item h3{
    color:#0d6efd;
    margin-bottom:15px;
    font-size:22px;
}

.result-item p{
    font-size:30px;
    font-weight:bold;
    color:#333;
}
/* ===========================
   RESULT BUTTONS
=========================== */

.button-group{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:35px;
    flex-wrap:wrap;
}

.button-group button{
    padding:14px 28px;
    border:none;
    border-radius:12px;
    font-size:17px;
    font-weight:bold;
    color:white;
    cursor:pointer;
    transition:0.3s;
}

.button-group button:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

#restartBtn{
    background:#ff9800;
}

#restartBtn:hover{
    background:#e68900;
}

#homeBtn{
    background:#0d6efd;
}

#homeBtn:hover{
    background:#0b5ed7;
}

#historyBtn{
    background:#28a745;
}

#historyBtn:hover{
    background:#208838;
}
/* ===========================
   PERFORMANCE BOX
=========================== */

.performance-box{

    margin-top:35px;

    background:#f8f9fa;

    padding:25px;

    border-radius:15px;

    box-shadow:0 5px 15px rgba(0,0,0,0.08);

}

.performance-box h2{

    color:#0d6efd;

    margin-bottom:15px;

}

.performance-box h3{

    font-size:30px;

    color:#28a745;

    margin-bottom:10px;

}

.performance-box p{

    font-size:18px;

    color:#555;

}
/* ===========================
   HISTORY PAGE
=========================== */

.history-container{
    max-width:1100px;
    margin:50px auto;
    background:white;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
    text-align:center;
}

.history-container h1{
    color:#0d6efd;
    margin-bottom:10px;
}

.history-subtitle{
    color:#666;
    margin-bottom:30px;
    font-size:18px;
}

.history-table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:30px;
}

.history-table th{
    background:#0d6efd;
    color:white;
    padding:15px;
}

.history-table td{
    padding:15px;
    border-bottom:1px solid #ddd;
}

.history-table tr:hover{
    background:#f5f8ff;
}

.history-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:20px;
}

.history-buttons button{
    padding:14px 28px;
    border:none;
    border-radius:12px;
    color:white;
    font-size:16px;
    cursor:pointer;
    transition:0.3s;
}

#clearHistoryBtn{
    background:#dc3545;
}

#clearHistoryBtn:hover{
    background:#bb2d3b;
}

.history-buttons button:last-child{
    background:#0d6efd;
}

.history-buttons button:last-child:hover{
    background:#0b5ed7;
}
/* ===========================
   ABOUT PAGE
=========================== */

.about-container{

    max-width:900px;

    margin:50px auto;

    padding:20px;

    text-align:center;

}

.logo-area{

    margin-bottom:35px;

}

.about-logo{

    width:100px;

    height:100px;

    margin:auto;

    border-radius:50%;

    background:#0d6efd;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:45px;

    color:white;

    box-shadow:0 10px 25px rgba(0,0,0,0.2);

    margin-bottom:20px;

}

.logo-area h1{

    color:#0d6efd;

    font-size:42px;

    margin-bottom:8px;

}

.logo-area h2{

    color:#333;

    margin-bottom:8px;

}

.version{

    color:gray;

    font-size:15px;

}

.about-card{

    background:white;

    border-radius:18px;

    padding:30px;

    margin:25px 0;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

    transition:.3s;

}

.about-card:hover{

    transform:translateY(-5px);

}

.about-card h3{

    color:#0d6efd;

    margin-bottom:18px;

}

.about-card p{

    color:#444;

    line-height:1.8;

    font-size:17px;

}

.about-card ul{

    list-style:none;

    padding:0;

}

.about-card ul li{

    padding:10px;

    font-size:17px;

}

.about-buttons{

    margin-top:35px;

}

.about-buttons button{

    background:#0d6efd;

    color:white;

    border:none;

    padding:14px 28px;

    border-radius:12px;

    cursor:pointer;

    font-size:16px;

    transition:.3s;

}

.about-buttons button:hover{

    background:#084298;

    transform:scale(1.05);

}
/* HOME PAGE */

.home-page{

    background-image:url("../assets/home-bg.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

    min-height:100vh;

}

/* ABOUT PAGE */

.about-page{

    background-image:url("../assets/about-bg.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

    min-height:100vh;

}

/* HISTORY PAGE */

.history-page{

    background-image:url("../assets/history-bg.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

    min-height:100vh;

}
/* ==========================================
   DARK MODE
========================================== */

#themeBtn{
    background:#2563eb;
    color:white;
    border:none;
    width:45px;
    height:45px;
    border-radius:50%;
    cursor:pointer;
    font-size:18px;
    transition:0.3s;
}

#themeBtn:hover{
    transform:scale(1.1);
}

/* Smooth transition */

body,
header,
.card,
.about,
footer,
.hero,
.btn,
.nav-links a{
    transition:0.4s;
}

/* =====================
   DARK MODE COLORS
===================== */

body.dark-mode{
    background:#121212;
    color:white;
}

body.dark-mode header{
    background:#1b1b1b;
}

body.dark-mode .navbar{
    background:#1b1b1b;
}

body.dark-mode .hero{
    background:#121212;
}

body.dark-mode .about{
    background:#181818;
}

body.dark-mode footer{
    background:#000;
}

body.dark-mode .card{
    background:#1f1f1f;
    color:white;
    box-shadow:0 0 10px rgba(255,255,255,.08);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3{
    color:white;
}

body.dark-mode p{
    color:#d1d5db;
}

body.dark-mode .nav-links a{
    color:white;
}

body.dark-mode .btn{
    background:#2563eb;
    color:white;
}

body.dark-mode .btn:hover{
    background:#1d4ed8;
}
/* ==========================================
           COMPLETE DARK MODE
========================================== */

body.dark-mode{
    background:#121212;
    color:#ffffff;
}

/* Navbar */

body.dark-mode header,
body.dark-mode .navbar{
    background:#181818;
}

body.dark-mode .navbar a,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode p,
body.dark-mode label,
body.dark-mode span{
    color:#ffffff;
}

/* Settings */

body.dark-mode .settings-card{
    background:#1f1f1f;
    color:#fff;
}

/* Typing Test */

body.dark-mode .typing-header,
body.dark-mode .paragraph-box,
body.dark-mode .stat{
    background:#1f1f1f;
    color:#fff;
}

body.dark-mode textarea,
body.dark-mode input,
body.dark-mode select{
    background:#2b2b2b;
    color:#fff;
    border:1px solid #555;
}

/* Result */

body.dark-mode .result-container{
    background:#1b1b1b;
}

body.dark-mode .result-card,
body.dark-mode .performance-box,
body.dark-mode .result-item{
    background:#252525;
    color:#fff;
}

/* History */

body.dark-mode .history-container{
    background:#1b1b1b;
}

body.dark-mode .history-table{
    background:#1b1b1b;
}

body.dark-mode .history-table td{
    background:#1f1f1f;
    color:#ffffff;
}

body.dark-mode .history-table tr{
    background:#1f1f1f;
}

body.dark-mode .history-subtitle{
    color:#dddddd;
}

/* Buttons */

body.dark-mode button{
    color:white;
}

/* Footer */

body.dark-mode footer{
    background:#181818;
}
/* ==========================
   ABOUT PAGE DARK MODE
========================== */

body.dark-mode .about-container{
    background:#181818;
}

body.dark-mode .about-card{
    background:#252525;
    color:#ffffff;
    box-shadow:0 0 10px rgba(255,255,255,.08);
}

body.dark-mode .about-card h3,
body.dark-mode .about-card p,
body.dark-mode .about-card li,
body.dark-mode .logo-area h1,
body.dark-mode .logo-area h2,
body.dark-mode .logo-area p{
    color:#ffffff;
}

body.dark-mode .about-buttons button{
    background:#2563eb;
    color:#ffffff;
}

body.dark-mode .about-buttons button:hover{
    background:#1d4ed8;
}
/* ================= Dashboard ================= */

.dashboard{

padding:50px;

text-align:center;

}

.dashboard-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

margin-top:40px;

}

.dashboard .card{

padding:30px;

border-radius:15px;

box-shadow:0 0 10px rgba(0,0,0,.15);

}

.dashboard .card h2{

font-size:40px;

margin-top:15px;

color:#2563eb;

}
