:root{
    --pri:#0F172A;
    --sec:#ffff;
    --tri:red;
    --purple:purple;
    --lightpink:lightpink;
    --lightgreen:lightgreen;
    --green:green;
    --blue:#3b82f6;
    --black:black;
    --orange:orange;
    --blueviolet:blueviolet;
    --darkblue:#1e40af;
    --gray:gray;
    --ggray:255,255,255;
    --darkpur:115, 45, 211;
    --epur:123, 51, 223;
}
@font-face {
    font-family: normal;
    src: url(./fonts/fonnts.com-Aeonik-Regular.ttf);
}
@font-face {
    font-family: bold;
    src: url(./fonts/fonnts.com-Aeonik-Bold.ttf);
}
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: normal;
}
html, body{
    width: 100%;
    height: 100%;
    background-color: var(--pri);
}
body{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
#main{
    flex: 1;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 1rem;
    margin-bottom: 8rem;
    padding: 0.8rem;    
}
h1{
    font-family: normal;
    color: var(--sec);
}
nav{
    display: flex;
    width: 100%;
    max-width: 1200px;
    height: auto;
    justify-content: space-between;
    background-color: var(--pri);
    color: var(--sec);
    border-bottom: 3px solid var(--sec);
    margin: 0 auto;
    margin-top: 1rem;
    padding: 0.8rem 0.8rem 1.2rem 0.8rem;
}
.logo{
    display: flex;
    border-bottom: 2px solid var(--sec);
    border-right: 2px solid var(--sec);
    border-radius: 10px;
    padding: 0.4rem;
}
.logo img{
    height: 30px;
}
.theme{
    display: flex;
    background: linear-gradient(45deg, var(--purple), var(--lightpink));
    align-items: center;
    border-radius: 20px;
    padding: 0.4rem;
    gap: 0.4rem;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--sec);
}
.theme:active{
    transform: scale(0.9);
}
.allElem{
    color: var(--sec);
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem;
    transition: all 0.5s ease-in-out;
}
.todo{
    border-radius: 20px;
    max-width: 237px;
    font-size: 1.2rem;
    height: 18rem;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 4px 20px var(--gray);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    overflow: hidden;
}
.todo:hover img{
    transform: scale(1.1);
}
.todo img{
    transition: all 0.2s ease-in;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    min-width: 234px;
}
.todo h4{
    position: absolute;
    bottom: 10%;
    padding: 0.6rem;
    text-shadow: 0 0 4px rgba(var(--black), 0.9),
                 2px 2px 4px rgba(var(--black), 0.6);
}
.todo p{
    position: absolute;
    bottom: 5%;
    font-size: 0.75rem;
    padding: 0.6rem;
    opacity: 0.8;
    text-shadow: 
        0 0 3px var(--black), 
        1px 1px 3px var(--black);
}
.todo:active{
    transform: scale(0.9);
}
.fullElem{
    width: 100%;
    height: 100%;
    padding: 1rem;
    display: none;
    margin-bottom: 5rem;
}
.head{
    text-align: center;
    color: var(--sec);
    margin-top: 1.2rem;
}
.head h1{
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-size: 1.8rem;
    max-width: 576px;
    margin: 0 auto;
}
.head p{
    font-size: 1rem;
    opacity: 0.6;
    margin-top: 0.5rem;
    width: 85%;
    max-width: 523px;
    margin: 0 auto;
}
.quote{
    padding: 0.8rem;
    font-size: 2.5rem;
    border-radius: 50%;
    background-color: var(--tri);
    color: var(--sec);
    width: 4rem;
    height: 4rem;
    margin: 0 auto;
    margin-bottom: 1rem;
}
.back{
    display: flex;
    gap: 0.2rem;
    background: linear-gradient(135deg, var(--darkblue), var(--blue));
    color: var(--sec);
    padding: 0.4rem;
    font-size: 1rem;
    font-weight: 200;
    border: none;
    border-radius: 15px;
    cursor: pointer;
    transition: all 0.2s ease-in;
}
.back:active{
    transform: scale(0.9);
}
.type{
    margin-top: 2rem;
    text-align: center;
    display: flex;
    gap: 0.8rem;
    justify-content: center;
}
.in{
    background-color: transparent;
    box-shadow: 0 0 0 0.5px var(--sec);
    border: none;
    font-size: 0.9rem;
    padding: 0.6rem;
    border-radius: 5px;
    width: 60%;
    color: var(--sec);
    max-width: 772px;
}
.task{
    padding: 1rem;
    background-color: var(--tri);
    border: none;
    color: var(--sec);
    border-radius: 5px;
    padding: 0.4rem;
    font-size: 1rem;
    font-weight: 500;
    font-family:normal;
    cursor: pointer;
}
.contain{
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 0 0.5px var(--sec);
    margin-top: 2rem;
    max-width: 896px;
    justify-content: center;
    margin: 2rem auto 0 auto;
}
.pending, .completed{
    padding: 1.6rem;
    border-bottom: 1px solid var(--sec);
    text-align: center;
}
.pending h2{
    color: var(--tri);
    margin-bottom: 1.2rem;
}
.pending p , .completed p{
    opacity: 0.6;
    color: var(--sec);
}
.completed h2{
    color: var(--green);
    margin-bottom: 1.2rem;
}
.show, .shows{
    color: var(--sec);
    display: grid;
    grid-template-columns: 1fr auto auto; /* 3 columns: text, checkbox, icon */
    gap: 1rem;
    border-bottom: 1px dashed var(--sec);
    align-items: center;
}
.show h3{
    padding: 0.6rem;
    text-align: left;
}
.shows h3{
    padding: 0.6rem;
    text-align: left;
    text-decoration: line-through;
    opacity: 0.7;
}
#ok{
    transform: scale(1.5);
    cursor: pointer;
}
.checko{
    display: flex;
    gap: 0.5rem;
}
.bo{
    color: var(--tri);
    cursor: pointer;
}
.day-palnner{
    width: 100%;
    padding: 0.2rem;
    margin-top: 3rem;
}
.day-time p{
    font-size: 0.9rem;
    line-height: 1.8;
    font-weight: 600;
    text-align: center;
}
.enter{
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--sec);
    padding: 0.7rem;
    max-width: 746px;
    font-weight: bold;
    font-size: 0.9rem;
    color: var(--sec);
}
#ch{
    width: 1.2rem;
    height: 1.2rem;
    justify-self: center;
    cursor: pointer;
}
.enter.strikethrough {
  text-decoration: line-through;
}
.day-time{
    display: grid;
    max-width: 896px;
    grid-template-columns: minmax(45px, 90px) 1fr auto;
    align-items: center;
    color: var(--sec);
    border: 1px solid var(--sec);
    gap: 0.5rem;
    padding: 8px 16px;
    margin: 0 auto;
    margin-bottom: 1rem;
}
.boxx{
    padding: 1.5rem;
    background-color: var(--sec);
    border-radius: 25px;
    max-width: 896px;
    margin: 2rem auto 0 auto;
}
.p{
    font-size: 1.5rem;
    text-align: center;
    font-weight: 500;
    opacity: 0.8;
}
.nam{
    text-align: center;
    font-size: 1.3rem;
    color: var(--tri);
}
.up, .down{
    font-size: 2.5rem;
    color: var(--orange);
}
.down{
    text-align: right;
}
.new{
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    color: var(--sec);
    background-color: var(--blue);
    margin: 2.2rem auto 0 auto;
    width: 60%;
    max-width: 157.44px;
    border-radius: 50px;
    justify-content: center;
    padding: 1rem;
    cursor: pointer;
}
.new:active{
    transform: scale(0.9);
}
.front{
    margin-top: 1.3rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    color: var(--sec);
    justify-content: center;
    align-items: center;
}
.icons .suit{
    background-color: var(--blue);
    padding: 1rem;
    font-size: 1.8rem;
    border-radius: 50px;
}
.icons .coffee{
    background-color: var(--lightgreen);
    padding: 1rem;
    font-size: 1.8rem;
    border-radius: 50px;
}
.focus{
    background-color: rgba(var(--ggray),0.1);
    padding: 0.5rem 0.8rem;
    border-radius: 25px;
}
.time{
    padding: 2rem;
    border-radius: 50%;
    border: 4px solid var(--sec);
    background-color:rgba(var(--ggray),0.1);
    color: var(--sec);
    margin: 2rem auto 0 auto;
    width: 176px;
    aspect-ratio: 1/1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
}
.start{
    display: flex;
    flex-direction: row;
    gap: 2rem;
    color: var(--sec);
    font-size: 1rem;
    margin-top: 1.2rem;
    justify-content: center;
}
.re{
    background-color:rgba(var(--ggray),0.3) ;
}
.pt{
    background-color:rgba(var(--ggray),0.2) ;
}
.st ,.re, .pt{
    padding: 0.8rem;
    border-radius: 25px;
    cursor: pointer;
}
.com{
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 1rem;
    color: var(--sec);
    margin-top: 1.2rem;
}
.wo,.sb,.lb{
    padding: 0.9rem;
    border-radius: 25px;
    cursor: pointer;
    font-size: 0.9rem;
    white-space: nowrap;
    border: 1px solid var(--blueviolet);
    text-align: center;
}
footer{
    width: 100%;
    color: var(--sec);
    margin: 0 auto;
    text-align: center;
    padding: 1rem;
    line-height: 1.5;
    background-color:rgba(var(--ggray),0.1) ;
}
.pro1{
    font-size: 1.3rem;
}
.pro2{
    opacity: 0.8;
}
.pro3{
    opacity: 0.6;
}
.main-bar{
    margin-top: 1.2rem;
    padding: 0.8rem;
    width: 100%;
}
.mainb{
    background-image: linear-gradient(
        rgba(var(--darkpur), 0.4),  
        rgba(var(--epur), 0.4)
    ),
    url('./img/mainimg.jpg');
    background-size: cover;
    background-position: center;
    width: 100%;
    border-radius: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    gap: 0.4rem;
    padding: 0.5rem;
    color: var(--sec);
}
.wea{
    margin: 1.3rem 0rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    text-align: left;
}
.wea h2{
    font-family: bold;
}
.temp{
    margin: 1rem 0rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    text-align: end;
}
.temp h2,h3,h4{
    font-weight: 300;
    text-shadow: 0.5px 0.5px 1px var(--black);
}
@media (max-width: 354px) {
  .day-time {
    grid-template-columns: minmax(40px, 75px) 1fr auto;
    padding: 6px 4px;
    gap: 0.3rem;
  }
  .day-time p {
    font-size: 0.75rem;
    line-height: 1.3;
  }
  .enter {
    max-width: 95vw;
    width: 100%;
    font-size: 0.8rem;
    padding: 0.2rem;
  }
}
@media (min-width:460px) {
    .todolist .back, .daily .back, .clock .back{
        margin-left: -12.5vw;
    }
}
@media (min-width:600px) {
    .allElem{
        grid-template-columns: repeat(2,1fr);
    }
    .head h1{
        font-size: 2.1rem;
    }
    .p{
        font-size: 1.7rem;
    }
    .nam{
        font-size: 1.5rem;
    }
    .up, .down{
        font-size: 4rem;
    }
    .wea{
        font-size: 1.3rem;
    }
    .temp h4{
        font-size: 1.3rem;
    }
}
@media (min-width:750px) {
    .contain{
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .pending, .completed{
        text-align: center;
        box-shadow: none;
        border: none;
    }
    .pending{
        border-right: 1px solid rgba(var(--ggray), 0.5);
    }
    .day-time{
        gap: 1.2rem;
    }
    .enter{
        font-size: 1.1rem;
        font-weight: bold;
    }
    .temp h4{
        font-size: 1.4rem;
    }
}
@media (min-width:900px) {
    .allElem{
        grid-template-columns: repeat(3,1fr);
    }
}
@media (min-width:1200px) {
    .allElem{
        grid-template-columns: repeat(4,1fr);
    }
}