/* Anime dreamy pastel theme */
body {
    margin: 0;
    padding: 0;
    font-family: "Segoe UI", "Helvetica Neue", "PingFang SC", sans-serif;
    color: #2b1c3f;
    background: radial-gradient(circle at 20% 20%, rgba(255, 235, 245, 0.8), rgba(199, 224, 255, 0.55)), url("/static/img/bg-anime.jpg") center/cover fixed no-repeat;
}

.container {
    position: relative;
    max-width: 900px;
    margin: 60px auto;
    padding: 42px;
    background: rgba(255, 255, 255, 0.78);
    border-radius: 20px;
    border: 1px solid rgba(255, 180, 230, 0.5);
    box-shadow: 0 18px 40px rgba(104, 84, 122, 0.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

h1, h2, h3, h4, h5, h6 {
    color: #3a2558;
    letter-spacing: 0.35px;
    text-shadow: 0 8px 24px rgba(118, 84, 154, 0.25);
}

h1 {
    font-size: 2.5em;
    margin-bottom: 0.25em;
    background: linear-gradient(115deg, #ff9bd1 0%, #ffc8f0 30%, #a6b9ff 70%, #73e3ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

p, li {
    color: #43305d;
    line-height: 1.85;
}

a {
    color: #ff7ab8;
    text-decoration: none;
    border-bottom: 1px dashed rgba(255, 122, 184, 0.5);
    transition: all 0.2s ease;
}

a:hover {
    color: #7fd4ff;
    border-bottom-color: #7fd4ff;
    text-shadow: 0 0 12px rgba(127, 212, 255, 0.6);
}

blockquote {
    margin: 1.6em 0;
    padding: 1.2em 1.5em;
    border-left: 4px solid #ff9bd1;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 14px;
    box-shadow: inset 0 0 18px rgba(255, 155, 209, 0.2);
}

code {
    background: rgba(255, 255, 255, 0.9);
    padding: 0.28em 0.55em;
    border-radius: 8px;
    border: 1px solid rgba(166, 185, 255, 0.5);
    color: #3a2558;
}

pre code {
    display: block;
    padding: 1.2em;
    overflow-x: auto;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: inset 0 0 22px rgba(117, 101, 143, 0.15);
}

img {
    max-width: 100%;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(90, 73, 121, 0.28);
    border: 1px solid rgba(255, 180, 230, 0.5);
}

.floating-payment-guide {
    background: linear-gradient(135deg, #ff9bd1, #a6b9ff);
    color: #331f4b;
    border: 1px solid rgba(255, 180, 230, 0.7);
    box-shadow: 0 14px 30px rgba(94, 69, 129, 0.3);
}

.payment-modal {
    background: rgba(255, 255, 255, 0.9);
    color: #2b1c3f;
    border: 1px solid rgba(255, 180, 230, 0.6);
    box-shadow: 0 18px 38px rgba(90, 73, 121, 0.2);
}

.paywall-placeholder {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(166, 185, 255, 0.15));
    border: 1px dashed rgba(255, 155, 209, 0.6);
    color: #3a2558;
}

.btn-primary, .paywall-placeholder .btn-primary {
    background: linear-gradient(135deg, #ff9bd1 0%, #a6b9ff 100%);
    color: #311e49;
    border: none;
    box-shadow: 0 10px 22px rgba(166, 185, 255, 0.4);
}

@media (max-width: 900px) {
    .container {
        margin: 26px 12px;
        padding: 28px;
    }
}
