
:root{
    --bg:#050816;
    --card:rgba(255,255,255,.08);
    --border:rgba(255,255,255,.15);
    --text:#eef5ff;
    --sub:#9cb8ff;
    --accent:#4ea1ff;
    --accent2:#33ffd1;
    --shadow:0 20px 50px rgba(0,0,0,.45);
}

*{margin:0;padding:0;box-sizing:border-box}

body{
    font-family:'Pretendard',Arial,sans-serif;
    background:radial-gradient(circle at top,#10235a 0%,#050816 55%,#02040b 100%);
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
}

#particles{
    position:fixed;
    inset:0;
    z-index:0;
    background-image:
      radial-gradient(circle,#ffffffcc 1px,transparent 1px),
      radial-gradient(circle,#88bbff99 1px,transparent 1px),
      radial-gradient(circle,#ffffff88 2px,transparent 2px);
    background-size:140px 140px,220px 220px,320px 320px;
    animation:stars 80s linear infinite;
}

@keyframes stars{
    from{transform:translateY(0)}
    to{transform:translateY(-400px)}
}

.hero{
    position:relative;
    z-index:2;
    text-align:center;
    padding:45px 20px 25px;
}
.hero h1{
    font-size:3rem;
    text-shadow:0 0 25px #53a7ff;
}
.hero p{
    margin-top:10px;
    color:var(--sub);
}

.container{
    position:relative;
    z-index:2;
    width:min(1500px,95%);
    margin:auto;
    display:grid;
    grid-template-columns:360px 1fr;
    gap:28px;
    padding-bottom:50px;
}

.panel{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:24px;
    backdrop-filter:blur(18px);
    box-shadow:var(--shadow);
    padding:24px;
    transition:.3s;
}
.panel:hover{
    transform:translateY(-5px);
    box-shadow:0 0 30px rgba(78,161,255,.35),var(--shadow);
}

.input-panel h2,.dashboard h2{
    margin-bottom:18px;
}

.input-panel h3{
    margin:22px 0 10px;
    color:var(--accent2);
}

label{
    display:block;
    margin:14px 0 6px;
    color:var(--sub);
}

input,select{
    width:100%;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.08);
    color:white;
}

.grid2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

button{
    width:100%;
    margin-top:22px;
    padding:14px;
    border:none;
    border-radius:14px;
    cursor:pointer;
    font-size:17px;
    color:#fff;
    background:linear-gradient(90deg,var(--accent),var(--accent2));
    font-weight:700;
}
button:hover{filter:brightness(1.08)}

.top-grid{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:24px;
}

.gauge-card,.life-card,.time-box,.stat{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
}

.gauge-card{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:300px;
}

.gauge-text{
    position:absolute;
    text-align:center;
}
.gauge-text span{
    display:block;
    font-size:2.2rem;
    font-weight:700;
}
.gauge-text small{color:var(--sub)}

.life-card{
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.life-age{
    margin:18px 0;
}
.life-age span{
    font-size:4rem;
    font-weight:700;
    color:var(--accent2);
}
.life-age small{
    font-size:1.6rem;
}

.countdown-section{margin-top:28px}
.count-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:18px;
}

.time-box{
    text-align:center;
    padding:24px 10px;
}
.time-box span{
    display:block;
    font-size:2.4rem;
    font-weight:700;
}
.time-box small{
    color:var(--sub);
    letter-spacing:2px;
}

.stats-grid{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.stat{
    padding:22px;
}
.stat h3{
    color:var(--sub);
    margin-bottom:10px;
}
.stat p{
    font-size:1.4rem;
    font-weight:600;
}

footer{
    position:relative;
    z-index:2;
    text-align:center;
    color:#91a6d9;
    padding:28px;
}

@media(max-width:1100px){
    .container,
    .top-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .count-grid,
    .stats-grid,
    .grid2{
        grid-template-columns:1fr;
    }
    .hero h1{font-size:2.2rem}
}
