/* =====================================================
   K.W. CENTER
   PRE-GIFTED RESULT SYSTEM
   Version 2.00
===================================================== */


/* =====================================================
   RESET
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:
    "Segoe UI",
    Tahoma,
    sans-serif;

    background:#F4F9FF;

    color:#1F2937;

    line-height:1.6;

}



/* =====================================================
   CONTAINER
===================================================== */

.container{

    width:95%;

    max-width:1100px;

    margin:auto;

    padding:40px 20px 80px;

}



/* =====================================================
   HEADER
===================================================== */

.header{

    text-align:center;

    margin-bottom:40px;

}

.logo{

    width:130px;

    height:auto;

    margin-bottom:20px;

    border-radius:20px;

    box-shadow:

    0 10px 30px rgba(0,0,0,.15);

}

.header h1{

    color:#1683D8;

    font-size:2.3rem;

    margin-bottom:8px;

}

.header h2{

    color:#4B5563;

    font-size:1.2rem;

    font-weight:500;

}



/* =====================================================
   SEARCH CARD
===================================================== */

.search-box{

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:

    0 15px 40px rgba(0,0,0,.08);

    margin-bottom:35px;

}



/* =====================================================
   INPUT
===================================================== */

.search-box input{

    width:100%;

    padding:18px;

    font-size:20px;

    border:

    2px solid #D6E4F5;

    border-radius:12px;

    outline:none;

    transition:.3s;

}

.search-box input:focus{

    border-color:#1683D8;

    box-shadow:

    0 0 10px rgba(22,131,216,.20);

}



/* =====================================================
   BUTTON
===================================================== */

.search-box button{

    width:100%;

    margin-top:18px;

    padding:18px;

    border:none;

    border-radius:12px;

    background:#1683D8;

    color:white;

    font-size:20px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

.search-box button:hover{

    background:#0F6EB8;

    transform:translateY(-2px);

}

.search-box button:active{

    transform:scale(.98);

}



/* =====================================================
   STATUS
===================================================== */

#status{

    text-align:center;

    margin-top:18px;

    font-weight:600;

    font-size:18px;

}



/* =====================================================
   RESULT CARD
===================================================== */

.result-card{

    display:none;

    background:white;

    border-radius:22px;

    overflow:hidden;

    box-shadow:

    0 20px 50px rgba(0,0,0,.08);

    animation:fadeUp .6s;

}



/* =====================================================
   RESULT TITLE
===================================================== */

.result-card h2{

    background:#1683D8;

    color:white;

    text-align:center;

    padding:22px;

    font-size:30px;

}



/* =====================================================
   STUDENT INFO
===================================================== */

.student-info{

    display:grid;

    grid-template-columns:

    repeat(2,1fr);

    gap:20px;

    padding:30px;

}

.student-info div{

    background:#F8FBFF;

    padding:20px;

    border-radius:15px;

}

.student-info label{

    color:#6B7280;

    font-size:15px;

}

.student-info p{

    margin-top:8px;

    font-size:26px;

    font-weight:bold;

    color:#1683D8;

}



/* =====================================================
   SUBJECT CARD
===================================================== */

.subject{

    margin:25px;

    border-radius:18px;

    border:1px solid #E5EEF8;

    overflow:hidden;

    background:white;

    transition:.3s;

}

.subject:hover{

    box-shadow:

    0 12px 30px rgba(0,0,0,.08);

}

.subject h3{

    background:#EDF6FF;

    color:#1683D8;

    padding:16px 22px;

    font-size:24px;

}
/* =====================================================
   SUBJECT GRID
===================================================== */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:20px;

    padding:25px;

}

.grid div{

    background:#F8FBFF;

    border-radius:14px;

    padding:18px;

    text-align:center;

    transition:.3s;

}

.grid div:hover{

    transform:translateY(-4px);

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.grid label{

    display:block;

    color:#6B7280;

    font-size:15px;

    margin-bottom:8px;

}

.grid p{

    font-size:30px;

    font-weight:700;

    color:#1683D8;

}



/* =====================================================
   PROGRESS BAR
===================================================== */

.progress{

    width:90%;

    height:18px;

    margin:0 auto 28px;

    background:#E5EEF8;

    border-radius:50px;

    overflow:hidden;

}

.progress div{

    width:0%;

    height:100%;

    background:linear-gradient(90deg,#1683D8,#45B2FF);

    border-radius:50px;

    transition:width 1.2s ease;

}



/* =====================================================
   SUMMARY
===================================================== */

.summary{

    margin:30px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

.summary div{

    background:#1683D8;

    color:white;

    border-radius:18px;

    padding:25px;

    text-align:center;

}

.summary label{

    display:block;

    font-size:16px;

    opacity:.9;

}

.summary p{

    margin-top:10px;

    font-size:34px;

    font-weight:bold;

}



/* =====================================================
   PASS / FAIL
===================================================== */

#resultStatus{

    font-size:36px;

    font-weight:bold;

}




/* =====================================================
   BUTTONS
===================================================== */

.buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    padding:35px;

    flex-wrap:wrap;

}

.buttons button{

    border:none;

    cursor:pointer;

    padding:16px 28px;

    border-radius:12px;

    font-size:18px;

    font-weight:bold;

    transition:.3s;

}



/* Print */

#printButton{

    background:#1683D8;

    color:white;

}

#printButton:hover{

    background:#0F6EB8;

}



/* New Search */

#newSearchButton{

    background:#10B981;

    color:white;

}

#newSearchButton:hover{

    background:#059669;

}

.buttons button:hover{

    transform:translateY(-3px);

}



/* =====================================================
   FOOTER
===================================================== */

footer{

    margin-top:50px;

    text-align:center;

    color:#6B7280;

    font-size:15px;

    padding:30px;

}



/* =====================================================
   LOADING
===================================================== */

.loading{

    opacity:.5;

    pointer-events:none;

}



/* =====================================================
   ANIMATION
===================================================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}



/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:900px){

    .header h1{

        font-size:34px;

    }

    .header h2{

        font-size:20px;

    }

    .student-info{

        grid-template-columns:1fr;

    }

    .summary{

        grid-template-columns:1fr;

    }

}

@media(max-width:600px){

    .container{

        width:96%;

        padding:20px 10px 60px;

    }

    .logo{

        width:95px;

    }

    .header h1{

        font-size:28px;

    }

    .header h2{

        font-size:17px;

    }

    .search-box{

        padding:22px;

    }

    .search-box input{

        font-size:18px;

    }

    .search-box button{

        font-size:18px;

    }

    .result-card h2{

        font-size:26px;

    }

    .grid{

        grid-template-columns:1fr;

    }

    .grid p{

        font-size:26px;

    }

    .summary p{

        font-size:30px;

    }

    .buttons{

        flex-direction:column;

    }

    .buttons button{

        width:100%;

    }

}
/* ==========================================
   SCHOOL TITLE
========================================== */

.school-title{

    color:#1683D8;

    font-size:28px;

    font-weight:bold;

    margin-bottom:8px;

}

.subtitle{

    margin-top:10px;

    color:#7B8794;

    letter-spacing:2px;

    font-size:14px;

}
/* ==========================================
   Loading
========================================== */

.loading-spinner{

    width:28px;

    height:28px;

    border:4px solid #D6E4F5;

    border-top:4px solid #1683D8;

    border-radius:50%;

    animation:spin .8s linear infinite;

    margin:15px auto;

}

@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}
.pass{

    background:#EAF8EE;

    color:#16A34A;

    padding:10px;

    border-radius:10px;

}

.fail{

    background:#FDECEC;

    color:#DC2626;

    padding:10px;

    border-radius:10px;

}
.subject{

    animation:fadeUp .6s;

}

.summary{

    animation:fadeUp .8s;

}

.student-info{

    animation:fadeUp .5s;

}
/* ==========================================
   Chart
========================================== */

.chart-card{

    margin:30px;

    padding:25px;

    background:white;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    display:none;

}

.chart-card h3{

    color:#1683D8;

    margin-bottom:20px;

    text-align:center;

}

#scoreChart{

    max-height:350px;

}
