.account-action-column { min-width: 0; }
#accountRechargeSection > div { min-width: 0; }
#redeemMsg:empty { display: none; }

.daily-checkin {
    --checkin-accent: #6550d5;
    --checkin-muted: #6b7188;
    --checkin-border: rgba(124, 108, 207, .2);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid var(--checkin-border);
    border-radius: 20px;
    background: var(--surface-secondary, #f8faff);
    color: var(--text-primary, #172033);
}
.daily-checkin[hidden] { display: none; }
.daily-checkin::before {
    content: '';
    position: absolute;
    inset: 0 20px auto;
    height: 2px;
    background: linear-gradient(90deg, #f2bb73, #ee8fc7, #a191ff, #6bd8d7);
    opacity: .55;
    pointer-events: none;
}
.daily-checkin[data-state="claimable"] {
    background: radial-gradient(ellipse at 100% 0, rgba(175, 149, 255, .14), transparent 65%),
        radial-gradient(ellipse at 0 100%, rgba(116, 214, 216, .1), transparent 65%),
        var(--surface-primary, #fff);
    box-shadow: 0 6px 22px rgba(115, 91, 196, .06);
}
.daily-checkin[data-state="claimable"]::after {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(112deg,
        transparent 15%,
        rgba(255, 255, 255, .04) 34%,
        rgba(185, 167, 255, .16) 50%,
        rgba(255, 255, 255, .04) 66%,
        transparent 85%);
    background-size: 220% 100%;
    background-position: 160% 0;
    opacity: 0;
    will-change: background-position, opacity;
    animation: daily-checkin-card-shimmer 5.5s ease-in-out infinite;
}
.daily-checkin-header, .daily-checkin-heading, .daily-checkin-main, .daily-checkin-reward {
    display: flex;
    align-items: center;
}
.daily-checkin-header, .daily-checkin-main, .daily-checkin-message, .daily-checkin-footer {
    position: relative;
    z-index: 1;
}
.daily-checkin-header { justify-content: space-between; gap: 8px; }
.daily-checkin-heading { gap: 9px; min-width: 0; }
.daily-checkin-heading h2 { margin: 0; font-size: .92rem; font-weight: 650; line-height: 1.4; }
.daily-checkin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    height: 34px;
    border-radius: 11px;
    color: var(--checkin-accent);
    background: linear-gradient(140deg, rgba(177, 158, 255, .19), rgba(239, 181, 219, .16));
}
.daily-checkin-state {
    flex-shrink: 0;
    font-size: .7rem;
    color: var(--checkin-muted);
    white-space: nowrap;
}
.daily-checkin[data-state="claimable"] .daily-checkin-state { color: var(--checkin-accent); }
.daily-checkin-main { justify-content: space-between; gap: 14px; margin-top: 20px; }
.daily-checkin-reward { gap: 11px; min-width: 0; }
.daily-checkin-reward strong {
    font-size: 2.65rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.06em;
    font-variant-numeric: tabular-nums;
    color: var(--checkin-accent);
}
.daily-checkin-reward span { font-size: .84rem; font-weight: 600; }
.daily-checkin-reward p { font-size: .72rem; color: var(--checkin-muted); margin-top: 5px; line-height: 1.5; }
.daily-checkin-button {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-size: .84rem;
    font-weight: 650;
    white-space: nowrap;
    color: #fff;
    background: linear-gradient(110deg, #7652db, #5965e6 60%, #4688db);
    box-shadow: 0 5px 13px rgba(98, 83, 215, .18);
    cursor: pointer;
    transition: transform .18s, box-shadow .18s;
}
.daily-checkin-button:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(98, 83, 215, .28); }
.daily-checkin-button:focus-visible { outline: 3px solid #a89afa; outline-offset: 3px; }
.daily-checkin[data-state="claimable"] .daily-checkin-button::after {
    content: '';
    position: absolute;
    inset: -50% auto -50% -60%;
    width: 35%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .3), transparent);
    transform: skewX(-20deg);
    animation: daily-checkin-shine 4.5s 1s 3;
    pointer-events: none;
}
.daily-checkin-button:disabled {
    color: var(--checkin-accent);
    background: rgba(128, 110, 197, .08);
    border-color: var(--checkin-border);
    box-shadow: none;
    cursor: default;
}
.daily-checkin[data-state="claiming"] .daily-checkin-button { cursor: progress; }
.daily-checkin[data-state="exhausted"] .daily-checkin-reward strong { color: var(--checkin-muted); }
.daily-checkin-message { margin: 12px 0 0; font-size: .78rem; line-height: 1.5; color: var(--checkin-accent); }
.daily-checkin-message:empty { display: none; }
.daily-checkin-message[data-kind="error"] { color: #c2414e; }
.daily-checkin-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid var(--checkin-border);
    font-size: .69rem;
    line-height: 1.6;
    color: var(--checkin-muted);
}
.daily-checkin-celebration { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.daily-checkin-confetti {
    position: absolute;
    left: var(--burst-x);
    top: var(--burst-y);
    width: 6px;
    height: 10px;
    border-radius: 2px;
    background: var(--piece-color);
    opacity: 0;
    will-change: transform, opacity;
    animation: daily-checkin-confetti 1.45s var(--piece-delay) cubic-bezier(.16, .84, .32, 1) both;
}
.daily-checkin-reward-pop {
    position: absolute;
    left: var(--burst-x);
    top: var(--burst-y);
    padding: 5px 9px;
    border-radius: 9px;
    font-size: .85rem;
    font-weight: 700;
    white-space: nowrap;
    color: var(--checkin-accent);
    background: var(--surface-primary, #fff);
    box-shadow: 0 3px 12px rgba(92, 67, 175, .12);
    will-change: transform, opacity;
    animation: daily-checkin-reward-pop 1.5s cubic-bezier(.2, .75, .25, 1) both;
}
@keyframes daily-checkin-shine {
    0%, 65% { left: -60%; }
    90%, 100% { left: 140%; }
}
@keyframes daily-checkin-card-shimmer {
    0%, 22% { background-position: 160% 0; opacity: 0; }
    35% { opacity: .9; }
    58% { background-position: -40% 0; opacity: .72; }
    76%, 100% { background-position: -80% 0; opacity: 0; }
}
@keyframes daily-checkin-confetti {
    0% { opacity: 0; transform: translate(-50%, 0) rotate(0) scale(.75); }
    12% { opacity: 1; transform: translate(-50%, -8px) rotate(20deg) scale(1); }
    55% { opacity: 1; transform: translate(var(--piece-x), var(--piece-peak)) rotate(var(--piece-spin)) scale(1); }
    78% { opacity: .75; transform: translate(var(--piece-end-x), var(--piece-y)) rotate(var(--piece-end-spin)) scale(.94); }
    100% { opacity: 0; transform: translate(var(--piece-end-x), var(--piece-y)) rotate(var(--piece-end-spin)) scale(.82); }
}
@keyframes daily-checkin-reward-pop {
    0% { opacity: 0; transform: translate(-50%, -12px) scale(.84); }
    18% { opacity: 1; transform: translate(-50%, -42px) scale(1.04); }
    35%, 72% { opacity: 1; transform: translate(-50%, -48px) scale(1); }
    100% { opacity: 0; transform: translate(-50%, -68px) scale(.98); }
}
html[data-ui-theme="dark"] .daily-checkin {
    --checkin-accent: #c1b4ff;
    --checkin-muted: #a3abc1;
    --checkin-border: rgba(170, 154, 225, .19);
}
html[data-ui-theme="dark"] .daily-checkin-message[data-kind="error"] { color: #ffa3a9; }
@media (max-width: 820px) {
    #accountRechargeSection { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
}
@media (max-width: 480px) {
    .daily-checkin { padding: 16px; border-radius: 16px; margin-top: 20px; }
    .daily-checkin-heading h2 { font-size: .84rem; }
    .daily-checkin-state { font-size: .65rem; }
    .daily-checkin-main { flex-wrap: wrap; gap: 16px; }
    .daily-checkin-button { width: 100%; min-height: 44px; }
    .daily-checkin-reward strong { font-size: 2.5rem; }
    .daily-checkin-footer { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    html:not([data-host-app="starcore-desktop"]) .daily-checkin-button { transition: none; }
    html:not([data-host-app="starcore-desktop"]) .daily-checkin-button:not(:disabled):hover { transform: none; }
    html:not([data-host-app="starcore-desktop"]) .daily-checkin[data-state="claimable"]::after,
    html:not([data-host-app="starcore-desktop"]) .daily-checkin-button::after,
    html:not([data-host-app="starcore-desktop"]) .daily-checkin-confetti,
    html:not([data-host-app="starcore-desktop"]) .daily-checkin-reward-pop {
        animation: none !important;
        display: none;
    }
}
