.page-register-lottery {
    background:
        radial-gradient(circle at top left, rgba(89, 194, 236, 0.2), transparent 32%),
        radial-gradient(circle at top right, rgba(255, 187, 74, 0.2), transparent 28%),
        linear-gradient(180deg, #f7fbff 0%, #eef5ff 42%, #f5f8fd 100%);
    color: #1f3954;
}

.register-lottery-page {
    padding: 0px 0 88px;
}

.register-lottery-shell {
    width: min(1200px, calc(100vw - 32px));
    margin: 0 auto;
}

.lottery-hero .register-lottery-shell {
    width: 100%;
}

.lottery-hero__banner {
    width: 100%;
    overflow: hidden;
}

.lottery-hero__banner img {
    display: block;
    width: 100%;
    height: 400px;
}

.lottery-hero__panel,
.lottery-main,
.lottery-rule-grid {
    display: grid;
    gap: 24px;
}

.lottery-hero__panel {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
    align-items: stretch;
}

.lottery-hero__copy,
.lottery-card,
.lottery-summary-card {
    border: 1px solid rgba(41, 87, 130, 0.08);
    box-shadow: 0 22px 52px rgba(26, 58, 94, 0.1);
}

.lottery-hero__copy {
    position: relative;
    overflow: hidden;
    padding: 40px 42px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 85% 20%, rgba(255, 208, 107, 0.3), transparent 22%),
        linear-gradient(135deg, #ffffff 0%, #f5fbff 46%, #eef8ff 100%);
}

.lottery-hero__copy::after {
    content: "";
    position: absolute;
    right: -56px;
    bottom: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(80, 175, 216, 0.18), rgba(80, 175, 216, 0));
}

.lottery-hero__eyebrow,
.lottery-card__eyebrow,
.lottery-summary-card__eyebrow,
.lottery-result-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #398dda;
}

.lottery-hero__copy h1,
.lottery-card__head h2,
.lottery-section__head h2,
.lottery-card__head h3 {
    margin: 12px 0 0;
}

.lottery-hero__copy h1 {
    max-width: 10em;
    font-size: 44px;
    line-height: 1.16;
    font-weight: 800;
    color: #133255;
}

.lottery-hero__copy p,
.lottery-card__head p,
.lottery-summary-card p,
.lottery-result-card p,
.lottery-rule-card p,
.lottery-prize-card p,
.lottery-status__description {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #5f7896;
}

.lottery-hero__copy > p {
    max-width: 38em;
    margin-top: 18px;
}

.lottery-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.lottery-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 164px;
    height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.lottery-btn:hover {
    transform: translateY(-2px);
}

.lottery-btn--primary {
    color: #fff;
    background: linear-gradient(135deg, #44bce3 0%, #2b86d8 100%);
    box-shadow: 0 16px 32px rgba(43, 134, 216, 0.24);
}

.lottery-btn--ghost {
    color: #1f4d77;
    background: rgba(255, 255, 255, 0.7);
    box-shadow: inset 0 0 0 1px rgba(57, 141, 218, 0.18);
}

.lottery-hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.lottery-metric-card {
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 0 0 1px rgba(57, 141, 218, 0.08);
    backdrop-filter: blur(10px);
}

.lottery-metric-card strong {
    display: block;
    font-size: 30px;
    line-height: 1.1;
    color: #133255;
}

.lottery-metric-card span {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
    color: #5f7896;
}

.lottery-hero__summary {
    display: grid;
    gap: 18px;
}

.lottery-summary-card {
    padding: 28px 28px 30px;
    border-radius: 30px;
    background: linear-gradient(180deg, #fff 0%, #f9fcff 100%);
}

.lottery-summary-card--soft {
    background: linear-gradient(180deg, #fffdf7 0%, #fff8ea 100%);
}

.lottery-summary-card strong,
.lottery-result-card strong,
.lottery-card__head h2,
.lottery-card__head h3,
.lottery-section__head h2,
.lottery-rule-card strong,
.lottery-prize-card h3,
.lottery-history__item strong {
    color: #163553;
}

.lottery-summary-card strong,
.lottery-result-card strong {
    display: block;
    margin-top: 10px;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 800;
}

.lottery-summary-card p {
    margin-top: 12px;
}

.lottery-main {
    --wheel-stage-max-width: 600px;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    margin-top: 28px;
}

.lottery-card {
    padding: 28px;
    border-radius: 30px;
    border: 1px solid rgba(210, 226, 243, 0.7);
    background:
        radial-gradient(circle at top right, rgba(111, 181, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 250, 255, 0.96) 100%);
    backdrop-filter: blur(8px);
    box-shadow: 0 22px 52px rgba(114, 154, 203, 0.12);
}

.lottery-card--wheel {
    background:
        radial-gradient(circle at top right, rgba(255, 105, 56, 0.16), transparent 32%),
        linear-gradient(180deg, rgba(255, 252, 245, 0.98) 0%, rgba(255, 236, 204, 0.98) 100%);
}

.lottery-card--status {
    background:
        radial-gradient(circle at top right, rgba(111, 181, 255, 0.22), transparent 34%),
        linear-gradient(180deg, rgba(245, 251, 255, 0.98) 0%, rgba(227, 240, 255, 0.98) 100%);
}

.lottery-card--feed {
    background:
        radial-gradient(circle at top right, rgba(255, 118, 82, 0.24), transparent 34%),
        linear-gradient(180deg, rgba(255, 246, 241, 0.98) 0%, rgba(255, 222, 205, 0.98) 100%);
}

.lottery-card--history {
    background:
        radial-gradient(circle at top right, rgba(102, 208, 192, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(243, 255, 252, 0.98) 0%, rgba(220, 245, 238, 0.98) 100%);
}

.lottery-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.lottery-card__head--compact {
    margin-bottom: 16px;
}

.lottery-card__head h2 {
    font-size: 30px;
    line-height: 1.22;
    font-weight: 800;
}

.lottery-card__head h3 {
    font-size: 21px;
    line-height: 1.35;
    font-weight: 800;
}

.lottery-card__head p {
    max-width: 18em;
    text-align: right;
}

.lottery-wheel-stage {
    position: relative;
    width: min(100%, var(--wheel-stage-max-width));
    aspect-ratio: 1200 / 1920;
    margin: 26px auto 0;
    --wheel-size: 68%;
    --wheel-top: 28.2%;
}

.lottery-wheel-stage__poster {
    position: absolute;
    inset: 0;
    border-radius: 34px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
        url('/static/images/choujiang.png') center / cover no-repeat;
    box-shadow: 0 34px 70px rgba(231, 106, 34, 0.22);
}

.lottery-wheel-stage__poster::before,
.lottery-wheel-stage__poster::after {
    content: "";
    position: absolute;
}

.lottery-wheel-stage__poster::before {
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 250, 242, 0.04), rgba(255, 250, 242, 0));
}

.lottery-wheel-stage__poster::after {
    inset: 0;
    background:
        radial-gradient(circle at 50% 56%, rgba(255, 201, 108, 0.12), rgba(255, 201, 108, 0) 56%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
}

.lottery-wheel-stage__pointer {
    display: none;
}

.lottery-wheel-stage__shadow {
    position: absolute;
    top: 62.2%;
    left: 50%;
    z-index: 1;
    width: calc(var(--wheel-size) + 2%);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 150, 79, 0.52) 0 46%, rgba(255, 156, 50, 0) 72%);
    transform: translate(-50%, -50%);
    filter: blur(22px);
}

.lottery-wheel-stage__board {
    position: absolute;
    top: var(--wheel-top);
    left: 50%;
    z-index: 3;
    width: var(--wheel-size);
    aspect-ratio: 1 / 1;
    transform: translateX(-50%);
    isolation: isolate;
}

.lottery-wheel-stage__board::before,
.lottery-wheel-stage__board::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

.lottery-wheel-stage__board::before {
    inset: -7.5%;
    z-index: 0;
    background: radial-gradient(circle, rgba(255, 245, 211, 0) 52%, rgba(255, 232, 177, 0.94) 64%, rgba(255, 177, 66, 0.94) 75%, rgba(242, 38, 23, 0.98) 87%, rgba(194, 6, 0, 0.98) 93%, rgba(255, 79, 33, 0) 100%);
}

.lottery-wheel-stage__board::after {
    inset: -2.5%;
    z-index: 0;
    border: 2px solid rgba(255, 233, 174, 0.72);
    box-shadow: 0 0 28px rgba(255, 139, 41, 0.34);
}

.lottery-wheel {
    --segment-angle: calc(360deg / var(--segment-count));
    --segment-angle-half: calc(180deg / var(--segment-count));
    --segment-angle-double: calc(720deg / var(--segment-count));
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid #fff2de;
    background:
        repeating-conic-gradient(
            from calc(0deg - var(--segment-angle-half)),
            rgba(255, 117, 67, 0) 0 calc(var(--segment-angle) - 0.8deg),
            rgba(255, 117, 67, 0.96) calc(var(--segment-angle) - 0.8deg) var(--segment-angle)
        ),
        repeating-conic-gradient(
            from calc(0deg - var(--segment-angle-half)),
            #fffdf9 0 var(--segment-angle),
            #ffe3bf var(--segment-angle) var(--segment-angle-double)
        );
    box-shadow:
        inset 0 0 0 4px rgba(255, 102, 48, 0.96),
        inset 0 0 0 10px rgba(255, 244, 220, 0.92),
        0 0 0 9px rgba(255, 210, 128, 0.98),
        0 0 0 15px rgba(230, 23, 14, 0.98),
        0 0 22px rgba(255, 160, 72, 0.42),
        0 24px 48px rgba(225, 97, 26, 0.34);
    transition: transform 5.2s cubic-bezier(0.16, 0.9, 0.18, 1);
    transform: rotate(0deg);
}

.lottery-wheel::before,
.lottery-wheel::after {
    content: "";
    position: absolute;
    border-radius: 50%;
}

.lottery-wheel::before {
    inset: 2%;
    border: 2px solid rgba(255, 132, 78, 0.84);
}

.lottery-wheel::after {
    inset: 19.5%;
    box-shadow: none;
}

.lottery-wheel__segment {
    position: absolute;
    inset: 0;
    transform: rotate(calc((360deg / var(--segment-count)) * var(--segment-index)));
}

.lottery-wheel__segment-content {
    position: absolute;
    top: 10%;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 82px;
    text-align: center;
    transform: translateX(-50%);
}

.lottery-wheel__segment-text {
    display: block;
    font-size: 14px;
    line-height: 1.15;
    font-weight: 900;
    color: #ea3d1e;
    letter-spacing: 0.02em;
    word-break: break-all;
    text-shadow: 0 1px 0 rgba(255, 251, 237, 0.92);
}

.lottery-wheel__segment-icon {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0 6px 12px rgba(228, 106, 25, 0.16));
}

.lottery-wheel__segment-icon::before,
.lottery-wheel__segment-icon::after {
    content: none;
}

.lottery-wheel__segment[data-prize-id="folding_umbrella"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/folding-umbrella.svg");
}

.lottery-wheel__segment[data-prize-id="insulated_tumbler"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/insulated-tumbler.svg");
}

.lottery-wheel__segment[data-prize-id="luckin_coffee"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/luckin-coffee.svg");
}

.lottery-wheel__segment[data-prize-id="bilibili_monthly"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/bilibili-monthly.svg");
}

.lottery-wheel__segment[data-prize-id="coupon_200"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/coupon-200.svg");
}

.lottery-wheel__segment[data-prize-id="coupon_100"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/coupon-100.svg");
}

.lottery-wheel__segment[data-prize-id="tem_free_ticket"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/tem-free-ticket.svg");
}

.lottery-wheel__segment[data-prize-id="xps_free_ticket"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/xps-free-ticket.svg");
}

.lottery-wheel__segment[data-prize-id="first_order_discount"] .lottery-wheel__segment-icon {
    background-image: url("/static/images/register-lottery/prizes/first-order-discount.svg");
}

.lottery-wheel__button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18%;
    min-width: 82px;
    max-width: 92px;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 4px solid rgba(255, 239, 188, 0.98);
    border-radius: 50%;
    box-sizing: border-box;
    color: #fffdf3;
    background: radial-gradient(circle at 34% 28%, #ffb55f 0%, #ff7a2f 36%, #ee4d1d 72%, #c71f0d 100%);
    box-shadow:
        0 0 0 4px rgba(255, 193, 86, 0.98),
        0 0 0 8px rgba(246, 88, 36, 0.92),
        0 10px 18px rgba(212, 81, 12, 0.22),
        inset 0 2px 0 rgba(255, 225, 170, 0.48),
        inset 0 -8px 16px rgba(177, 31, 10, 0.3);
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    isolation: isolate;
    overflow: visible;
}

.lottery-wheel__button::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    z-index: -1;
    width: 18px;
    height: 24px;
    background: linear-gradient(180deg, #ffb29a 0%, #ff7445 42%, #e33a1b 76%, #bf1a0c 100%);
    clip-path: polygon(50% 0, 10% 100%, 90% 100%);
    transform: translateX(-50%);
    box-shadow: 0 0 0 2px rgba(255, 207, 186, 0.34);
    filter: drop-shadow(0 2px 4px rgba(201, 31, 14, 0.16));
}

.lottery-wheel__button::after {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 1;
    border-radius: 50%;
    background: radial-gradient(circle at 34% 28%, rgba(255, 198, 118, 0.28) 0%, rgba(255, 132, 58, 0.16) 36%, rgba(255, 255, 255, 0) 72%);
    box-shadow: inset 0 0 0 2px rgba(255, 214, 139, 0.18);
}

.lottery-wheel__button:hover {
    transform: translate(-50%, -52%) scale(1.02);
}

.lottery-wheel__button.is-disabled {
    cursor: default;
    opacity: 0.74;
}

.lottery-wheel__button.is-spinning {
    box-shadow:
        0 0 0 4px rgba(255, 193, 86, 0.98),
        0 0 0 8px rgba(246, 88, 36, 0.94),
        0 14px 26px rgba(212, 81, 12, 0.28),
        inset 0 2px 0 rgba(255, 225, 170, 0.52),
        inset 0 -8px 16px rgba(177, 31, 10, 0.34);
}

.lottery-wheel__button span {
    position: relative;
    z-index: 2;
    max-width: 3em;
    font-size: 16px;
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-align: center;
    word-break: break-all;
    text-shadow:
        0 2px 0 rgba(133, 37, 0, 0.34),
        0 0 10px rgba(255, 244, 220, 0.18);
}

.lottery-wheel__button small {
    display: none;
}

.lottery-wheel-stage__rules {
    position: absolute;
    left: 7.5%;
    right: 7.5%;
    bottom: 0.5%;
    z-index: 2;
    padding: 14px 16px 13px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 252, 244, 0.88) 0%, rgba(255, 246, 220, 0.78) 100%);
    box-shadow:
        0 10px 22px rgba(236, 136, 45, 0.12),
        inset 0 0 0 1px rgba(247, 149, 63, 0.2);
    backdrop-filter: blur(4px);
}

.lottery-wheel-stage__rules-title {
    display: block;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: #df4b1d;
}

.lottery-wheel-stage__rules-item {
    margin: 7px 0 0;
    font-size: 11px;
    line-height: 1.55;
    color: #8d4d23;
}

.lottery-wheel-stage__rules-item strong {
    color: #db4b1e;
    font-weight: 900;
}

.lottery-wheel__note {
    margin: 18px auto 0;
    max-width: 34em;
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
    color: #5f7896;
}

.lottery-sidebar {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 18px;
    height: calc((var(--wheel-stage-max-width) * 1.6) + 56px);
}

.lottery-card--feed {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lottery-feed-marquee {
    flex: 1;
    min-height: 0;
}

.lottery-status__description {
    margin-top: 8px;
}

.lottery-status__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.lottery-status__pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    color: #43698c;
    background: linear-gradient(135deg, rgba(245, 251, 255, 0.95) 0%, rgba(215, 233, 255, 0.92) 100%);
    box-shadow: inset 0 0 0 1px rgba(110, 170, 236, 0.18);
}

.lottery-status__pills strong {
    font-size: 18px;
    color: #1d5fa3;
}

.lottery-result-card {
    margin-top: 20px;
    padding: 20px 22px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(130, 187, 255, 0.18), transparent 32%),
        linear-gradient(180deg, rgba(250, 253, 255, 0.98) 0%, rgba(230, 241, 255, 0.96) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(110, 170, 236, 0.16),
        0 10px 24px rgba(88, 148, 214, 0.08);
}

.lottery-result-card p {
    margin-top: 10px;
}

.lottery-result-card small,
.lottery-feed__time,
.lottery-history__item small,
.lottery-prize-card small {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: #7f92a7;
}

.lottery-feed,
.lottery-history {
    display: grid;
    gap: 12px;
}

.lottery-feed-marquee {
    position: relative;
    overflow: hidden;
    max-height: 324px;
}

.lottery-feed-marquee::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 42px;
    background: linear-gradient(180deg, rgba(255, 239, 231, 0), rgba(255, 222, 205, 0.96));
    pointer-events: none;
}

.lottery-feed {
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform 0.45s ease;
}

.lottery-feed__item,
.lottery-history__item,
.lottery-rule-card,
.lottery-prize-card {
    padding: 14px 18px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(255, 177, 124, 0.16), transparent 34%),
        linear-gradient(180deg, rgba(255, 250, 246, 0.98) 0%, rgba(255, 234, 223, 0.95) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(240, 151, 111, 0.12),
        0 8px 18px rgba(222, 133, 96, 0.06);
}

.lottery-feed__item {
    min-height: 78px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lottery-feed__item:nth-child(3n + 1) {
    background:
        radial-gradient(circle at top right, rgba(255, 120, 104, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(255, 246, 243, 0.98) 0%, rgba(255, 223, 217, 0.95) 100%);
}

.lottery-feed__item:nth-child(3n + 2) {
    background:
        radial-gradient(circle at top right, rgba(255, 169, 88, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(255, 248, 239, 0.98) 0%, rgba(255, 230, 202, 0.95) 100%);
}

.lottery-feed__item:nth-child(3n) {
    background:
        radial-gradient(circle at top right, rgba(114, 197, 186, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(245, 255, 252, 0.98) 0%, rgba(221, 244, 238, 0.95) 100%);
}

.lottery-history__item {
    background:
        radial-gradient(circle at top right, rgba(100, 200, 182, 0.2), transparent 34%),
        linear-gradient(180deg, rgba(245, 255, 252, 0.98) 0%, rgba(223, 245, 238, 0.95) 100%);
}

.lottery-feed__item--empty,
.lottery-history__empty {
    padding: 18px;
    border-radius: 22px;
    font-size: 14px;
    line-height: 1.7;
    color: #7f92a7;
    background:
        radial-gradient(circle at top right, rgba(140, 203, 255, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(248, 252, 255, 0.98) 0%, rgba(234, 244, 255, 0.95) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(110, 170, 236, 0.12),
        0 8px 18px rgba(88, 148, 214, 0.06);
}

.lottery-feed__user,
.lottery-feed__prize {
    display: block;
}

.lottery-feed__user {
    font-size: 13px;
    line-height: 1.4;
    color: #7f92a7;
}

.lottery-feed__prize {
    margin-top: 6px;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 800;
    color: #17324d;
}

.lottery-feed__time {
    margin-top: 8px;
}

.lottery-history__item p {
    margin: 6px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: #5f7896;
}

.lottery-prize-section,
.lottery-rule-section {
    margin-top: 28px;
}

.lottery-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.lottery-section__head h2 {
    font-size: 30px;
    line-height: 1.24;
    font-weight: 800;
}

.lottery-section__head p {
    max-width: 26em;
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #5f7896;
    text-align: right;
}

.lottery-prize-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.lottery-prize-card {
    min-height: 182px;
    background:
        radial-gradient(circle at top right, rgba(83, 183, 227, 0.18), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.lottery-prize-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: #2b86d8;
    background: rgba(43, 134, 216, 0.1);
}

.lottery-prize-card h3 {
    margin: 16px 0 0;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 800;
}

.lottery-prize-card p {
    margin-top: 10px;
}

.lottery-rule-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lottery-rule-card strong {
    display: block;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 800;
}

.lottery-rule-card p {
    margin-top: 10px;
}

.lottery-dialog {
    padding: 20px 8px 6px;
    text-align: center;
}

.lottery-dialog__title {
    display: block;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
    color: #17324d;
}

.lottery-dialog__subtitle,
.lottery-dialog__detail {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.8;
    color: #5f7896;
}

@media only screen and (max-width: 1100px) {
    .lottery-hero__panel,
    .lottery-main,
    .lottery-rule-grid {
        grid-template-columns: 1fr;
    }

    .lottery-prize-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lottery-section__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .lottery-section__head p,
    .lottery-card__head p {
        max-width: none;
        text-align: left;
    }

    .lottery-sidebar {
        grid-template-rows: none;
        height: auto;
    }
}

@media only screen and (max-width: 760px) {
    .register-lottery-page {
        padding: 18px 0 58px;
    }

    .register-lottery-shell {
        width: calc(100vw - 24px);
    }

    .lottery-hero .register-lottery-shell {
        width: 100%;
    }

    .lottery-hero__banner {
        border-radius: 0;
    }

    .lottery-hero__copy,
    .lottery-card,
    .lottery-summary-card {
        padding: 22px 18px;
        border-radius: 24px;
    }

    .lottery-hero__copy h1 {
        font-size: 32px;
    }

    .lottery-card__head h2,
    .lottery-section__head h2 {
        font-size: 24px;
    }

    .lottery-card__head h3,
    .lottery-summary-card strong,
    .lottery-result-card strong {
        font-size: 20px;
    }

    .lottery-hero__metrics,
    .lottery-prize-grid,
    .lottery-rule-grid {
        grid-template-columns: 1fr;
    }

    .lottery-wheel-stage {
        width: min(100%, 360px);
    }

    .lottery-wheel-stage__rules {
        left: 7%;
        right: 7%;
        bottom: 5.4%;
        padding: 11px 12px 10px;
        border-radius: 16px;
    }

    .lottery-wheel-stage__rules-title {
        font-size: 12px;
        letter-spacing: 0.06em;
    }

    .lottery-wheel-stage__rules-item {
        margin-top: 5px;
        font-size: 9.8px;
        line-height: 1.45;
    }

    .lottery-wheel__segment-content {
        top: 10.5%;
        gap: 8px;
        width: 64px;
    }

    .lottery-wheel__segment-text {
        font-size: 12px;
    }

    .lottery-wheel__button {
        min-width: 72px;
        max-width: 80px;
    }

    .lottery-wheel__button span {
        font-size: 13px;
    }

    .lottery-wheel__segment-icon {
        width: 30px;
        height: 30px;
    }

    .lottery-btn {
        width: 100%;
    }
}
