/* Japanese glam theme */
body {
    margin: 0;
    padding: 0;
    font-family: "Segoe UI", "Helvetica Neue", "Noto Sans JP", sans-serif;
    color: #1f1024;
    background: linear-gradient(160deg, rgba(18, 8, 25, 0.82), rgba(45, 12, 36, 0.75)), url("/static/img/bg-jp-glam.jpg") center/cover fixed no-repeat;
}

.container {
    position: relative;
    max-width: 900px;
    margin: 70px auto;
    padding: 44px;
    background: rgba(22, 12, 30, 0.8);
    border-radius: 20px;
    border: 1px solid rgba(255, 130, 196, 0.35);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

h1, h2, h3, h4, h5, h6 {
    color: #ffe6f5;
    letter-spacing: 0.4px;
}

h1 {
    font-size: 2.6em;
    margin-bottom: 0.3em;
    background: linear-gradient(120deg, #ff7ac8 0%, #ffb3f4 40%, #ffc06a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

p, li {
    color: #f4e6ff;
    line-height: 1.9;
}

a {
    color: #ff9cd6;
    text-decoration: none;
    position: relative;
}
a::after {
    content: "";
    position: absolute;
    left: 0; bottom: -3px;
    width: 100%; height: 2px;
    background: linear-gradient(90deg, #ff7ac8, #ffc06a);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease, opacity 0.2s ease;
    opacity: 0.7;
}
a:hover::after { transform: scaleX(1); opacity: 1; }

blockquote {
    margin: 1.8em 0;
    padding: 1.3em 1.6em;
    border-left: 4px solid #ff7ac8;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: inset 0 0 24px rgba(255, 122, 200, 0.18);
}

code {
    background: rgba(255, 255, 255, 0.08);
    padding: 0.3em 0.6em;
    border-radius: 8px;
    border: 1px solid rgba(255, 179, 244, 0.35);
    color: #ffe6f5;
}

pre code {
    display: block;
    padding: 1.3em;
    overflow-x: auto;
    background: rgba(14, 8, 20, 0.92);
    box-shadow: inset 0 0 28px rgba(0, 0, 0, 0.55);
}

img {
    max-width: 100%;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 179, 244, 0.35);
}

.floating-payment-guide {
    background: linear-gradient(135deg, #ff7ac8, #ffc06a);
    color: #1f0f22;
    border: 1px solid rgba(255, 179, 244, 0.5);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.55);
}

.payment-modal {
    background: rgba(18, 10, 26, 0.9);
    color: #fbe9ff;
    border: 1px solid rgba(255, 179, 244, 0.45);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.6);
}

.paywall-placeholder {
    background: linear-gradient(140deg, rgba(255, 255, 255, 0.07), rgba(255, 122, 200, 0.12));
    border: 1px dashed rgba(255, 156, 214, 0.7);
    color: #fbe9ff;
}

.btn-primary, .paywall-placeholder .btn-primary {
    background: linear-gradient(135deg, #ff7ac8 0%, #ffc06a 100%);
    color: #1f0f22;
    border: none;
    box-shadow: 0 12px 28px rgba(255, 122, 200, 0.35);
}

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