html.openpop,
body.openpop {overflow:hidden;}

#campagin2026 .crrc_box[data-pop-target] {cursor:pointer;}

#campagin2026 .reward_pop {padding:20px; background:rgba(0, 0, 0, 0.75);}
#campagin2026 .reward_pop .rp_box {display:flex; flex-direction:column; overflow:hidden; position:relative; box-sizing:border-box; width:680px; height:780px; max-width:calc(100vw - 40px); max-height:calc(100vh - 40px); border-radius:55px; background-color:var(--white); box-shadow:0 20px 50px rgba(0, 0, 0, 0.25);}
#campagin2026 .reward_pop .rp_content {display:flex; flex:1; align-content:flex-start; justify-content:center; flex-wrap:wrap; box-sizing:border-box; min-height:0; max-height:100%; margin:0 28px; padding:75px 22px 55px; overflow-y:auto; text-align:center; scrollbar-gutter:stable; scrollbar-color:#555555 #e2e2e2; scrollbar-width:thin;}
#campagin2026 .reward_pop .rp_content::-webkit-scrollbar {width:3px;}
#campagin2026 .reward_pop .rp_content::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 .reward_pop .rp_content::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 .reward_pop .rp_content::-webkit-scrollbar-button {display:none;}
#campagin2026 .reward_pop .rp_title {display:block; width:100%; margin:0; font-size:26px; color:var(--darkgray); line-height:28px; letter-spacing:-0.5px;}
#campagin2026 .reward_pop .rp_title span {display:block;}
#campagin2026 .reward_pop .rp_title strong {color:var(--blue);}
#campagin2026 .reward_pop .rp_text {display:flex; flex-wrap:wrap; gap:28px; width:100%; margin-top:28px; font-family:"Cafe24SsurroundAir"; font-size:20px; color:var(--darkgray); line-height:33px; letter-spacing:-0.5px;}
#campagin2026 .reward_pop .rp_text p {display:block; width:100%; margin:0;}
#campagin2026 .reward_pop .rp_text span {display:block;}
#campagin2026 .reward_pop .rp_pic {display:flex; justify-content:center; width:100%; margin-top:30px;}
#campagin2026 .reward_pop .rp_pic img {display:block; width:290px; height:290px; object-fit:contain; aspect-ratio:1/1;}
#campagin2026 #rewardInfoModal .rp_content {display:flex; flex-direction:column; flex-wrap:nowrap; align-content:stretch; overflow:hidden; scrollbar-gutter:auto;}
#campagin2026 #rewardInfoModal .rp_scroll {flex:1; box-sizing:border-box; width:100%; min-height:0; padding-right:0; overflow-y:auto; scrollbar-color:#555555 #e2e2e2; scrollbar-width:thin;}
#campagin2026 #rewardInfoModal .rp_scroll::-webkit-scrollbar {width:3px;}
#campagin2026 #rewardInfoModal .rp_scroll::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 #rewardInfoModal .rp_scroll::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 #rewardInfoModal .rp_scroll::-webkit-scrollbar-button {display:none;}
#campagin2026 .reward_goods_pop .rp_content {padding-top:78px;}
#campagin2026 .reward_goods_pop .rp_text {gap:24px; margin-top:28px; line-height:30px;}
#campagin2026 .reward_goods_pop .rp_pic_goods {position:relative; width:450px; height:300px; max-width:100%; margin-top:50px;}
#campagin2026 .reward_goods_pop .rp_pic_goods .rp_pic_main {width:450px; height:300px; max-width:100%; object-fit:cover; border-radius:8px;}
#campagin2026 .reward_goods_pop .rp_pic_goods .rp_pic_sub {position:absolute; left:-38px; top:-20px; box-sizing:border-box; width:200px; height:200px; border:4px solid var(--white); border-radius:50%; object-fit:cover; box-shadow:0 16px 21px rgba(0, 0, 0, 0.05);}
#campagin2026 .privacy_pop .rp_box {width:1000px; height:780px;}
#campagin2026 .privacy_pop .rp_content {display:flex; flex-direction:column; flex-wrap:nowrap; align-content:stretch; justify-content:flex-start; padding:72px 36px 45px; overflow:hidden; text-align:left; scrollbar-gutter:auto;}
#campagin2026 .privacy_pop .rp_title {margin-bottom:24px;}
#campagin2026 .privacy_pop .privacy_text {flex:1; box-sizing:border-box; width:100%; min-height:0; padding-right:24px; overflow-y:auto; font-family:"Cafe24SsurroundAir"; color:var(--darkgray); font-size:15px; line-height:24px; letter-spacing:-0.5px; scrollbar-color:#555555 #e2e2e2; scrollbar-width:thin;}
#campagin2026 .privacy_pop .privacy_text::-webkit-scrollbar {width:3px;}
#campagin2026 .privacy_pop .privacy_text::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 .privacy_pop .privacy_text::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 .privacy_pop .privacy_text::-webkit-scrollbar-button {display:none;}
#campagin2026 .privacy_pop .privacy_text p,
#campagin2026 .privacy_pop .privacy_text dl {margin:0;}
#campagin2026 .privacy_pop .privacy_text p + p,
#campagin2026 .privacy_pop .privacy_text p + dl,
#campagin2026 .privacy_pop .privacy_text dl + dl,
#campagin2026 .privacy_pop .privacy_text dl + p {margin-top:23px;}
#campagin2026 .privacy_pop .privacy_text dd {margin:0;}
#campagin2026 .privacy_pop .privacy_subtitle {font-weight:700;}
#campagin2026 .privacy_pop .privacy_note {padding-right:20px;}
#campagin2026 .notice_pop .rp_box {width:1000px; height:780px;}
#campagin2026 .notice_pop .rp_content {display:flex; flex-direction:column; flex-wrap:nowrap; align-content:stretch; justify-content:flex-start; padding:72px 36px 45px; overflow:hidden; text-align:left; scrollbar-gutter:auto;}
#campagin2026 .notice_pop .notice_text {flex:1; box-sizing:border-box; width:100%; min-height:0; padding-right:24px; overflow-y:auto; font-family:"Cafe24SsurroundAir"; color:var(--darkgray); font-size:15px; line-height:24px; letter-spacing:-0.5px; scrollbar-color:#555555 #e2e2e2; scrollbar-width:thin;}
#campagin2026 .notice_pop .notice_text::-webkit-scrollbar {width:3px;}
#campagin2026 .notice_pop .notice_text::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 .notice_pop .notice_text::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 .notice_pop .notice_text::-webkit-scrollbar-button {display:none;}
#campagin2026 .notice_pop .cn_txt + .cn_txt {margin-top:23px;}
#campagin2026 .notice_pop .cn_tit {display:block; margin-bottom:8px; font-family:"Cafe24Ssurround"; font-weight:700; color:var(--blue); font-size:18px; line-height:26px; letter-spacing:-0.5px;}
#campagin2026 .notice_pop .cn_txt:first-child .cn_tit {margin-bottom:14px; color:var(--darkgray); font-size:26px; line-height:32px;}
#campagin2026 .notice_pop .cn_desc,
#campagin2026 .notice_pop .cn_txt span:not(.cn_tit) {display:block;}
#campagin2026 .notice_pop .cn_txt span:not(.cn_tit),
#campagin2026 .notice_pop .cn_txt li,
#campagin2026 .notice_pop .cn_txt a {position:relative; font-family:"Cafe24SsurroundAir"; color:var(--darkgray); font-size:15px; line-height:24px; letter-spacing:-0.5px; text-decoration:none; word-break:keep-all;}
#campagin2026 .notice_pop .cn_txt a {color:var(--blue);}
#campagin2026 .notice_pop .cn_txt a:hover {text-decoration:underline; text-underline-position:under;}
#campagin2026 .notice_pop .cn_txt ul {margin:0; padding:0; list-style:none;}
#campagin2026 .notice_pop .cn_txt li {box-sizing:border-box; padding-left:12px;}
#campagin2026 .notice_pop .cn_txt li + li {margin-top:4px;}
#campagin2026 .notice_pop .cn_txt li::before {content:"-"; position:absolute; left:0; top:0;}
#campagin2026 .reward_pop .rp_close {display:flex; align-items:center; justify-content:center; position:absolute; right:28px; top:28px; z-index:1; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:linear-gradient(180deg, #4389ff 0%, var(--blue) 100%); box-shadow:0 6px 10px rgba(0, 74, 231, 0.25); cursor:pointer;}
#campagin2026 .reward_pop .rp_close span {position:relative; display:block; width:20px; height:20px; transition:0.3s;}
#campagin2026 .reward_pop .rp_close span::before,
#campagin2026 .reward_pop .rp_close span::after {content:""; position:absolute; left:50%; top:50%; width:20px; height:2px; margin-left:-10px; margin-top:-1px; border-radius:1px; background-color:var(--white);}
#campagin2026 .reward_pop .rp_close span::before {transform:rotate(45deg);}
#campagin2026 .reward_pop .rp_close span::after {transform:rotate(-45deg);}
#campagin2026 .reward_pop .rp_close:hover span {transform:rotate(90deg);}


.page {min-height:100vh; padding:18px 12px 24px; position:relative; overflow:hidden;}
.page::before, .page::after {content:""; position:absolute; left:0; width:100%; height:26px; background:linear-gradient(180deg, rgba(0, 122, 204, 0.22), rgba(0, 122, 204, 0)), linear-gradient(90deg, #31b8f0 0%, #1b7fd5 50%, #31b8f0 100%); filter:drop-shadow(0 3px 6px rgba(24, 88, 150, 0.2));}
.page::before {top:0; clip-path:polygon(0 38%, 7% 15%, 16% 43%, 29% 18%, 40% 52%, 52% 20%, 63% 42%, 75% 17%, 87% 44%, 100% 22%, 100% 100%, 0 100%);}
.page::after {bottom:0; clip-path:polygon(0 0, 0 68%, 10% 42%, 23% 74%, 35% 28%, 48% 80%, 61% 34%, 74% 70%, 88% 26%, 100% 62%, 100% 0);}
.decor {position:absolute; inset:0; pointer-events:none; opacity:0.42;}
.decor::before, .decor::after {content:""; position:absolute; border-radius:50%; background:radial-gradient(circle, rgba(126, 205, 255, 0.42), rgba(126, 205, 255, 0));}
.decor::before {width:360px; height:360px; top:110px; left:-110px;}
.decor::after {width:340px; height:340px; right:-120px; top:180px;}
.shell {width:min(100%, 390px); margin:0 auto; position:relative; z-index:1;}
.hero {display:none;}
.actions {display:grid; gap:10px;}
.modal {position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(3, 14, 34, 0.72); z-index:1000;}
.modal.open {display:flex;}
.modal-card {width:min(100%, 420px); background:linear-gradient(180deg, #ffffff 0%, #ecf8ff 100%); color:var(--text-dark); border-radius:34px; padding:26px 22px 24px; box-shadow:0 32px 90px rgba(1, 12, 31, 0.42); text-align:center; position:relative;}
.modal-title {margin:0; font-size:30px; font-weight:900; letter-spacing:-0.05em;}
.modal-copy {margin:10px auto 0; font-size:15px; line-height:1.5; color:#48617e; max-width:280px;}
.roulette-wrap {width:100%; display:grid; place-items:center; padding-top:18px;}
.roulette-pointer {width:0; height:0; border-left:20px solid transparent; border-right:20px solid transparent; border-top:34px solid #ff9a18; filter:drop-shadow(0 6px 10px rgba(0, 0, 0, 0.16)); margin-bottom:-8px; z-index:2;}
.roulette {width:min(76vw, 320px); height:min(76vw, 320px); border-radius:50%; border:12px solid #0e6fbd; position:relative; overflow:hidden; background:conic-gradient(from -45deg, var(--slice-chance) 0deg 90deg, var(--slice-battery) 90deg 180deg, var(--slice-currency) 180deg 270deg, var(--slice-mic) 270deg 360deg); box-shadow:inset 0 0 0 8px rgba(255, 255, 255, 0.9), 0 24px 34px rgba(12, 74, 131, 0.24); transform:rotate(0deg); transition:transform 5.6s cubic-bezier(0.16, 0.94, 0.2, 1);}
.roulette::before {content:""; position:absolute; inset:10px; border-radius:50%; background:linear-gradient(90deg, transparent calc(50% - 2px), rgba(255, 255, 255, 0.92) calc(50% - 2px), rgba(255, 255, 255, 0.92) calc(50% + 2px), transparent calc(50% + 2px)), linear-gradient(0deg, transparent calc(50% - 2px), rgba(255, 255, 255, 0.92) calc(50% - 2px), rgba(255, 255, 255, 0.92) calc(50% + 2px), transparent calc(50% + 2px)); transform:rotate(45deg);}
.roulette-slice {position:absolute; inset:10px; border-radius:50%; overflow:hidden;}
/*.roulette-slice::after {content:""; position:absolute; inset:18px; border-radius:50%; opacity:0; transition:opacity 0.25s ease;}*/
/*.roulette-slice.is-winning::after {opacity:1; box-shadow:inset 0 0 0 5px rgba(255, 255, 255, 0.95); background:rgba(255, 255, 255, 0.16);}*/
.roulette-slice:nth-of-type(1) {clip-path:polygon(50% 50%, 0 0, 100% 0);}
.roulette-slice:nth-of-type(2) {clip-path:polygon(50% 50%, 100% 0, 100% 100%);}
.roulette-slice:nth-of-type(3) {clip-path:polygon(50% 50%, 100% 100%, 0 100%);}
.roulette-slice:nth-of-type(4) {clip-path:polygon(50% 50%, 0 100%, 0 0);}
.roulette-center {position:absolute; inset:50%; transform:translate(-50%, -50%); width:110px; height:110px; border-radius:50%; background:#fff; display:grid; place-items:center; text-align:center; font-size:30px; font-weight:900; color:#1b77d0; box-shadow:0 12px 20px rgba(7, 78, 128, 0.18); z-index:2;}
.segment-label {position:absolute; width:108px; text-align:center; font-size:15px; font-weight:900; line-height:1.2; color:#fff; text-shadow:0 2px 8px rgba(0, 0, 0, 0.16); letter-spacing:-0.05em; word-break:keep-all;}
.segment-label.top {top:20%; left:52%; transform:translate(-50%, -50%);}
.segment-label.right {top:53%; left:84%; transform:translate(-50%, -50%);}
.segment-label.bottom {left:52%; top:84%; transform:translate(-50%, -50%);}
.segment-label.left {top:38%; left:38%; transform:translate(-50%, -50%);}
.segment-label em {display:block; margin-bottom:4px; font-style:normal; font-size:11px; font-weight:800; opacity:0.88;}
.prize-guide li span {position:relative; padding-left:18px;}
.prize-guide li span::before {content:""; position:absolute; left:0; top:50%; width:10px; height:10px; border-radius:50%; transform:translateY(-50%);}
.prize-guide li:nth-child(1) span::before {background:var(--slice-chance);}
.prize-guide li:nth-child(2) span::before {background:var(--slice-battery);}
.prize-guide li:nth-child(3) span::before {background:var(--slice-currency);}
.prize-guide li:nth-child(4) span::before {background:var(--slice-mic);}
.roulette-note {margin:18px 0 0; font-size:14px; color:#58718d;}
#rouletteModal {padding:80px 30px;}
#rouletteModal .r_box {display:flex; flex-direction:column; align-items:center; gap:40px; box-sizing:border-box; width:1200px; height:840px; max-width:calc(100vw - 60px); max-height:calc(100vh - 80px); padding:80px 30px; border-radius:60px; overflow:hidden; background:#fff; box-shadow:0 30px 60px rgba(24, 70, 139, 0.4), 0 4px 4px rgba(24, 70, 139, 0.4); color:var(--blue); text-align:center;}
#rouletteModal .r_box::before {content:""; position:absolute; inset:10px; border:1px solid rgba(0, 95, 239, 0.2); border-radius:50px; pointer-events:none;}
#rouletteModal .r_box::after {display:none;}
#rouletteModal .r_close {display:flex; align-items:center; justify-content:center; position:absolute; top:30px; right:30px; z-index:3; width:60px; height:60px; padding:0; border:0; border-radius:40px; background:linear-gradient(180deg, #4d8bff 0%, var(--blue) 100%); box-shadow:inset 0 3px 6px #005fef, 0 30px 60px rgba(24, 70, 139, 0.4), 0 4px 4px rgba(24, 70, 139, 0.4); color:#fff; font-size:0; line-height:0; cursor:pointer; transition:0.3s;}
#rouletteModal .r_close::before,
#rouletteModal .r_close::after {content:""; position:absolute; left:50%; top:50%; width:28px; height:2px; margin-left:-14px; margin-top:-1px; border-radius:1px; background:#fff; transition:transform 0.3s;}
#rouletteModal .r_close::before {transform:rotate(45deg);}
#rouletteModal .r_close::after {transform:rotate(-45deg);}
#rouletteModal .r_close:hover::before {transform:rotate(135deg);}
#rouletteModal .r_close:hover::after {transform:rotate(45deg);}
#rouletteModal .r_head {display:flex; flex-direction:column; align-items:center; gap:20px; position:relative; z-index:1; width:100%; text-align:center;}
#rouletteModal .decotitle.t1 {display:flex; justify-content:center; width:100%; margin:0; font-size:60px; line-height:70px; letter-spacing:-3px;}
#rouletteModal .decotitle.t1 > span {display:flex; align-items:center; justify-content:center; gap:10px;}
#rouletteModal .decotitle.t1 > span > span {display:flex; align-items:center; justify-content:center; height:68px; color:var(--blue) !important; white-space:nowrap;}
#rouletteModal .decotitle.t1 .cm {position:relative; top:-9px; box-sizing:border-box; padding:0 15px; padding-top:9px; border-radius:20px; background:var(--blue); color:#d2ff00 !important; text-shadow:0 4px 4px rgba(24, 70, 139, 0.4), 0 30px 60px rgba(24, 70, 139, 0.4);}
#rouletteModal .r_text {max-width:none; margin:0; font-family:"Cafe24SsurroundAir"; font-size:20px; color:var(--blue_t2); line-height:30px; letter-spacing:-0.4px;}
#rouletteModal .r_text span {font-family:"Cafe24Ssurround"; color:var(--blue_t2);}
#rouletteModal .r_scene {display:flex; align-items:center; justify-content:center; position:relative; z-index:1; width:100%; min-height:500px; margin:0;}
#rouletteModal .rs_decowrap,
#rouletteModal .rs_deco {display:none;}
#rouletteModal .r_stage {--roulette-frame:500px; --roulette-wheel:460px; position:relative; width:var(--roulette-frame); height:var(--roulette-frame);}
#rouletteModal .r_wrap {display:flex; align-items:center; justify-content:center; position:relative; width:var(--roulette-frame); height:var(--roulette-frame); margin:0 auto; padding:0; border-radius:50%; background:linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #005fef; box-shadow:inset 0 3px 6px #005fef, 0 30px 60px rgba(24, 70, 139, 0.4), 0 4px 4px rgba(24, 70, 139, 0.4);}
#rouletteModal .r_wheel {position:relative; width:var(--roulette-wheel); height:var(--roulette-wheel); overflow:hidden; border:0; border-radius:50%; background:#fff; box-shadow:none; transform:rotate(0deg); transition:transform 5.6s cubic-bezier(0.16, 0.94, 0.2, 1);}
#rouletteModal .r_wheel::before {display:none;}
#rouletteModal .rw_slice {position:absolute; inset:0; border-radius:50%; overflow:hidden; background:#fff;}
#rouletteModal .rw_slice:nth-of-type(1) {clip-path:inset(0 50% 50% 0);}
#rouletteModal .rw_slice:nth-of-type(2) {clip-path:inset(0 0 50% 50%); background:#ebf3ff;}
#rouletteModal .rw_slice:nth-of-type(3) {clip-path:inset(50% 0 0 50%);}
#rouletteModal .rw_slice:nth-of-type(4) {clip-path:inset(50% 50% 0 0); background:#ebf3ff;}
#rouletteModal .rw_slice.is-winning::after {content:""; position:absolute; inset:18px; border-radius:50%; box-shadow:inset 0 0 0 5px rgba(0, 74, 231, 0.25);}
#rouletteModal .rw_label {display:flex; flex-direction:column; align-items:center; gap:5px; position:absolute; z-index:1; width:150px; text-align:center; color:var(--blue); word-break:keep-all; white-space:nowrap;}
#rouletteModal .rw_label span {display:block; font-family:"Cafe24SsurroundAir"; font-size:20px; color:var(--blue); line-height:30px; letter-spacing:-0.4px;}
#rouletteModal .rw_label strong {display:block; font-size:30px; color:var(--blue); line-height:30px; letter-spacing:-0.6px;}
#rouletteModal .rw_label.top {top:28%; left:28%; transform:translate(-50%, -50%) rotate(135deg);}
#rouletteModal .rw_label.right {top:28%; left:72%; transform:translate(-50%, -50%) rotate(-135deg);}
#rouletteModal .rw_label.bottom {top:72%; left:72%; transform:translate(-50%, -50%) rotate(-45deg);}
#rouletteModal .rw_label.left {top:72%; left:28%; transform:translate(-50%, -50%) rotate(45deg);}
#rouletteModal .r_btn {display:flex; flex-direction:column; align-items:center; justify-content:center; position:absolute; top:50%; left:50%; z-index:5; width:120px; height:120px; margin:-60px 0 0 -60px; padding:15px 0; border:0; border-radius:60px; overflow:hidden; border-radius: 60px; background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.50) 100%), #0B203F; box-shadow: 0 3px 6px 0 #0B203F inset, 0 30px 60px 0 rgba(24, 70, 139, 0.40), 0 4px 4px 0 rgba(24, 70, 139, 0.40); color:#fff; cursor:pointer;}
#rouletteModal .r_btn::before {content:""; position:absolute; inset:0; border-radius:inherit; background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.50) 100%), #0B203F; pointer-events:none;}
#rouletteModal .rb_title {display:block; position:relative; z-index:1; font-family: 'Paperozi'; font-size:25px; font-weight:800; color:#fff; line-height:30px; letter-spacing:-0.5px; text-shadow:0 2px 2px rgba(0, 0, 0, 0.3);}
#rouletteModal .rb_text {display:block; position:relative; z-index:1; margin-top:0; font-family: 'Paperozi'; font-weight:600; font-size:15px; color:#e0fb16; line-height:20px; letter-spacing:-0.3px; text-shadow:0 2px 2px rgba(0, 0, 0, 0.3);}
#rouletteModal .r_bottle {position:absolute; left:50%; top:440px; z-index:4; width:100px; height:200px; margin-left:-50px; background-image:url("../images/pic_poparrow.png"); background-repeat:no-repeat; background-position:center top; background-size:100% auto; pointer-events:none;}
#rouletteModal .r_pointer,
#rouletteModal .rb_body,
#rouletteModal .rb_label {display:none;}

@media (min-width:769px) and (max-height:860px) {
    #rouletteModal {padding:40px 30px;}
    #rouletteModal .r_box {gap:26px; height:auto; max-height:calc(100vh - 80px); padding:44px 30px 52px;}
    #rouletteModal .r_close {top:22px; right:22px; width:50px; height:50px;}
    #rouletteModal .r_head {gap:12px;}
    #rouletteModal .decotitle.t1 {font-size:48px; line-height:56px; letter-spacing:-2px;}
    #rouletteModal .decotitle.t1 > span > span {height:56px;}
    #rouletteModal .decotitle.t1 .cm {top:-7px; padding:7px 14px 0; border-radius:16px;}
    #rouletteModal .r_text {font-size:18px; line-height:26px;}
    #rouletteModal .r_scene {min-height:0;}
    #rouletteModal .r_stage {--roulette-frame:clamp(360px, calc(100vh - 380px), 500px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .rw_label {width:calc(var(--roulette-frame) * 0.3);}
    #rouletteModal .rw_label span {font-size:calc(var(--roulette-frame) * 0.04); line-height:calc(var(--roulette-frame) * 0.055);}
    #rouletteModal .rw_label strong {font-size:calc(var(--roulette-frame) * 0.06); line-height:calc(var(--roulette-frame) * 0.064);}
    #rouletteModal .r_btn {width:calc(var(--roulette-frame) * 0.24); height:calc(var(--roulette-frame) * 0.24); margin:calc(var(--roulette-frame) * -0.12) 0 0 calc(var(--roulette-frame) * -0.12); padding:12px 0;}
    #rouletteModal .rb_title {font-size:calc(var(--roulette-frame) * 0.05); line-height:calc(var(--roulette-frame) * 0.06);}
    #rouletteModal .rb_text {font-size:calc(var(--roulette-frame) * 0.03); line-height:calc(var(--roulette-frame) * 0.04);}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 60px); width:calc(var(--roulette-frame) * 0.2); height:calc(var(--roulette-frame) * 0.4); margin-left:calc(var(--roulette-frame) * -0.1);}
}

@media (min-width:769px) and (max-height:700px) {
    #rouletteModal {padding:24px;}
    #rouletteModal .r_box {gap:18px; max-width:calc(100vw - 48px); max-height:calc(100vh - 48px); padding:30px 24px 42px; border-radius:40px;}
    #rouletteModal .r_box::before {border-radius:32px;}
    #rouletteModal .r_close {top:16px; right:16px; width:44px; height:44px;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:22px; margin-left:-11px;}
    #rouletteModal .r_head {gap:8px;}
    #rouletteModal .decotitle.t1 {font-size:40px; line-height:48px; letter-spacing:-1.5px;}
    #rouletteModal .decotitle.t1 > span > span {height:48px;}
    #rouletteModal .decotitle.t1 .cm {top:-6px; padding:6px 12px 0; border-radius:14px;}
    #rouletteModal .r_text {font-size:16px; line-height:24px;}
    #rouletteModal .r_stage {--roulette-frame:clamp(300px, calc(100vh - 320px), 380px);}
}

@media (min-width:769px) and (max-height:600px) {
    #rouletteModal {padding:16px;}
    #rouletteModal .r_box {gap:12px; max-height:calc(100vh - 32px); padding:22px 20px 32px; border-radius:30px;}
    #rouletteModal .r_box::before {inset:8px; border-radius:24px;}
    #rouletteModal .r_close {top:12px; right:12px; width:38px; height:38px;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:18px; margin-left:-9px;}
    #rouletteModal .decotitle.t1 {font-size:32px; line-height:38px; letter-spacing:-1px;}
    #rouletteModal .decotitle.t1 > span {gap:6px;}
    #rouletteModal .decotitle.t1 > span > span {height:38px;}
    #rouletteModal .decotitle.t1 .cm {top:-4px; padding:4px 10px 0; border-radius:12px;}
    #rouletteModal .r_text {font-size:14px; line-height:20px;}
    #rouletteModal .r_stage {--roulette-frame:clamp(250px, calc(100vh - 250px), 310px);}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 52px);}
}
.money-ticket {width:min(100%, 240px); margin:0 auto; border-radius:20px; padding:18px 16px; background:linear-gradient(135deg, #fff7ef 0%, #ffe7cb 100%); border:1px solid rgba(237, 175, 95, 0.35); box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.9);}
.money-ticket strong {display:block; font-size:38px; color:#db6a27; line-height:1; letter-spacing:-0.05em;}
.money-ticket span {display:block; margin-top:8px; font-size:14px; color:#8a5f3d; font-weight:700;}
.gift-pill {width:min(100%, 240px); min-height:140px; margin:0 auto; border-radius:24px; padding:22px 18px; background:linear-gradient(135deg, #effaff 0%, #d9f1ff 100%); border:1px solid rgba(45, 152, 220, 0.24); display:grid; place-items:center;}
.gift-pill strong {font-size:28px; line-height:1.2; letter-spacing:-0.05em; color:#0d7bc8;}
.gift-pill span {display:block; margin-top:8px; font-size:15px; line-height:1.45; color:#45627d; font-weight:700;}
#campagin2026 #resultModal {padding:20px; background:rgba(0, 0, 0, 0.75);}
#campagin2026 #resultModal .modal_cardwrap {padding:20px 0; padding-right:30px; border-radius:55px; background:#fff; box-shadow:0 20px 50px rgba(0, 0, 0, 0.25);}
#campagin2026 #resultModal .modal-card {display:flex; flex-direction:column; align-items:normal; justify-content:center; flex-wrap:nowrap; box-sizing:border-box; width:680px; height:840px; max-width:calc(100vw - 40px); max-height:calc(100vh - 80px); padding:58px 40px 52px; overflow-x:hidden; overflow-y:auto; text-align:center; scrollbar-color:#555555 #e2e2e2; scrollbar-gutter:stable; scrollbar-width:thin; border-radius:0; background:transparent; box-shadow:unset;}
#campagin2026 #resultModal .modal-card::-webkit-scrollbar {width:3px;}
#campagin2026 #resultModal .modal-card::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 #resultModal .modal-card::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 #resultModal .modal-card::-webkit-scrollbar-button {display:none;}
#campagin2026 #resultModal .result-badge {display:block; width:100%; margin:0; padding:0; border-radius:0; background:none; font-size:30px; color:var(--darkgray); line-height:38px; letter-spacing:-0.5px;}
#campagin2026 #resultModal .result-name {display:block; width:100%; margin-top:22px; font-size:0; color:var(--blue); line-height:0; letter-spacing:-0.5px;}
#campagin2026 #resultModal .result-name span,
#campagin2026 #resultModal .result-name strong {display:block; width:100%; color:var(--blue); font-size:50px; line-height:60px;}
#campagin2026 #resultModal .prize-visual {display:flex; justify-content:center; width:100%; margin:30px 0 0; padding:0; border-radius:0; background:none;}
#campagin2026 #resultModal .result-desc {width:100%; max-width:none; margin:28px 0 0; font-family:"Cafe24SsurroundAir"; font-size:20px; color:var(--darkgray); line-height:31px; letter-spacing:-0.5px;}
#campagin2026 #resultModal .close-btn {width:170px; max-width:none; height:50px; min-height:50px; margin:45px auto 0; padding:0; border-radius:25px; background-color:var(--blue); font-size:22px; color:var(--white); line-height:50px;}
#campagin2026 #resultModal.prize_mic_pop .result-badge,
#campagin2026 #resultModal.prize_battery_pop .result-badge {line-height:40px;}
#campagin2026 #resultModal.prize_mic_pop .prize-visual img,
#campagin2026 #resultModal.prize_battery_pop .prize-visual img {display:block; width:450px; height:300px; max-width:100%; border-radius:8px; object-fit:cover;}
#campagin2026 #resultModal.prize_currency_pop .prize-visual img {display:block; width:160px; height:250px; object-fit:contain;}
#campagin2026 #resultModal.prize_currency_pop .result-desc {line-height:28px;}
#campagin2026 #resultModal.prize_chance_pop .modal-card {padding:calc(13.4259dvh - 20px) 0 0 40px;}
#campagin2026 #resultModal.prize_chance_pop .result-badge {font-size:28px;}
#campagin2026 #resultModal.prize_chance_pop .result-name {margin-top:28px;}
#campagin2026 #resultModal.prize_chance_pop .result-name strong {font-size:80px; line-height:90px;}
#campagin2026 #resultModal.prize_chance_pop .prize-visual {display:none;}
#campagin2026 #resultModal.prize_chance_pop .result-desc {margin-top:70px; line-height:28px;}
#campagin2026 #resultModal.prize_chance_pop .close-btn {margin-top:8.5dvh;}
#campagin2026 #participationCompleteModal {padding:20px; background:rgba(0, 0, 0, 0.75);}
#campagin2026 #participationCompleteModal .modal_cardwrap {padding:20px 0; padding-right:30px; border-radius:55px; background:#fff; box-shadow:0 20px 50px rgba(0, 0, 0, 0.25);}
#campagin2026 #participationCompleteModal .status-modal {display:flex; flex-direction:column; align-items:normal; justify-content:center; flex-wrap:nowrap; box-sizing:border-box; width:680px; height:840px; max-width:calc(100vw - 40px); max-height:calc(100vh - 80px); padding:calc(13.4259dvh - 20px) 0 0 40px; overflow-x:hidden; overflow-y:auto; text-align:center; scrollbar-color:#555555 #e2e2e2; scrollbar-gutter:stable; scrollbar-width:thin; background:transparent; box-shadow:unset;}
#campagin2026 #participationCompleteModal .status-modal::-webkit-scrollbar {width:3px;}
#campagin2026 #participationCompleteModal .status-modal::-webkit-scrollbar-track {background-color:#e2e2e2;}
#campagin2026 #participationCompleteModal .status-modal::-webkit-scrollbar-thumb {border-radius:2px; background-color:#555555;}
#campagin2026 #participationCompleteModal .status-modal::-webkit-scrollbar-button {display:none;}
#campagin2026 #participationCompleteModal .status-copy {width:100%; margin:0; color:var(--darkgray); font-size:28px; line-height:38px; letter-spacing:-0.5px;}
#campagin2026 #participationCompleteModal .status-title {width:100%; margin:60px 0 0; color:var(--blue); font-size:64px; line-height:74px; letter-spacing:-0.5px;}
#campagin2026 #participationCompleteModal .status-desc {width:100%; margin:75px 0 0; font-family:"Cafe24SsurroundAir"; color:var(--darkgray); font-size:20px; line-height:31px; letter-spacing:-0.5px;}
#campagin2026 #participationCompleteModal .status-desc span {display:block;}
#campagin2026 #participationCompleteModal .close-btn {width:170px; max-width:none; height:50px; min-height:50px; margin:8dvh auto 0; padding:0; border-radius:25px; background-color:var(--blue); box-shadow:none; font-size:22px; color:var(--white); line-height:50px;}
.close-btn {min-height:56px; font-size:24px;}

#campagin2026 .reward_pop .rp_content,
#campagin2026 .reward_pop .rp_title,
#campagin2026 .reward_pop .rp_text,
#campagin2026 .privacy_pop .privacy_text,
#campagin2026 .notice_pop .notice_text,
#rouletteModal .r_box,
#rouletteModal .r_text,
#rouletteModal .rw_label,
#campagin2026 #resultModal .result-badge,
#campagin2026 #resultModal .result-name,
#campagin2026 #resultModal .result-desc,
#campagin2026 #participationCompleteModal .status-copy,
#campagin2026 #participationCompleteModal .status-title,
#campagin2026 #participationCompleteModal .status-desc {word-break:keep-all;}



@media (max-width:768px) {
    #rouletteModal {left:0; right:auto; box-sizing:border-box; width:100vw; max-width:100vw; padding:16px;}
    #rouletteModal .r_box {align-items:stretch; gap:16px; width:100%; height:auto; min-height:0; max-width:100%; max-height:calc(100vh - 32px); padding:18px 16px 34px; border-radius:20px; overflow-x:hidden; overflow-y:auto;}
    #rouletteModal .r_box::before {inset:6px; border-radius:16px;}
    #rouletteModal .r_close {position:sticky; top:0; right:auto; align-self:flex-end; flex-shrink:0; width:42px; height:42px; margin-left:auto;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:20px; margin-left:-10px;}
    #rouletteModal .r_head {gap:12px;}
    #rouletteModal .decotitle.t1 {font-size:30px; line-height:38px; letter-spacing:-1.5px;}
    #rouletteModal .decotitle.t1 > span {flex-wrap:wrap; gap:6px;}
    #rouletteModal .decotitle.t1 > span > span {height:40px;}
    #rouletteModal .decotitle.t1 .cs {width:100%;}
    #rouletteModal .decotitle.t1 .cm {top:-4px; padding:0 10px; padding-top:4px; border-radius:12px;}
    #rouletteModal .r_text {font-size:14px; line-height:22px;}
    #rouletteModal .r_scene {min-height:calc(var(--roulette-frame) * 1.18);}
    #rouletteModal .r_stage {--roulette-frame:clamp(270px, min(76vw, calc(100vh - 350px)), 320px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .rw_label {gap:3px; width:104px;}
    #rouletteModal .rw_label span {font-size:13px; line-height:15px; letter-spacing:-0.2px;}
    #rouletteModal .rw_label strong {font-size:19px; line-height:21px; letter-spacing:-0.3px;}
    #rouletteModal .r_btn {width:78px; height:78px; margin:-39px 0 0 -39px; padding:10px 0;}
    #rouletteModal .rb_title {font-size:17px; line-height:21px;}
    #rouletteModal .rb_text {font-size:10px; line-height:14px;}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 64px); width:calc(var(--roulette-frame) * 0.22); height:calc(var(--roulette-frame) * 0.44); margin-left:calc(var(--roulette-frame) * -0.11);}
    #campagin2026 #resultModal .modal_cardwrap {padding:0; padding-right:0; border-radius:20px;}
    #campagin2026 #resultModal .modal-card {height:auto; min-height:0; padding:44px 18px 30px;}
    #campagin2026 #resultModal .result-badge {font-size:19px; line-height:28px;}
    #campagin2026 #resultModal .result-name {margin-top:12px;}
    #campagin2026 #resultModal .result-name span,
    #campagin2026 #resultModal .result-name strong {font-size:33px; line-height:40px;}
    #campagin2026 #resultModal .prize-visual {margin-top:18px;}
    #campagin2026 #resultModal .result-desc {margin-top:18px; font-size:14px; line-height:23px;}
    #campagin2026 #resultModal .close-btn {width:140px; height:44px; min-height:44px; margin-top:18px; font-size:18px; line-height:44px;}
    #campagin2026 #resultModal.prize_currency_pop .result-name {margin-top:10px;}
    #campagin2026 #resultModal.prize_currency_pop .result-name span,
    #campagin2026 #resultModal.prize_currency_pop .result-name strong {font-size:34px; line-height:41px;}
    #campagin2026 #resultModal.prize_currency_pop .prize-visual {margin-top:12px;}
    #campagin2026 #resultModal.prize_currency_pop .prize-visual img {width:160px; height:250px;}
    #campagin2026 #resultModal.prize_currency_pop .result-desc {margin-top:14px;}
    #campagin2026 #resultModal.prize_mic_pop .prize-visual img,
    #campagin2026 #resultModal.prize_battery_pop .prize-visual img {width:100%; height:auto; aspect-ratio:450/300;}
    #campagin2026 #resultModal.prize_chance_pop .modal-card {padding:112px 0 42px 0;}
    #campagin2026 #resultModal.prize_chance_pop .result-name {margin-top:22px;}
    #campagin2026 #resultModal.prize_chance_pop .result-name span,
    #campagin2026 #resultModal.prize_chance_pop .result-name strong {font-size:34px; line-height:42px;}
    #campagin2026 #resultModal.prize_chance_pop .result-desc {margin-top:48px;}
    #campagin2026 #resultModal.prize_chance_pop .close-btn {margin-top:96px;}
    #campagin2026 #participationCompleteModal .modal_cardwrap {padding:0; padding-right:0;}
    #campagin2026 #participationCompleteModal .status-modal {height:auto; min-height:0; padding:116px 18px 42px; border-radius:20px; overflow-y:auto;}
    #campagin2026 #participationCompleteModal .status-copy {font-size:19px; line-height:28px;}
    #campagin2026 #participationCompleteModal .status-title {margin-top:42px; font-size:42px; line-height:52px;}
    #campagin2026 #participationCompleteModal .status-desc {margin-top:56px; font-size:14px; line-height:23px;}
    #campagin2026 #participationCompleteModal .close-btn {width:140px; height:44px; min-height:44px; margin-top:96px; font-size:18px; line-height:44px;}
    #campagin2026 .reward_pop .rp_box {height:auto; min-height:0; max-height:calc(100vh - 40px); border-radius:20px;}
    #campagin2026 .reward_pop .rp_content {max-height:calc(100vh - 40px); margin:0 14px; padding:68px 10px 36px;}
    #campagin2026 .reward_pop .rp_title {font-size:22px; line-height:31px;}
    #campagin2026 .reward_pop .rp_text {gap:20px; margin-top:22px; font-size:17px; line-height:28px;}
    #campagin2026 .reward_pop .rp_pic {margin-top:36px;}
    #campagin2026 .reward_pop .rp_pic img {width:100%; max-width:220px; height:auto;}
    #campagin2026 .reward_goods_pop .rp_pic_goods {width:100%; height:auto; margin-top:34px;}
    #campagin2026 .reward_goods_pop .rp_pic_goods .rp_pic_main {width:100%; height:auto; aspect-ratio:450/300;}
    #campagin2026 .reward_goods_pop .rp_pic_goods .rp_pic_sub {left:-14px; top:-23px; width:140px; height:140px;}
    #campagin2026 .privacy_pop .rp_content {padding:68px 10px 36px;}
    #campagin2026 .privacy_pop .rp_title {margin-bottom:18px; font-size:21px; line-height:30px;}
    #campagin2026 .privacy_pop .privacy_text {font-size:15px; line-height:25px;}
    #campagin2026 .privacy_pop .privacy_text p + p,
    #campagin2026 .privacy_pop .privacy_text p + dl,
    #campagin2026 .privacy_pop .privacy_text dl + dl,
    #campagin2026 .privacy_pop .privacy_text dl + p {margin-top:22px;}
    #campagin2026 .notice_pop .rp_content {padding:68px 10px 36px;}
    #campagin2026 .notice_pop .notice_text {font-size:14px; line-height:23px; padding-right:14px;}
    #campagin2026 .notice_pop .cn_txt + .cn_txt {margin-top:21px;}
    #campagin2026 .notice_pop .cn_tit {margin-bottom:7px; font-size:16px; line-height:24px;}
    #campagin2026 .notice_pop .cn_txt:first-child .cn_tit {margin-bottom:12px; font-size:21px; line-height:30px;}
    #campagin2026 .notice_pop .cn_txt span:not(.cn_tit),
    #campagin2026 .notice_pop .cn_txt li,
    #campagin2026 .notice_pop .cn_txt a {font-size:14px; line-height:23px;}
    #campagin2026 .reward_pop .rp_close {right:20px; top:20px; width:40px; height:40px;}
    #campagin2026 .reward_pop .rp_title span {display:inline;}
    #campagin2026 .reward_pop .rp_text p span {display:inline;}
}



@media (max-width:600px) {
    #campagin2026 .reward_pop#rewardGoodsModal .rp_title strong {display:block;}
}



@media (max-width:425px) {
    #rouletteModal .r_box {border-radius:14px;}
    #rouletteModal .r_box::before {border-radius:10px;}
    #campagin2026 #resultModal .modal-card,
    #campagin2026 #participationCompleteModal .status-modal,
    #campagin2026 .reward_pop .rp_box {border-radius:14px;}
    #campagin2026 #resultModal.prize_mic_pop .prize-visual img,
    #campagin2026 #resultModal.prize_battery_pop .prize-visual img,
    #campagin2026 .reward_goods_pop .rp_pic_goods .rp_pic_main {border-radius:5px;}
}



@media (max-width:360px) {
    #rouletteModal {padding:12px;}
    #rouletteModal .r_box {gap:12px; max-height:calc(100vh - 24px); padding:14px 12px 28px;}
    #rouletteModal .r_box::before {inset:5px;}
    #rouletteModal .r_close {width:38px; height:38px;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:18px; margin-left:-9px;}
    #rouletteModal .r_head {gap:8px;}
    #rouletteModal .decotitle.t1 {font-size:25px; line-height:32px; letter-spacing:-1px;}
    #rouletteModal .decotitle.t1 > span {gap:4px;}
    #rouletteModal .decotitle.t1 > span > span {height:32px;}
    #rouletteModal .decotitle.t1 .cm {top:-3px; padding:3px 8px 0; border-radius:10px;}
    #rouletteModal .r_text {font-size:13px; line-height:20px;}
    #rouletteModal .r_scene {min-height:calc(var(--roulette-frame) * 1.16);}
    #rouletteModal .r_stage {--roulette-frame:clamp(238px, min(72vw, calc(100vh - 330px)), 260px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .r_wrap {box-shadow:inset 0 2px 5px #005fef, 0 18px 36px rgba(24, 70, 139, 0.32), 0 3px 3px rgba(24, 70, 139, 0.32);}
    #rouletteModal .r_wheel {box-shadow:none;}
    #rouletteModal .rw_label {width:86px;}
    #rouletteModal .rw_label span {font-size:11px; line-height:13px; letter-spacing:-0.1px;}
    #rouletteModal .rw_label strong {font-size:16px; line-height:18px; letter-spacing:-0.2px;}
    #rouletteModal .r_btn {width:66px; height:66px; margin:-33px 0 0 -33px; padding:8px 0;}
    #rouletteModal .rb_title {font-size:14px; line-height:18px;}
    #rouletteModal .rb_text {font-size:9px; line-height:12px;}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 54px); width:calc(var(--roulette-frame) * 0.21); height:calc(var(--roulette-frame) * 0.42); margin-left:calc(var(--roulette-frame) * -0.105);}
}



@media (max-width:320px) {
    #rouletteModal .decotitle.t1 {font-size:23px; line-height:30px;}
    #rouletteModal .r_scene {min-height:calc(var(--roulette-frame) * 1.15);}
    #rouletteModal .r_stage {--roulette-frame:clamp(222px, min(72vw, calc(100vh - 320px)), 242px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 50px); width:calc(var(--roulette-frame) * 0.2); height:calc(var(--roulette-frame) * 0.4); margin-left:calc(var(--roulette-frame) * -0.1);}
}



@media (max-width:768px) and (max-height:680px) {
    #rouletteModal {padding:12px;}
    #rouletteModal .r_box {gap:10px; max-height:calc(100vh - 24px); padding:14px 14px 24px;}
    #rouletteModal .r_close {width:36px; height:36px;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:18px; margin-left:-9px;}
    #rouletteModal .r_head {gap:8px;}
    #rouletteModal .decotitle.t1 {font-size:26px; line-height:32px; letter-spacing:-1px;}
    #rouletteModal .decotitle.t1 > span {gap:5px;}
    #rouletteModal .decotitle.t1 > span > span {height:34px;}
    #rouletteModal .decotitle.t1 .cm {top:-3px; padding:3px 8px 0; border-radius:10px;}
    #rouletteModal .r_text {font-size:13px; line-height:19px;}
    #rouletteModal .r_scene {min-height:calc(var(--roulette-frame) * 1.12);}
    #rouletteModal .r_stage {--roulette-frame:clamp(232px, min(68vw, calc(100vh - 340px)), 292px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .rw_label {width:90px;}
    #rouletteModal .rw_label span {font-size:11px; line-height:13px; letter-spacing:-0.1px;}
    #rouletteModal .rw_label strong {font-size:16px; line-height:18px; letter-spacing:-0.2px;}
    #rouletteModal .r_btn {width:68px; height:68px; margin:-34px 0 0 -34px; padding:8px 0;}
    #rouletteModal .rb_title {font-size:14px; line-height:18px;}
    #rouletteModal .rb_text {font-size:9px; line-height:12px;}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 52px); width:calc(var(--roulette-frame) * 0.2); height:calc(var(--roulette-frame) * 0.4); margin-left:calc(var(--roulette-frame) * -0.1);}
}



@media (max-width:768px) and (max-height:560px) {
    #rouletteModal {padding:8px;}
    #rouletteModal .r_box {gap:8px; max-height:calc(100vh - 16px); padding:10px 12px 18px;}
    #rouletteModal .r_box::before {inset:5px;}
    #rouletteModal .r_close {width:32px; height:32px;}
    #rouletteModal .r_close::before,
    #rouletteModal .r_close::after {width:16px; margin-left:-8px;}
    #rouletteModal .r_head {gap:6px;}
    #rouletteModal .decotitle.t1 {font-size:22px; line-height:28px; letter-spacing:-0.8px;}
    #rouletteModal .decotitle.t1 > span {gap:4px;}
    #rouletteModal .decotitle.t1 > span > span {height:30px;}
    #rouletteModal .decotitle.t1 .cm {top:-2px; padding:2px 7px 0; border-radius:9px;}
    #rouletteModal .r_text {font-size:12px; line-height:17px;}
    #rouletteModal .r_scene {min-height:calc(var(--roulette-frame) * 1.08);}
    #rouletteModal .r_stage {--roulette-frame:clamp(200px, min(60vw, calc(100vh - 270px)), 240px); --roulette-wheel:calc(var(--roulette-frame) * 0.92);}
    #rouletteModal .rw_label {width:78px;}
    #rouletteModal .rw_label span {font-size:10px; line-height:12px; letter-spacing:0;}
    #rouletteModal .rw_label strong {font-size:14px; line-height:16px; letter-spacing:-0.1px;}
    #rouletteModal .r_btn {width:58px; height:58px; margin:-29px 0 0 -29px; padding:7px 0;}
    #rouletteModal .rb_title {font-size:12px; line-height:15px;}
    #rouletteModal .rb_text {font-size:8px; line-height:10px;}
    #rouletteModal .r_bottle {top:calc(var(--roulette-frame) - 44px); width:calc(var(--roulette-frame) * 0.18); height:calc(var(--roulette-frame) * 0.36); margin-left:calc(var(--roulette-frame) * -0.09);}
}
