/* The hub and pointer stay still while only the prize ring rotates. */
#daily-modal .oz-wheel-wrap {
    width: min(320px, 100%);
    height: auto;
    aspect-ratio: 1;
    margin: 18px auto 20px;
    isolation: isolate;
    filter: blur(0);
    transition: filter .55s cubic-bezier(.22,.61,.36,1);
    /* A rotated square must not expand the modal's scrollable area. */
    overflow: clip;
    overflow-clip-margin: 24px;
}
#daily-modal .oz-wheel {
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 5px #131e2b, 0 12px 32px #0003;
    background: var(--daily-wheel-bg, #1b2939);
}
#daily-modal .oz-wheel::before {
    inset: 5px;
    background: repeating-conic-gradient(from 0deg, #111d2b 0deg .7deg, transparent .7deg 18deg);
}
#daily-modal .oz-wheel-marker {
    position: absolute;
    left: var(--gift-x);
    top: var(--gift-y);
    transform: translate(-50%, -50%);
    width: 8.5%;
    height: 8.5%;
    border-radius: 0;
    background: none;
    box-shadow: none;
    pointer-events: none;
}
#daily-modal .oz-wheel-marker img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 2px 3px #0005);
}
#daily-modal .oz-wheel-hub {
    position: absolute;
    inset: 29%;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #111d2b;
    box-shadow: 0 0 0 5px #152231;
}
#daily-modal .oz-wheel-pointer {
    top: -17px;
    left: 50%;
    border: 16px solid transparent;
    border-top: 0;
    border-bottom: 20px solid #f4cc64;
    filter: drop-shadow(0 2px 4px #0003);
}
#daily-modal .oz-wheel-hub::after {
    content: '';
    position: absolute;
    top: -3px;
    left: 19%;
    width: 62%;
    height: 17%;
    border-top: 5px solid #f4cc64;
    border-radius: 50%;
    pointer-events: none;
}
#daily-modal .oz-wheel-spin, #daily-modal .oz-wheel-again {
    font: inherit;
    font-size: 21px;
    line-height: 1.2;
    color: #fff;
    background: #5950e9;
    border: 1px solid #867eff;
    border-radius: 10px;
    padding: 9px 21px;
    cursor: pointer;
}
#daily-modal .oz-wheel-spin:hover, #daily-modal .oz-wheel-again:hover { background: #6b61f3; }
#daily-modal .oz-wheel-spin:focus-visible, #daily-modal .oz-wheel-again:focus-visible { outline: 2px solid #f4cc64; outline-offset: 4px; }
#daily-modal .oz-wheel-spin:disabled { cursor: wait; opacity: .7; }
#daily-modal .oz-wheel-preview { text-align: center; color: #aab9ca; margin: 0; font-size: 17px; }
#daily-modal .oz-wheel-cooldown { inset: 17%; background: #111d2bee; }
#daily-modal .oz-wheel-wrap.is-disabled .oz-wheel-hub { opacity: .45; }
#daily-modal #daily-modal-body { position: relative; }
#daily-modal .oz-reward-tab[hidden] { display: none !important; }
/* Keep touch/wheel scrolling available on short screens without visible bars. */
#daily-modal #daily-modal-body,
#daily-modal .oz-wheel-result { scrollbar-width: none; }
#daily-modal #daily-modal-body::-webkit-scrollbar,
#daily-modal .oz-wheel-result::-webkit-scrollbar { display: none; }
#daily-modal .oz-wheel-wrap.is-result {
    filter: blur(5px);
    pointer-events: none;
}
#daily-modal .oz-wheel-result {
    position: absolute;
    inset: 8px 2px 10px;
    z-index: 8;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 8px;
    text-align: center;
    text-shadow: 0 2px 5px #000;
    overflow: auto;
}
#daily-modal .oz-wheel-result-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 26px;
    line-height: 1.15;
}
#daily-modal .oz-wheel-result-title img { flex: 0 0 36px; object-fit: contain; }
#daily-modal .oz-wheel-result > * { flex-shrink: 0; }
#daily-modal .oz-wheel-result-card {
    box-sizing: border-box;
    width: min(360px, 100%);
    padding: 20px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(0,0,0,.82);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
    animation: daily-reward-reveal .55s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes daily-reward-reveal {
    from {
        opacity: 0;
        transform: translateY(8px) scale(.985);
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }
}
#daily-modal .oz-wheel-result-card .oz-daily-big { margin-top: 0; }
@media (max-width: 420px) {
    #daily-modal .oz-wheel-result-card { padding: 12px 10px; }
    #daily-modal .oz-wheel-result-card .oz-wheel-result-title { font-size: 24px; }
    #daily-modal .oz-wheel-result-card .oz-daily-reward { gap: 4px; margin-top: 8px; }
    #daily-modal .oz-wheel-result-card .oz-reward-line {
        grid-template-columns: 28px 64px minmax(0,1fr);
        gap: 8px;
        min-height: 30px;
    }
}
@media (prefers-reduced-motion: reduce) {
    #daily-modal .oz-wheel { transition-duration: .1s !important; }
    #daily-modal .oz-wheel-wrap { transition-duration: 0s; }
    #daily-modal .oz-wheel-result-card { animation: none; }
}
