.red-packet-entry { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin:0 0 20px; padding:20px 24px; border:1px solid #e9b261; border-radius:18px; background:linear-gradient(115deg,#861326,#b72032); color:#ffedc9; text-align:start; cursor:pointer; font:inherit; }
.red-packet-entry strong { display:block; font-size:1.2rem; margin-bottom:5px; }
.red-packet-entry span span { font-size:1rem; }
.red-packet-entry > span:last-child { font-size:1.8rem; font-weight:800; color:#ffda8c; }
.red-packet-entry { flex-wrap:wrap; }
.red-packet-entry > span:first-child { flex:1 1 170px; min-width:0; overflow-wrap:anywhere; }
.red-packet-entry .red-packet-entry-amount { margin-inline-start:auto; font-variant-numeric:tabular-nums; white-space:nowrap; }
body.red-packet-open { overflow:hidden; }
.red-packet-dialog { padding:0; width:min(520px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; border:1px solid #e0b275; border-radius:26px; background:#72111e; color:#fff0d5; box-shadow:0 24px 100px #0009; overflow:auto; overscroll-behavior:contain; }
.red-packet-dialog::backdrop { background:rgba(18,7,12,.8); backdrop-filter:blur(6px); }
.red-packet-surface { position:relative; }
.red-packet-close { position:absolute; z-index:1; top:10px; right:10px; width:44px; height:44px; border:1px solid #e9bd8270; border-radius:50%; background:#450c19dd; color:#fff4dd; font-size:28px; cursor:pointer; }
.red-packet-art { display:block; width:100%; height:auto; max-height:240px; object-fit:cover; border-radius:25px 25px 0 0; }
.red-packet-copy { padding:0 26px 24px; text-align:center; overflow-wrap:anywhere; }
.red-packet-copy h2 { margin:0 0 10px; font-size:clamp(1.5rem,6vw,2.15rem); line-height:1.2; color:#ffe3a5; }
.red-packet-copy p { margin:10px 0; font-size:1rem; line-height:1.5; }
.red-packet-range { display:block; margin:18px 0; font-size:1.25rem; color:#ffe1a0; }
.red-packet-claim { display:block; width:100%; box-sizing:border-box; padding:16px 20px; margin:14px 0; border:1px solid #fff0bf; border-radius:12px; background:linear-gradient(#ffdf94,#eeb64d); color:#59101a; font:inherit; font-size:1.15rem; font-weight:800; text-decoration:none; cursor:pointer; }
.red-packet-claim:disabled { opacity:.7; cursor:wait; }
.red-packet-copy .red-packet-mapping,.red-packet-copy .red-packet-once { font-size:.875rem; line-height:1.6; color:#f7d9c8; }
.red-packet-rules { margin:18px 0; border-block:1px solid #ffffff30; text-align:start; }
.red-packet-rules summary { padding:14px 0; cursor:pointer; font-size:1rem; }
.red-packet-rules table { width:100%; border-collapse:collapse; margin-bottom:14px; font-size:.875rem; table-layout:fixed; }
.red-packet-rules th,.red-packet-rules td { text-align:start; padding:8px 5px; border-bottom:1px solid #ffffff20; }
.red-packet-result { margin:18px 0; padding:16px; background:#4e0a16; border:1px solid #e9b261; border-radius:12px; }
.red-packet-result a { color:#ffe3a5; text-decoration:underline; font-size:1rem; }
.red-packet-amount { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:10px; margin:18px 0 24px; color:#ffe098; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; }
.red-packet-amount span { font-size:clamp(2.75rem,12vw,4.5rem); }
.red-packet-amount small { font-size:1.3rem; }
.red-packet-error { color:#fff; background:#42101b; border:1px solid #ffd7a9; padding:12px; border-radius:8px; }
.red-packet-dialog [hidden] { display:none !important; }
.red-packet-dialog :focus-visible,.red-packet-entry:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media (max-width:420px) { .red-packet-art { max-height:200px; } .red-packet-copy { padding:0 20px 20px; } }
@media (prefers-reduced-motion:reduce) { .red-packet-dialog { scroll-behavior:auto; } }
