.entry-notice[hidden] {
    display: none !important;
}

.entry-notice {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 22000;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: max(22px, env(safe-area-inset-top)) 20px max(22px, env(safe-area-inset-bottom));
    background: rgba(20, 22, 30, .66);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

html.entry-notice-open,
html.entry-notice-open body {
    overflow: hidden !important;
}

html.entry-notice-open .entry-notice {
    display: flex;
}

.entry-notice__dialog {
    --entry-accent: #7a63d2;
    --entry-soft: #f2efff;
    --entry-panel: #7a63d2;
    --entry-panel-text: #fff;
    --entry-button: #7a63d2;
    --entry-dialog-radius: 22px;
    --entry-panel-radius: 14px;
    --entry-button-radius: 12px;
    --entry-panel-border: 0 solid transparent;
    --entry-title-font: inherit;
    position: relative;
    box-sizing: border-box;
    width: min(88vw, 420px);
    max-height: min(72vh, 610px);
    padding: 25px 22px 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: var(--entry-dialog-radius);
    background: #fff;
    box-shadow: 0 22px 60px rgba(20, 22, 30, .26);
    color: #262433;
}

.entry-notice__title {
    position: relative;
    z-index: 1;
    margin: 0 28px 18px;
    color: var(--entry-accent);
    font-family: var(--entry-title-font);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
    text-align: center;
}

.entry-notice__content {
    box-sizing: border-box;
    max-height: min(44vh, 390px);
    padding: 18px 17px;
    overflow-x: hidden;
    overflow-y: auto;
    border: var(--entry-panel-border);
    border-radius: var(--entry-panel-radius);
    background: var(--entry-panel);
    color: var(--entry-panel-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0;
    text-align: left;
    white-space: pre-line;
    word-break: break-word;
    -webkit-overflow-scrolling: touch;
}

.entry-notice__confirm {
    display: block;
    width: 100%;
    min-height: 48px;
    margin: 17px 0 0;
    padding: 10px 16px;
    border: 0;
    border-radius: var(--entry-button-radius);
    background: var(--entry-button);
    box-shadow: 0 7px 18px color-mix(in srgb, var(--entry-button) 28%, transparent);
    color: #fff;
    font: inherit;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.35;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.entry-notice__confirm:active {
    transform: translateY(1px);
}

.entry-notice__confirm:focus-visible {
    outline: 3px solid var(--entry-soft);
    outline-offset: 3px;
}

.entry-notice__spark {
    position: absolute;
    top: 28px;
    width: 10px;
    height: 10px;
    background: var(--entry-accent);
    opacity: .72;
    transform: rotate(45deg);
}

.entry-notice__spark::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--entry-accent);
    transform: translate(15px, -12px);
}

.entry-notice__spark--left { left: 28px; }
.entry-notice__spark--right { right: 28px; transform: rotate(45deg) scale(.8); }

html[data-frontend-theme="classic"] .entry-notice__dialog {
    --entry-accent: #7657c8;
    --entry-soft: #eee9ff;
    --entry-panel: #7766c9;
    --entry-panel-text: #fff;
    --entry-button: #7657c8;
    border-color: #e5ddff;
}

html[data-frontend-theme="mint"] .entry-notice__dialog {
    --entry-accent: #087f83;
    --entry-soft: #dff5f1;
    --entry-panel: #dff4f0;
    --entry-panel-text: #285f61;
    --entry-button: #087f83;
    --entry-dialog-radius: 28px;
    --entry-panel-radius: 22px;
    --entry-button-radius: 24px;
    --entry-panel-border: 1px solid #bfe2da;
    border-color: #c9ebe5;
}

html[data-frontend-theme="aurora"] .entry-notice__dialog {
    --entry-accent: #6d5bc4;
    --entry-soft: #ece8ff;
    --entry-panel: #ece8ff;
    --entry-panel-text: #51477f;
    --entry-button: #6d5bc4;
    --entry-dialog-radius: 16px;
    --entry-panel-radius: 8px 8px 24px 8px;
    --entry-button-radius: 10px;
    --entry-panel-border: 1px solid #d9d2fb;
    border-color: #ddd5ff;
    box-shadow: 0 22px 60px rgba(74, 61, 137, .28), inset 0 4px 0 #e5edfc;
}

html[data-frontend-theme="sakura"] .entry-notice__dialog {
    --entry-accent: #c05279;
    --entry-soft: #ffe4ed;
    --entry-panel: #ffe8ef;
    --entry-panel-text: #7d3f56;
    --entry-button: #c05279;
    --entry-dialog-radius: 8px 8px 24px 24px;
    --entry-panel-radius: 8px 8px 18px 18px;
    --entry-button-radius: 20px;
    --entry-panel-border: 3px double #efc8d7;
    --entry-title-font: "Songti SC", "SimSun", serif;
    border-color: #ffd5e2;
}

html[data-frontend-theme="midnight"] .entry-notice__dialog {
    --entry-accent: #d6c9ff;
    --entry-soft: #302a55;
    --entry-panel: #25284a;
    --entry-panel-text: #f4f1ff;
    --entry-button: #7b66c7;
    --entry-dialog-radius: 14px;
    --entry-panel-radius: 10px;
    --entry-button-radius: 10px;
    --entry-panel-border: 1px solid #414b73;
    --entry-title-font: "Songti SC", "SimSun", serif;
    border-color: #4b4673;
    background: #171a31;
    color: #f4f1ff;
    box-shadow: 0 24px 70px rgba(2, 4, 16, .58);
}

html[data-frontend-theme="strawberry"] .entry-notice__dialog {
    --entry-accent: #bd476a;
    --entry-soft: #ffe0e9;
    --entry-panel: #ffe5ec;
    --entry-panel-text: #784052;
    --entry-button: #bd476a;
    --entry-dialog-radius: 14px;
    --entry-panel-radius: 10px;
    --entry-button-radius: 18px;
    --entry-panel-border: 2px solid #edbbc5;
    border-color: #ffcddd;
    box-shadow: 5px 6px 0 #edbbc5, 0 22px 60px rgba(74, 38, 49, .2);
}

@media (max-width: 359px) {
    .entry-notice { padding-inline: 14px; }
    .entry-notice__dialog { width: 100%; padding: 22px 16px 16px; }
    .entry-notice__title { margin-bottom: 14px; font-size: 21px; }
    .entry-notice__content { padding: 15px 14px; font-size: 14px; }
}

@media (prefers-reduced-motion: no-preference) {
    html.entry-notice-open .entry-notice__dialog {
        animation: entry-notice-arrive .22s ease-out both;
    }
    @keyframes entry-notice-arrive {
        from { opacity: 0; transform: translateY(10px) scale(.98); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }
}

@supports not (color: color-mix(in srgb, #000 10%, transparent)) {
    .entry-notice__confirm { box-shadow: 0 7px 18px rgba(56, 46, 94, .22); }
}
