/* Reconstructed luck wheel from the supplied homepage HTML and screenshots.
   Scopes all presentation to luck-* components; leaves other pages untouched. */
.luck-banner.random-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;margin:24px 0 38px;padding:20px 26px;background:#18191b;border:1px solid #2c2d31;border-radius:16px}
.luck-banner-left,.luck-banner-right{display:flex;align-items:center;gap:17px}
.luck-banner-left{min-width:0}
.luck-banner-icon{width:28px;height:34px;display:flex;align-items:center;color:#ec3538;flex:none}
.luck-banner-left b{display:block;font-size:17px;font-weight:750;letter-spacing:-.45px;line-height:1.35;color:#f7f8fb}
.luck-banner-left small{display:block;font-size:13px;color:#9da6b5;margin-top:3px;line-height:1.4}
.luck-banner-right{gap:18px;flex-shrink:0}
.luck-banner-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;background:#f1f1f3;color:#111215;border:1px solid #f4f4f4;font-weight:700;font-size:13px;border-radius:10px;padding:13px 17px;cursor:pointer;min-height:44px;transition:background .18s,transform .18s}
.luck-banner-button:hover{background:#fff;transform:translateY(-2px)}
.luck-banner-fan{position:relative;width:99px;height:55px;flex:none}
.luck-banner-fan span{position:absolute;bottom:1px;left:30px;width:36px;height:54px;transform-origin:center bottom;border-radius:6px;overflow:hidden;box-shadow:0 2px 6px #0009;border:1px solid #ffffff16;background:#222}
.luck-banner-fan span:nth-child(1){transform:translateX(-19px) rotate(-18deg)}
.luck-banner-fan span:nth-child(2){transform:rotate(0)}
.luck-banner-fan span:nth-child(3){transform:translateX(19px) rotate(17deg)}
.luck-banner-fan img{width:100%;height:100%;object-fit:cover;display:block}

.luck-modal.modal{padding:0;z-index:550;align-items:center;justify-content:center}
.luck-modal .luck-overlay{background:rgba(0,0,0,.69);backdrop-filter:blur(12px) brightness(.66);-webkit-backdrop-filter:blur(12px) brightness(.66)}
.luck-modal .luck-dialog{box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;width:min(1240px,calc(100vw - 34px));height:min(800px,calc(100dvh - 22px));min-height:590px;max-width:none;margin:auto;padding:18px 22px 28px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;color:#f5f5f6;text-align:center;isolation:isolate}
.luck-modal .luck-close{position:absolute;right:7px;top:13px;z-index:9;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff0a;background:#ffffff16;border-radius:11px;color:#adb0ba;cursor:pointer}
.luck-modal .luck-close:hover{background:#ffffff2c;color:#fff}
.luck-head{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:0;margin:10px 0 0}
.luck-tag{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:5px 9px;color:#d3d4d8;background:#ffffff12;font-size:11px;font-weight:650}
.luck-head h2{font-size:34px;line-height:1.11;font-weight:800;letter-spacing:-1.4px;margin:13px 0 12px;color:#f5f5f7}
.luck-kind{display:flex;gap:8px;align-items:center;justify-content:center}
.luck-kind button{border-radius:10px;border:1px solid #ffffff12;background:#ffffff14;color:#a7abb5;padding:8px 15px;min-width:53px;min-height:32px;font-size:12px;cursor:pointer}
.luck-kind button.is-on{color:#171719;background:#f6f6f7;border-color:#f6f6f7}
.luck-kind button:focus-visible,.luck-repeat:focus-visible,.luck-go:focus-visible,.luck-banner-button:focus-visible{outline:2px solid #fc4e4e;outline-offset:3px}
.luck-stage{position:relative;width:min(1080px,100%);height:342px;margin-top:24px;flex:none}
.luck-viewport{position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%)}
.luck-mark{position:absolute;z-index:4;width:1px;height:20px;left:50%;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,#ccc8,transparent)}
.luck-mark-top{top:0}.luck-mark-bottom{bottom:0}
.luck-filmstrip{position:absolute;left:0;top:31px;display:flex;gap:22px;align-items:center;width:max-content;height:275px;will-change:transform;transform:translate3d(0,0,0)}
.luck-reel-card{position:relative;display:block;flex:0 0 176px;width:176px;height:264px;overflow:hidden;border:2px solid #343436;border-radius:14px;background:#101112;color:#f8f8fa;text-align:left;text-decoration:none;box-shadow:0 13px 30px #000a;transform:rotate(var(--tilt,0deg)) scale(var(--card-scale,1));transition:transform .8s ease,border-color .5s ease,box-shadow .5s ease;pointer-events:none}
.luck-reel-card img{display:block;width:100%;height:100%;object-fit:cover}
.luck-reel-card:before{content:"";position:absolute;inset:40% 0 0;z-index:1;background:linear-gradient(transparent 0%,#050505a8 63%,#000 100%)}
.luck-reel-card .luck-card-meta{position:absolute;z-index:2;left:10px;right:7px;bottom:10px;color:#fff;display:flex;flex-direction:column;gap:4px}
.luck-reel-card .luck-card-meta b{font-size:13px;font-weight:780;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.luck-reel-card .luck-card-meta small{font-size:10px;font-weight:600;color:#e9e9e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.luck-reel-card.is-picked{border:3px solid #f44343;box-shadow:0 15px 48px #000a,0 0 16px #e33c3c18;--tilt:0deg;--card-scale:1.04}
.luck-filmstrip.has-result .luck-reel-card:not(.is-picked){filter:brightness(.86)}
.luck-filmstrip.has-result .luck-reel-card:nth-child(5n){--tilt:-6deg}
.luck-filmstrip.has-result .luck-reel-card:nth-child(5n + 1){--tilt:7deg}
.luck-result{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:122px;max-width:90%;width:640px;margin-top:auto;margin-bottom:22px;gap:0}
.luck-working{font-size:13px;color:#9ca0aa;min-height:30px;display:flex;align-items:center;justify-content:center}
.luck-picked{display:flex;flex-direction:column;align-items:center;animation:luck-pop .48s cubic-bezier(.2,1.45,.35,1) both}
.luck-picked[hidden]{display:none!important}
.luck-selected-label{font-size:11px;color:#d4d4d8;padding:5px 9px;border-radius:8px;background:#ffffff16}
.luck-picked strong{display:block;color:#fff;font-size:32px;letter-spacing:-1px;font-weight:780;line-height:1.2;margin-top:10px;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.luck-picked-meta{font-size:14px;color:#9da2ac;margin-top:2px}
.luck-actions{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;flex-shrink:0}
.luck-repeat,.luck-go{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:1px solid transparent;min-height:48px;padding:0 23px;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.luck-repeat{background:#282b2d;color:#e4e5e7}
.luck-repeat:hover{background:#3b3d40;transform:translateY(-2px)}
.luck-go{background:#f2f2f4;color:#18191c}
.luck-go:hover{background:#fff;transform:translateY(-2px)}
.luck-go[hidden]{display:none!important}
@keyframes luck-pop{from{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-height:760px) and (min-width:700px){.luck-modal .luck-dialog{height:calc(100dvh - 12px);min-height:540px;padding:5px 20px 15px}.luck-head h2{font-size:29px;margin:9px 0}.luck-stage{height:305px;margin-top:12px}.luck-filmstrip{top:26px}.luck-result{min-height:95px;margin-bottom:11px}.luck-reel-card{height:252px}}
@media(max-width:700px){.luck-banner.random-banner{padding:14px 13px;min-height:85px;gap:12px}.luck-banner-left{gap:8px}.luck-banner-left b{font-size:12px;letter-spacing:-.2px}.luck-banner-left small{font-size:10px}.luck-banner-icon{width:22px}.luck-banner-right{gap:7px}.luck-banner-fan{display:none}.luck-banner-button{font-size:10px;padding:8px 9px;min-height:38px;gap:5px}.luck-banner-button .ic{width:14px;height:14px}.luck-modal .luck-dialog{width:100%;height:min(700px,calc(100dvh - 12px));min-height:490px;padding:15px 0 25px}.luck-modal .luck-close{right:15px;top:9px}.luck-head{margin-top:25px}.luck-head h2{font-size:27px;margin:13px 0}.luck-stage{height:302px;width:100%;margin-top:17px}.luck-filmstrip{top:26px}.luck-reel-card{width:149px;flex-basis:149px;height:224px;border-radius:12px}.luck-filmstrip{gap:16px;height:235px}.luck-reel-card .luck-card-meta b{font-size:11px}.luck-result{min-height:110px;margin-top:auto;margin-bottom:14px}.luck-picked strong{font-size:24px;max-width:90vw}.luck-repeat,.luck-go{min-height:43px;padding:0 14px;font-size:12px}.luck-mark{height:15px}}
@media(max-width:390px){.luck-banner-left b{font-size:11px}.luck-banner-button{font-size:9px}.luck-head h2{font-size:24px}.luck-stage{height:270px}.luck-reel-card{width:135px;flex-basis:135px;height:203px}.luck-reel-card .luck-card-meta{left:6px;bottom:8px}.luck-actions{gap:8px}.luck-repeat,.luck-go{padding:0 11px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.luck-reel-card,.luck-filmstrip,.luck-picked{transition:none!important;animation:none!important}}

/* Brief motion blur is only present while the posters slide. */
.luck-filmstrip.is-rolling .luck-reel-card{filter:blur(.7px) brightness(.92)}
@media(prefers-reduced-motion:reduce){.luck-filmstrip.is-rolling .luck-reel-card{filter:none}}

/* Five-card, gently curved random wheel. Side cards do not overlap the center. */
.luck-modal .luck-dialog{width:min(1140px,calc(100vw - 24px))!important;min-height:560px!important;height:min(790px,calc(100dvh - 15px))!important;padding:12px 18px 24px!important}
.luck-modal .luck-head{margin-top:6px!important}
.luck-modal .luck-head h2{font-size:32px!important;margin:10px 0 12px!important}
.luck-modal .luck-stage{width:min(1050px,100%)!important;height:300px!important;margin-top:22px!important;flex-shrink:0!important}
.luck-modal .luck-viewport{overflow:hidden!important;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)!important}
.luck-modal .luck-filmstrip{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;transform:none!important;overflow:visible!important;perspective:none!important}
.luck-modal .luck-filmstrip .luck-reel-card{position:absolute!important;left:50%!important;top:22px!important;width:158px!important;height:237px!important;min-width:0!important;min-height:0!important;flex:none!important;border-radius:16px!important;overflow:hidden!important;border:1px solid #3b3d42!important;transform-origin:50% 50%!important;transition:border-color .25s,box-shadow .25s,filter .25s!important;box-shadow:0 12px 28px rgba(0,0,0,.43)!important}
.luck-modal .luck-filmstrip .luck-reel-card.is-picked{border:2px solid #ee3c41!important;box-shadow:0 0 0 1px rgba(238,60,65,.2),0 12px 30px rgba(0,0,0,.5)!important}
.luck-modal .luck-filmstrip .luck-reel-card .luck-card-meta{left:9px!important;right:8px!important;bottom:9px!important}
.luck-modal .luck-filmstrip .luck-reel-card .luck-card-meta b{font-size:11px!important;white-space:nowrap!important}
.luck-modal .luck-filmstrip .luck-reel-card .luck-card-meta small{font-size:10px!important}
.luck-modal .luck-filmstrip.is-rolling .luck-reel-card{filter:blur(.35px) brightness(.92)!important}
.luck-modal .luck-filmstrip.has-result .luck-reel-card:not(.is-picked){filter:brightness(.94)!important}
.luck-modal .luck-result{margin-top:auto!important;margin-bottom:22px!important;min-height:106px!important;justify-content:center!important}
.luck-modal .luck-working{font-size:14px!important;line-height:1.5!important;min-height:24px!important;color:#a7a9b0!important}
.luck-modal .luck-picked strong{font-size:27px!important}
.luck-modal .luck-mark{height:16px!important}
.luck-modal .luck-repeat,.luck-modal .luck-go{min-height:44px!important;border-radius:12px!important;font-size:13px!important}
@media(max-width:700px){
 .luck-modal .luck-dialog{min-height:460px!important;height:min(660px,calc(100dvh - 8px))!important;padding:10px 0 19px!important}
 .luck-modal .luck-head{margin-top:18px!important}
 .luck-modal .luck-head h2{font-size:25px!important}
 .luck-modal .luck-stage{width:100%!important;height:246px!important;margin-top:16px!important}
 .luck-modal .luck-filmstrip .luck-reel-card{width:119px!important;height:179px!important;top:23px!important;border-radius:12px!important}
 .luck-modal .luck-filmstrip .luck-reel-card .luck-card-meta b{font-size:10px!important}
 .luck-modal .luck-result{min-height:88px!important;margin-bottom:10px!important}
}


.luck-modal .dp-luck-synopsis{max-width:440px;margin:5px auto 0;color:#a1a7b0;font-size:12px;line-height:1.5;text-align:center;}

/* The new site's modal layer; the source project's visual rules and animation remain above. */
.luck-modal.modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:0!important;z-index:300000!important;overflow:auto!important;color:#fff;isolation:isolate;max-height:none!important;max-width:none!important;width:100%!important;height:100%!important;background:transparent!important}
.luck-modal.modal.open{display:flex!important}
.luck-modal .modal-overlay{position:fixed;inset:0;z-index:0;cursor:default}
.luck-modal .luck-dialog{z-index:1}
.luck-modal .luck-dialog:focus{outline:none}
body.luck-modal-open{overflow:hidden!important}
.luck-modal [hidden]{display:none!important}
.lucky-entry.luck-banner{max-width:1170px;margin:16px auto 40px;box-sizing:border-box}
.lucky-entry.luck-banner .luck-banner-button{flex:none}
@media(max-width:700px){.lucky-entry.luck-banner{margin:14px 10px 34px}}
