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

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

body{

background:linear-gradient(
135deg,
#EAF4FF,
#D9ECFF,
#CBE4FF
);

min-height:100vh;

padding:30px;

}

.container{

max-width:1000px;

margin:auto;

animation:fade .6s ease;

}

/* ===================================
   BACK BUTTON
=================================== */

.back{

display:inline-flex;

align-items:center;

gap:10px;

text-decoration:none;

padding:12px 20px;

border-radius:50px;

background:white;

color:#1565C0;

font-weight:700;

margin-bottom:25px;

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

transition:.3s;

}

.back:hover{

transform:translateY(-3px);

}

/* ===================================
   BADGE
=================================== */

.badge{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 20px;

background:#E3F2FD;

border-radius:40px;

color:#1565C0;

font-weight:700;

margin-bottom:15px;

}

/* ===================================
   TITLE
=================================== */

h1{

font-size:55px;

font-weight:800;

color:#0F2D73;

margin-bottom:30px;

}

/* ===================================
   CARD
=================================== */

.card{

background:white;

padding:35px;

border-radius:25px;

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

margin-bottom:25px;

}

.card h2{

margin-bottom:25px;

color:#173A88;

font-size:30px;

}

/* ===================================
   GRID
=================================== */

.grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.grid div{

display:flex;

flex-direction:column;

}

.grid label{

margin-bottom:8px;

font-weight:600;

color:#444;

}

.grid input{

height:58px;

border:2px solid #DCEBFA;

border-radius:15px;

padding:15px;

font-size:17px;

transition:.25s;

}

.grid input:focus{

outline:none;

border-color:#2196F3;

box-shadow:0 0 0 5px rgba(33,150,243,.15);

}

/* ===================================
   BUTTON
=================================== */

button{

width:100%;

margin-top:28px;

height:60px;

border:none;

border-radius:16px;

background:linear-gradient(
135deg,
#1565C0,
#42A5F5
);

color:white;

font-size:18px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

button:hover{

transform:translateY(-3px);

box-shadow:0 12px 25px rgba(21,101,192,.30);

}

/* ===================================
   HASIL
=================================== */

.hasil{

background:white;

padding:35px;

border-radius:25px;

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

margin-bottom:25px;

text-align:center;

}

.hasil h2{

color:#173A88;

margin-bottom:20px;

}

.ukuran{

font-size:90px;

font-weight:800;

color:#1565C0;

margin:20px 0;

}

#alasan{

line-height:1.9;

font-size:17px;

color:#555;

}

/* ===================================
   CHART
=================================== */

.chart-card{

background:white;

padding:30px;

border-radius:25px;

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

text-align:center;

}

#chart{

display:none;

width:100%;

margin-top:25px;

border-radius:18px;

border:2px solid #ddd;

}

.chart-card p{

margin-top:15px;

color:#666;

}

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

@keyframes fade{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

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

@media(max-width:768px){

body{

padding:18px;

}

.grid{

grid-template-columns:1fr;

}

h1{

font-size:38px;

}

.card{

padding:25px;

}

.ukuran{

font-size:65px;

}

}

@media(max-width:480px){

.badge{

font-size:13px;

}

h1{

font-size:30px;

}

.card h2{

font-size:24px;

}

button{

font-size:16px;

}

}