@import url("/fonts.css?v=<#? appversion ?#>");

:root {
    --accent-light: var(--primary-2);
    --accent-light-access: var(--primary-2);
    --accent-dark: var(--primary-2);
    --accent-dark-access: var(--primary-2);

    --accent-blue: #77A1BF;
    --primary-1: #383838;
    --primary-2: #C84421;
    --primary-3: #EDE1CB;
    --primary-4: #F2CD5C;

	--font-normal: var(--font-1), system-ui;
	--font-semibold: "TT Commons Medium", system-ui;
	--font-bold: "TT Commons Bold", system-ui;
	--font-icon: "SF Pro Symbols", system-ui;
	--font-mono: "SF Mono", monospace;

    --font-1: "TT Commons";
    --font-2: "ITC Motter Corpus";
    --font-3: "Yellowtail";
}

.sheet > .control > .bar
{
    backdrop-filter: unset;
    -webkit-backdrop-filter: unset;
    filter: unset;
}
body {
    overflow: unset;
    overscroll-behavior-y: unset;
}

body > header {
    position: sticky;
    top: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content auto max-content;
    gap: 10px;
    padding: 20px var(--padding);
    z-index: 50;
}
    body > header::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(var(--dim), transparent 70%);
        z-index: -1;
        backdrop-filter: var(--filter-blur);
        mask-image: linear-gradient(black 20%, transparent);
        transition: 0.5s ease-out bottom;
        pointer-events: none;
    }
    body.scroll > header::before {
        bottom: -70px;
    }
    header .brand {
        display: grid;
        grid-auto-flow: column;
        align-items: center;
        gap: 0.75em;
    }
        header .brand img {
            height: 50px;
        }
        header .brand span {
            color: inherit;
            text-decoration: unset;
            font-weight: bold;
            font-size: 1.25em;
        }
    header nav {
        position: absolute;
        left: 50%;
        top: 45px;
        display: grid;
        font-size: 1.2em;
        grid-auto-flow: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        transform: translate(-50%, -50%);
    }
        header nav .background {
            display: none;
        }
        header nav a {
            position: relative;
            text-decoration: none;
            color: inherit;
            background-color: transparent;
            padding: 0.4em 0.75em;
            border-radius: 7px;
            transition: 0.15s background-color;
        }
        header nav a:hover {
            background-color: var(--background-input-hover);
        }
        header nav a:active {
            background-color: var(--background-input-active);
        }
        header nav a.active {
            font-weight: bold;
        }
            header nav a.active::after {
                content: "";
                display: block;
                background: var(--accent);
                position: absolute;
                left: 50%;
                width: calc(100% - 2em);
                transform: translate(-50%, 0);
                bottom: 0px;
                height: 4px;
                border-radius: 3px;
                transition: var(--animation);
            }
            header nav a.active:hover::after {
                width: calc(100% - 1em);
            }
    header .clientarea {
        display: grid;
        align-items: center;
    }
        header .clientarea button {
            padding: 0.7em 1.2em;
            border-radius: 50px;
            gap: 0.5em;
        }
        header .clientarea button:has(img) {
            padding: 0.4em 0.7em;
            backdrop-filter: blur(5px);
            box-shadow: 
                -1px -1px 1px 0px var(--overlay-4),
                0px 1px 2px 0px var(--overlay-5);
        }
            header .clientarea button img {
                border-radius: 100%;
                height: 1.6em;
                margin-left: -0.25em;
            }
    header .more {
        display: none;
        width: 40px;
        height: 40px;
        align-self: center;
        align-items: center;
        justify-items: center;
        font-size: 1.2em;
        border-radius: 100%;
        padding: 0;
        backdrop-filter: blur(5px);
        box-shadow: 
            -1px -1px 1px 0px var(--overlay-4),
            0px 1px 2px 0px var(--overlay-5);
    }

body > article {
    min-height: calc(100vh - 90px - 400px);
    background-color: var(--primary-1);
    background-position: top;
    overflow: hidden;
}
    body > article > h1 {
        margin: calc(var(--padding) + 50px) auto;
        text-align: center;
        font-family: var(--font-2);
        text-transform: uppercase;
        padding: var(--padding);
        filter: drop-shadow(3px 4px 10px rgba(0,0,0,0.4));
    }

body > footer {
    display: grid;
    background: black;
    justify-content: center;
    font-size: 0.95em;
    border-top: 1px solid var(--overlay-7);
    padding-bottom: env(safe-area-inset-bottom);
}
body > footer:has(.sponsors) {
    background: #151515;
}
    body > footer > .container {
        display: grid;
        color: white;
        font-size: 1.2em;
        grid-template-areas: 
            "branding x contacts"
            "copyright copyright copyright";
        grid-auto-columns: minmax(auto, 350px) minmax(auto, 300px) max-content;
        padding: var(--padding);
        max-width: 1000px;
    }
    body > footer > .container.sponsors {
        display: none;
        grid-template-areas: unset;
        grid-auto-flow: row;
        grid-auto-columns: auto;
        text-align: center;
        justify-content: center;
    }
    footer .branding {
        grid-area: branding;
        display: grid;
    }
        footer .branding > img{
            width: 100px;
        }
        footer .branding .description {
            margin-top: 2em;
            line-height: 1.3em;
        }
        footer .branding .title {
            font-weight: bold;
            font-size: 1.2em;
            margin: 30px 0 0.5em;
        }
        footer .branding .logos {
            display: flex;
            gap: 10px;
        }
            footer .branding .logos > img {
                width: 40px;
            }
    footer .contacts {
        grid-area: contacts;
        display: grid;
        grid-auto-rows: max-content;
        align-self: center;
        justify-self: end;
    }
        footer .contacts .title {
            font-weight: bold;
            font-size: 1.2em;
            margin: 0 0 0.5em;
        }
        footer .contacts .links {
            display: grid;
            grid-auto-flow: row;
            gap: 0.15em;
        }
            footer .contacts .links .link {
                display: grid;
                grid-auto-flow: column;
                grid-auto-columns: max-content auto;
                gap: 10px;
                align-items: center;
                background-color: transparent;
                padding: 0.35em 0.5em;
                margin: 0 0 0 -0.5em;
                cursor: pointer;
                border-radius: 6px;
                width: fit-content;
                transition: 0.15s background-color;
            }
            footer .contacts .links .link:hover {
                background-color: var(--background-input-hover);
            }
            footer .contacts .links .link:active {
                background-color: var(--background-input-active);
            }
                footer .contacts .links .link > img{
                    width: 18px;
                }
    footer .copyright {
        grid-area: copyright;
        text-align: center;
        margin-top: 30px;
    }

    footer .sponsors .title {
        font-weight: bold;
        font-size: 1.5em;
        margin: 0 0 var(--padding);
        font-family: var(--font-2);
        text-transform: uppercase;
    }
    footer .sponsors .logos {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }
        footer .sponsors .logos img {
            display: grid;
            background: var(--primary-3);
            padding: 15px;
            height: 100px;
            aspect-ratio: 2;
        }

@media screen and (max-width: 800px) {
    header > nav {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 0;
        width: 100vw;
        height: 100%;
        grid-auto-flow: row;
        justify-items: right;
        align-content: start;
        justify-content: end;
        padding: 100px var(--padding) 30px;
        font-size: 1.4em;
        transform: translateY(-100%);
        transition: 0.6s var(--key-animation) transform;
    }
    header > nav.opened {
        transform: translateY(0);
    }
        header > nav .background {
            display: block;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            mask-image: linear-gradient(black 90px, transparent);
            background: black;
        }
        header nav a.active::after {
            width: 4px;
            height: calc(100% - 0.9em);
            left: unset;
            right: 0;
            bottom: 50%;
            transform: translate(0, 50%);
        }
        header nav a.active:hover::after {
            width: 4px;
            height: calc(100% - 0.5em);
        }
    header > .more {
        display: grid;
    }
    header .brand {
        z-index: 5;
    }
        header .brand img {
            height: 40px;
        }
}

@media screen and (max-width: 600px) {
    body > article > h1 {
        font-size: calc(1.35 * var(--ratio));
    }
    body > footer > .container {
        grid-template-areas: 
            "branding"
            "contacts"
            "copyright";
        grid-auto-columns: auto;
    }
    footer .contacts {
        margin: 30px 0 0.5em;
        justify-self: stretch;
    }
    footer .sponsors .logos img {
        height: 55px;
    }
}


body > article > .container {
    display: grid;
    max-width: 600px;
    margin: 0 auto;
    padding: 0 var(--padding) calc(var(--padding) + 50px);
    gap: 50px;
}
    .notice {
        display: grid;
        grid-auto-flow: column;
        background: var(--primary-2);
        grid-template-areas: "icon description button";
        color: white;
        padding: 0.9em;
        gap: 0.5em;
        line-height: 1;
        border-radius: 15px;
        font-size: 1.2em;
    }
    .fields .notice {
        background: transparent;
        padding: 0;
        font-size: 0.8em;
        color: #8c6900;
    }
        .notice .icon {
            grid-area: icon;
        }
        .notice .description {
            grid-area: description;
        }
        .notice button {
            grid-area: button;
            --accent: white;
            color: var(--primary-2);
        }
    .container > .section {
        display: grid;
        gap: 15px;
        background: var(--primary-3);
        font-size: 1.2em;
        border-radius: 15px;
        padding: 25px;
        position: relative;
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.5);
        background-image: 
            radial-gradient(circle at 10% 85%, rgba(100, 150, 200, 0.05), transparent 25%),
            radial-gradient(circle at 75% 25%, rgba(139, 69, 19, 0.07), transparent 35%),
            radial-gradient(#d8cfc5 1px, transparent 1px);
        background-size: 100% 100%, 100% 100%, 5px 5px;
    }
        .section .header {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: auto max-content;
            align-items: baseline;
        }
            .section .header .title {
                font-family: var(--font-2);
                font-size: 1.2em;
            }
        .section .fields {
            display: grid;
            gap: 0.75em;
            grid-auto-rows: max-content;
            overflow: hidden;
        }
        .section .split {
            display: grid;
            grid-auto-flow: column;
        }
        .section .field {
            display: grid;
        }
            .section .field .name {
                font-weight: bold;
            }
            .section .field img {
                max-width: 100%;
            }
            .section .field .value:has(.stack) {
                display: grid;
                gap: 0.15em;
                margin-top: 0.5em;
            }
                .section .field .value .stack {
                    display: grid;
                    grid-auto-flow: column;
                    grid-auto-columns: auto max-content;
                    font-size: 0.9em;
                }
                    .section .field .value .stack .name {
                        font-weight: normal;
                    }
                    .section .field .value .stack .value {
                        font-weight: 500;
                    }
                .section .field .value .status {
                    display: grid;
                    grid-auto-flow: column;
                    grid-auto-columns: max-content auto;
                    margin-top: 0.5em;
                    gap: 0.5ch;
                    font-size: 0.75em;
                    align-items: center;
                    line-height: 1;
                    min-height: 0.9rem;
                }
                .section .field .value .status.error {
                    color: #C84421;
                }
                     .section .field .value .status::before {
                        font-family: var(--font-icon);
                    }
                     .section .field .value .status.error::before {
                        content: "\fe60";
                    }

@media screen and (max-width: 600px) {
    .section .split {
        grid-auto-flow: row;
    }
    #Image_CardAvatar {
        margin-top: 20px;
    }   
    .notice {
        grid-template-areas: 
            "icon description" 
            "icon button";
    }
}

.paper_stripe {
    background: #E7DBC2;
    background-image: linear-gradient(transparent 1%, var(--primary-3) 1%, var(--primary-3) 50%, transparent 50%, transparent 52%);
    background-size: 100% 4em;
    margin: -3em auto;
    position: relative;
    padding: 20px 40px 20px calc(1em + 20px);
    color: black;
    filter: drop-shadow(2px 2px 20px rgba(0,0,0,0.75));
    z-index: 10;
}
    .paper_stripe::before {
        content: '';
        position: absolute;
        top: 0;
        width: 2em;
        height: 100%;
        background: radial-gradient(transparent 24%, #E7DBC2 24%) 0 0;
        background-size: 2em 2em;
        left: -2em;
        border-right: 1px dashed rgba(0, 0, 0, 0.1);
    }