/*
 * Back - An extremely simple git issue tracking system. Inspired by tvix's
 * panettone
 *
 * Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
 * SPDX-License-Identifier: AGPL-3.0-or-later
 *
 * This file is part of Back.
 *
 * You should have received a copy of the License along with this program.
 * If not, see <https://www.gnu.org/licenses/agpl.txt>.
 */

/*
* This has been taken from the tvix depot from panettone.
* Fetched via `suckit https://b.tvlfyi`.
* It was originally licensed under the MIT license.
*/

input[type="text"],
input[type="password"],
textarea{
    width: 100%;
    padding: 0.5rem;
    outline: none;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--gray);
    margin-bottom: 1rem;
}

textarea{
    resize: vertical;
}

input[type="submit"]{
    -webkit-appearance: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}

input[type="submit"]{
    background-color: var(--success);
    padding: 0.5rem;
    text-decoration: none;
    -moz-transition: box-shadow 0.15s ease-in-out;
    -o-transition: box-shadow 0.15s ease-in-out;
    -webkit-transition: box-shadow 0.15s ease-in-out;
    -ms-transition: box-shadow 0.15s ease-in-out;
    transition: box-shadow 0.15s ease-in-out;
}

input[type="submit"]:hover{
    -moz-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -o-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -webkit-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -ms-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
}

input[type="submit"]:active,
input[type="submit"]:focus{
    -moz-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -o-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -webkit-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -ms-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    outline: none;
    border: none;
}



.form-link input[type="submit"]{
    background-color: initial;
    color: inherit;
    padding: 0;
    text-decoration: underline;
}

.form-link input[type="submit"]:hover,
.form-link input[type="submit"]:active,
.form-link input[type="submit"]:focus{
    -moz-box-shadow: 0 0 0 0;
    -o-box-shadow: 0 0 0 0;
    -webkit-box-shadow: 0 0 0 0;
    -ms-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0;
}

.form-group{
    margin-top: 1rem;
}

label.checkbox{
    cursor: pointer;
}

.issue-list{
    list-style-type: none;
    padding-left: 0;
}

.issue-list .issue-subject{
    font-weight: bold;
}

.issue-list li{
    padding-bottom: 1rem;
}

.issue-list li + li{
    border-top: 1px solid var(--gray);
}

.issue-list a{
    text-decoration: none;
    display: block;
}

.issue-list a:hover{
    outline: none;
}

.issue-list a:hover .issue-subject{
    color: var(--primary);
}

.comment-count{
    color: var(--gray);
}

.issue-links{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}



.issue-search input[type="search"]{
    padding: 0.5rem;
    background-image: url('static/search.png');
    background-position: 10px 10px;
    background-repeat: no-repeat;
    background-size: 1rem;
    padding-left: 2rem;
    border: 1px solid var(--gray);
}

.issue-info{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.issue-info .edit-issue{
    background-color: var(--success);
    padding: 0.5rem;
    text-decoration: none;
    -moz-transition: box-shadow 0.15s ease-in-out;
    -o-transition: box-shadow 0.15s ease-in-out;
    -webkit-transition: box-shadow 0.15s ease-in-out;
    -ms-transition: box-shadow 0.15s ease-in-out;
    transition: box-shadow 0.15s ease-in-out;
}

.issue-info .edit-issue:hover{
    -moz-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -o-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -webkit-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -ms-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
}

.issue-info .edit-issue:active,
.issue-info .edit-issue:focus{
    -moz-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -o-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -webkit-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -ms-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    outline: none;
    border: none;
}

.issue-info .created-by-at{
    flex: 1;
}

.issue-info .edit-issue{
    background-color: var(--light) -gray;
    flex: 0;
    margin-right: 0.5rem;
}

.issue-info .close-issue{
    background-color: var(--failure);
}

.issue-history{
    list-style: none;
    border-top: 1px solid var(--gray);
    padding-top: 1rem;
    padding-left: 2rem;
}

.issue-history .comment-info{
    color: var(--gray);
    margin: 0;
    padding-top: 1rem;
}

.issue-history .comment-info a{
    text-decoration: none;
}

.issue-history .comment-info a:hover{
    text-decoration: underline;
}

.issue-history .comment,
.issue-history .event{
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--gray);
}

.issue-history .comment p,
.issue-history .event p{
    margin: 0;
}

.issue-history .comment:target,
.issue-history .event:target{
    border-color: var(--primary);
    border-bottom-width: 3px;
}

.issue-history .event{
    color: var(--gray);
}

blockquote{
    border-left: 5px solid var(--light) -gray;
    padding-left: 1rem;
    margin-left: 0rem;
}

pre{
    overflow-x: auto;
}

body{
    font-family: sans-serif;
    color: var(--text);
    background: var(--bg);
    --text: rgb(24, 24, 24);
    --bg: white;
    --gray: #8D8D8D;
    --primary: rgb(106, 154, 255);
    --primary-light: rgb(150, 166, 200);
    --success: rgb(168, 249, 166);
    --failure: rgb(247, 167, 167);
    --light-gray: #EEE;
}

@media (prefers-color-scheme: dark){
    body{
        --text: rgb(240, 240, 240);
        --bg: black;
        --gray: #8D8D8D;
        --primary: rgb(106, 154, 255);
        --primary-light: rgb(150, 166, 200);
        --success: rgb(14, 130, 11);
        --failure: rgb(124, 14, 14);
        --light-gray: #222;
    }
}

a{
    color: inherit;
}

.content{
    max-width: 800px;
    margin: 0 auto;
}

header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--text);
    margin-bottom: 1rem;
}

header h1{
    padding: 0;
    flex: 1;
}

header .issue-number{
    color: var(--gray);
    font-size: 1.5rem;
}

nav{
    display: flex;
    color: var(--gray);
    justify-content: space-between;
}

nav .nav-group{
    display: flex;
}

nav .nav-group >*{
    margin-left: 0.5rem;
}

footer{
    border-top: 1px solid var(--gray);
    padding-top: 1rem;
    margin-top: 1rem;
    color: var(--gray);
}

.new-issue{
    background-color: var(--success);
    padding: 0.5rem;
    text-decoration: none;
    -moz-transition: box-shadow 0.15s ease-in-out;
    -o-transition: box-shadow 0.15s ease-in-out;
    -webkit-transition: box-shadow 0.15s ease-in-out;
    -ms-transition: box-shadow 0.15s ease-in-out;
    transition: box-shadow 0.15s ease-in-out;
}

.new-issue:hover{
    -moz-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -o-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -webkit-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    -ms-box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
    box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.08);
}

.new-issue:active,
.new-issue:focus{
    -moz-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -o-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -webkit-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    -ms-box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    box-shadow: 0.1rem 0.1rem 0 0 rgba(0,0,0,0.05);
    outline: none;
    border: none;
}

.alert{
    padding: 0.5rem;
    margin-bottom: 1rem;
    background-color: var(--failure);
}

.login-form{
    max-width: 300px;
    margin: 0 auto;
}

.created-by-at{
    color: var(--gray);
}

.sr-only{
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}