@import url('./base/vars.css');
@import url('./base/reset.css');
@import url('./base/fonts.css');
@import url('./components/button.css');
@import url('./components/input.css');

body, html{
    height: 100%;
    overflow: hidden;

    font-size: var(--PrimaryFontSize);
    background: var(--PrimaryBackground);
    background-size: 400% 400%;
    color: var(--PrimaryFontColor);
    text-shadow: var(--PrimaryTextShadow);
    font-family: var(--PrimaryFont);
    animation: gradientAnimation 15s ease infinite;

    scrollbar-color: #a067ea52 var(--PrimaryBoxBackground);
}

@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.layout{
    display: flex;
    min-height: 100vh;
    height: 100vh;
    overflow: hidden;
} 

main{
    display: grid;
    grid-template-rows: minmax(0, 2fr) minmax(0, 4fr);
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.section-grid{
    display: grid;
    grid-template: 20px 1fr 20px / 20px 1fr 20px;
    min-height: 0;
    overflow: hidden;
}

.article-grid-colum{
    display: grid;
    grid-template: repeat(1fr, 4) / 1fr;
    grid-area: 2 / 2 / 2 / 2;
}

.div-flex-content{
    display: flex;
    padding: 0.1em;
}

.flex-end{
    justify-content: end;
    align-items: end;
}

.flex-center{
    justify-content: center;
    align-items: center;
}

.flex-column{
    flex-direction: column;
    align-items: start;
}

.flex-space-between{
    justify-content: space-between;
    min-width: 50px;
}

.highlightspan{
    font-size: var(--HighlightFontSize);
}

.secondoryspan{
    font-size: var(--SecondoryFontSize);
}

#section-task-list{
    border-radius: 50px 0 0 0 ;
    box-shadow: var(--HighlightBoxShadow); 
    background: var(--PrimaryBoxBackground);
}

#article-task-scroll{ 
    grid-template: 70px 30px 1fr / 1fr;
    min-height: 0;
    height: 100%
}

#tasklist{
    min-height: 0;
    padding: 10px;
    overflow-y: auto;
    grid-row: 3;

    background: none;
}
#tasklist.scrolled{
    box-shadow: 
    inset 0 10px 15px -20px rgba(0, 0, 0, 0.973),
    inset 0 15px 15px -20px rgba(0, 0, 0, 0.774);
}

.task{
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;

    border-radius: 15px;
    min-height: 50px;
    width: 98%;
    text-shadow: var(--SecondoryTextShadow);
    margin-bottom: 10px;
    box-shadow: var(--PrimaryBoxShadow);
    background: var(--PrimaryBoxBackground);

    transition: all 0.3s ease;
    animation: taskAppear 0.3s ease;
}

.task.fade-out{
    animation: fadeOut 0.3s ease forwards;
    max-height: 0;
    opacity: 0;
    margin: 0;
    padding: 0;
    transform: translateX(100%); 
}

.task-text{
    margin: 0 80px 0 45px; 
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.task-text.fullsize{
    text-overflow: clip;
    white-space: pre-wrap;
    word-wrap: break-word;
    margin: 0px 0 35px 0;
    padding: 15px;
}

.task:hover{
    transform:translateY(-1px);
    box-shadow: var(--SecondoryBoxShadow);
    background: var(--SecondoryBoxBackground);
}

@keyframes taskAppear {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
    0% { opacity: 1; transform: translateX(0);}
    100% { opacity: 0; transform: translateX(-100%);}
}

.task.dablclick{
    text-decoration: line-through;
    background: var(--SecondoryBoxBackground);
}