@charset "UTF-8";

@font-face {
    font-family: "Samsung One";
    src: url("/fonts/SamsungOne-400.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Samsung One";
    src: url("/fonts/SamsungOne-700.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Samsung Sharp Sans";
    src: url("/fonts/SamsungSharpSans-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    color-scheme: dark;
    --forest: #111214;
    --forest-deep: #050506;
    --lime: #ffe500;
    --paper: #0b0c0e;
    --white: #18191b;
    --ink: #f3f2ed;
    --muted: #a4a29a;
    --line: #3c3d40;
    --error: #ff887a;
    --error-bg: #351e1c;
}

* {
    box-sizing: border-box;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 32px;
    background-color: var(--paper);
    background-image: radial-gradient(#b7c4b8 0.7px, transparent 0.7px);
    background-size: 18px 18px;
    color: var(--ink);
    font-family: "Samsung One", "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

.login-shell {
    display: grid;
    grid-template-columns: minmax(280px, 0.88fr) minmax(360px, 1fr);
    width: min(920px, 100%);
    min-height: 560px;
    overflow: hidden;
    background: var(--white);
    border: 1px solid #e0e5de;
    box-shadow: 0 24px 70px rgb(28 53 42 / 12%);
}

.identity-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 34px;
    background-color: var(--forest);
    background-image: repeating-linear-gradient(135deg, transparent 0 38px, rgb(255 255 255 / 3%) 38px 39px);
    color: var(--white);
}

.identity-panel::after {
    position: absolute;
    right: -78px;
    bottom: 58px;
    width: 250px;
    height: 250px;
    border: 1px solid rgb(200 223 103 / 32%);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.wordmark {
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-decoration: none;
}

.wordmark b {
    color: var(--lime);
}

.wordmark-symbol {
    display: grid;
    width: 34px;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid var(--lime);
    color: var(--lime);
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;
}

.identity-copy {
    z-index: 1;
    margin: auto 0;
    padding: 72px 0 40px;
}

.eyebrow {
    margin: 0 0 14px;
    color: #70847a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.identity-panel .eyebrow {
    color: var(--lime);
}

.identity-copy h1 {
    margin: 0;
    font-family: "Samsung Sharp Sans", "Samsung One", sans-serif;
    font-size: 54px;
    font-weight: 400;
    line-height: 1.04;
}

.identity-note {
    margin: 22px 0 0;
    color: #d1ded6;
    font-size: 14px;
}

.identity-index {
    z-index: 1;
    color: rgb(255 255 255 / 36%);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
}

.form-panel {
    align-self: center;
    width: 100%;
    max-width: 430px;
    justify-self: center;
    padding: 54px 52px 42px;
}

.form-heading h2 {
    margin: 0;
    font-family: "Samsung Sharp Sans", "Samsung One", sans-serif;
    font-size: 34px;
    font-weight: 400;
}

.form-description {
    margin: 10px 0 30px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

.login-form {
    display: grid;
    gap: 10px;
}

.login-form label {
    margin-top: 8px;
    color: #33433a;
    font-size: 13px;
    font-weight: 700;
}

.login-form input {
    width: 100%;
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 2px;
    outline: none;
    background: #fcfdfb;
    color: var(--ink);
    font: inherit;
    font-size: 14px;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

.login-form input::placeholder {
    color: #9aa59d;
}

.login-form input:focus {
    border-color: var(--forest);
    box-shadow: 0 0 0 3px rgb(25 61 50 / 12%);
}

.captcha-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
}

.captcha-image {
    display: block;
    width: 112px;
    height: 46px;
    border: 1px solid var(--line);
    background: var(--paper);
    object-fit: contain;
}

.login-form button {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    padding: 0 16px;
    border: 0;
    border-radius: 2px;
    background: var(--forest);
    color: var(--white);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    transition: background-color 140ms ease, transform 140ms ease;
}

.login-form button:hover {
    transform: translateY(-1px);
    background: var(--forest-deep);
}

.login-form button:focus-visible {
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

.login-form button span {
    color: var(--lime);
    font-size: 20px;
}

.form-alert {
    margin: 0 0 18px;
    padding: 11px 12px;
    border-left: 3px solid var(--error);
    background: var(--error-bg);
    color: var(--error);
    font-size: 13px;
    line-height: 1.45;
}

.wordmark {
    gap: 10px;
    letter-spacing: 0;
}

.wordmark-logo {
    display: block;
    width: 150px;
    height: 42px;
    flex: 0 0 auto;
    object-fit: contain;
}

.wordmark-context {
    padding-left: 10px;
    border-left: 1px solid #696012;
    color: var(--lime);
    font-size: 10px;
    font-weight: 700;
}

.form-footnote {
    margin: 24px 0 0;
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 720px) {
    body {
        padding: 16px;
    }

    .login-shell {
        grid-template-columns: 1fr;
        min-height: 0;
        max-width: 480px;
    }

    .identity-panel {
        min-height: 185px;
        padding: 23px 24px;
    }

    .wordmark-logo {
        width: 132px;
        height: 37px;
    }

    .identity-copy {
        margin: 24px 0 0;
        padding: 0;
    }

    .identity-copy h1 {
        font-size: 36px;
    }

    .identity-note,
    .identity-index {
        display: none;
    }

    .identity-panel::after {
        right: -110px;
        bottom: -150px;
    }

    .form-panel {
        max-width: none;
        padding: 32px 24px 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

body {
    background-color: var(--paper);
    background-image: radial-gradient(#292a2d 0.7px, transparent 0.7px);
}

.login-shell {
    border-color: #303134;
    background: #17181a;
    box-shadow: 0 24px 70px rgb(0 0 0 / 48%);
}

.identity-panel {
    border-top: 4px solid var(--lime);
    background-color: #090a0b;
    background-image: repeating-linear-gradient(135deg, transparent 0 38px, rgb(255 229 0 / 3%) 38px 39px);
}

.identity-panel::after {
    border-color: rgb(255 229 0 / 27%);
}

.wordmark-symbol {
    background: var(--lime);
    color: #111111;
}

.wordmark b,
.identity-panel .eyebrow {
    color: var(--lime);
}

.identity-copy h1,
.form-heading h2 {
    color: var(--ink);
}

.identity-note,
.form-description,
.form-footnote {
    color: #b1b0a9;
}

.form-panel {
    background: #17181a;
}

.form-heading .eyebrow {
    color: #d6c100;
}

.login-form label {
    color: #e6e4dc;
}

.login-form input {
    border-color: #444548;
    background: #222326;
    color: #f7f6f0;
    color-scheme: dark;
}

.login-form input::placeholder {
    color: #8d8c86;
}

.login-form input:focus {
    border-color: var(--lime);
    box-shadow: 0 0 0 3px rgb(255 229 0 / 16%);
}

.captcha-image {
    border-color: #4a4b4e;
    background: #e7e5dc;
}

.login-form button {
    background: var(--lime);
    color: #111111;
}

.login-form button:hover {
    background: #fff04a;
    color: #111111;
}

.login-form button span {
    color: #111111;
}

.login-form button:focus-visible {
    outline-color: #fff04a;
}

.form-alert {
    border-left-color: #ff7968;
    background: var(--error-bg);
    color: #ffd1ca;
}