:root {
    --ticket-moongu-blue: #315f9f;
    --ticket-moongu-ink: #26384b;
    --ticket-moongu-line: #e2ded5;
    --ticket-moongu-paper: #fffaf1;
    --comicwblue-color: #315f9f;
    --comicw-on-primary: #fff;
    --comicw-on-ticket-top: #fff;
}

body.ticket-check-page.moongu-theme {
    --ticket-theme-color: var(--ticket-moongu-paper);
    --ticket-theme-button: var(--ticket-moongu-blue);
    --ticket-theme-button-hover: #244e87;
    --ticket-theme-on-color: #fff;
    background: var(--ticket-moongu-paper);
    color: var(--ticket-moongu-ink);
}

body.ticket-check-page.moongu-theme .ticket-check-page-wrapper {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 140px);
    margin: 0;
    padding: 38px 20px 90px !important;
    background: var(--ticket-moongu-paper) !important;
}

body.ticket-check-page.moongu-theme .ticket-check-container {
    width: min(100%, 560px);
    margin: 0 auto 18px;
    padding: 28px 30px 26px;
    border: 1px solid var(--ticket-moongu-line);
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(44, 57, 69, .07);
}

body.ticket-check-page.moongu-theme .ticket-check-container .ticket-check-title {
    margin: 0;
    color: var(--ticket-moongu-ink);
    font-size: 27px;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: -.04em;
}

body.ticket-check-page.moongu-theme .ticket-check-title-line {
    width: 38px;
    height: 2px;
    margin: 16px auto 18px;
    background: var(--ticket-moongu-blue);
}

body.ticket-check-page.moongu-theme .ticket-check-caution {
    max-width: 440px;
    margin: 0 auto 20px;
    color: #5b6571;
    font-size: 13px;
    line-height: 1.55;
    word-break: keep-all;
}

body.ticket-check-page.moongu-theme .ticket-check-input-box { padding: 0; }
body.ticket-check-page.moongu-theme .ticket-check-input {
    height: 50px;
    margin-bottom: 10px;
    padding: 0 14px;
    border: 1px solid #cbd4de;
    border-radius: 8px;
    background: #fff;
    color: var(--ticket-moongu-ink);
    font-size: 15px;
}
body.ticket-check-page.moongu-theme .ticket-check-input:focus {
    border-color: var(--ticket-moongu-blue);
    outline: 2px solid rgba(49, 95, 159, .18);
    outline-offset: 0;
}
body.ticket-check-page.moongu-theme .ticket-check-btn-submit {
    min-height: 52px;
    margin: 8px 0 16px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 16px;
}
body.ticket-check-page.moongu-theme .ticket-check-btn-submit:focus-visible,
body.ticket-check-page.moongu-theme .ticket-account-links button:focus-visible {
    outline: 2px solid var(--ticket-moongu-blue);
    outline-offset: 2px;
}
body.ticket-check-page.moongu-theme .ticket-check-container form + .ticket-check-caution {
    margin-bottom: 18px;
    color: #69737d;
    font-size: 12px;
}
body.ticket-check-page.moongu-theme .ticket-account-links { gap: 8px; }
body.ticket-check-page.moongu-theme .ticket-account-links button {
    min-height: 44px;
    padding: 9px 7px;
    border: 1px solid #d8e3f0;
    border-radius: 8px;
    background: #edf4fc;
    color: #31547f;
    font-size: 14px;
}
body.ticket-check-page.moongu-theme .ticket-account-links button:hover { background: #e0ecfa; }
body.ticket-check-page.moongu-theme .ticket-account-panel {
    background: #f8fbff;
    border-color: #d8e3f0;
}
body.ticket-check-page.moongu-theme .ticket-account-form button { background: var(--ticket-moongu-blue); }
body.ticket-check-page.moongu-theme .ticket-check-notice-wrap {
    width: min(100%, 560px);
    margin: 10px auto 0;
    border: 1px solid var(--ticket-moongu-line);
    box-shadow: none;
}
body.ticket-check-page.moongu-theme .ticket-check-notice-right p:first-child { color: var(--ticket-moongu-blue); }

body {
    background: var(--ticket-moongu-paper);
    color: var(--ticket-moongu-ink);
}
.at-container {
    width: min(100%, 760px);
    margin: 0 auto 14px;
    padding: 22px;
    border: 1px solid var(--ticket-moongu-line);
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(44, 57, 69, .06);
}
#title-div h2 { color: var(--ticket-moongu-ink); font-size: 25px; font-weight: 700; }
#title-div .title-line { background: var(--ticket-moongu-blue); }
#span-line::before, #span-line::after { background: #f5efe4; }
.btn_ok { background: var(--ticket-moongu-blue); color: #fff; }
.ticket-top { background: var(--ticket-moongu-blue) !important; }

@media (max-width: 1023px) {
    body.ticket-check-page.moongu-theme .ticket-check-page-wrapper { padding-top: 128px !important; }
}
@media (max-width: 600px) {
    body.ticket-check-page.moongu-theme .ticket-check-page-wrapper { padding: 120px 14px 90px !important; }
    body.ticket-check-page.moongu-theme .ticket-check-container { padding: 23px 18px 20px; }
    body.ticket-check-page.moongu-theme .ticket-check-container .ticket-check-title { font-size: 23px; }
    .at-container { padding: 16px; }
}
