:root{
  --bg:#050505;--black:#090909;--black2:#111111;--panel:#101010;
  --white:#f7f5ef;--ivory:#fffdf7;--gold:#c9a45b;--gold2:#f0d58c;--gold3:#fff0bd;
  --line:#5c4928;--line2:#a98a4d;--muted:#a9a59c;--red:#df3343;
}
*{box-sizing:border-box}html{background:#050505}body{margin:0;color:var(--white);background:
radial-gradient(circle at 50% 10%,#3b322018 0,transparent 32%),
linear-gradient(180deg,#060606 0,#0b0b0b 52%,#030303 100%);
font-family:Arial,"Noto Sans KR",sans-serif;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background:
linear-gradient(90deg,transparent 0 7%,#c9a45b08 7.1% 7.2%,transparent 7.3% 92.7%,#c9a45b08 92.8% 92.9%,transparent 93%),
radial-gradient(circle at 50% 0,#fff6d70b,transparent 35%);z-index:-1}
a{color:inherit}.header{height:70px;background:#050505f2;border-bottom:1px solid #6f5a31;display:flex;align-items:center;padding:0 24px;gap:30px;position:sticky;top:0;z-index:50;box-shadow:0 8px 28px #000b}
.logo{font:24px Georgia,serif;letter-spacing:4px;white-space:nowrap;color:#fff}.logo small{display:block;font:7px Arial;letter-spacing:2.7px;color:#b9aa88;text-align:center;margin-top:3px}
.nav{display:flex;gap:27px;color:#9d9a92;font-size:13px}.nav span{cursor:pointer}.nav .active{color:#f1d48b}.profile{margin-left:auto;display:flex;align-items:center;gap:9px}.profile .btn{white-space:nowrap}
.avatar{width:40px;height:40px;border-radius:50%;border:1px solid #d9b66a;background:linear-gradient(135deg,#28251f,#0c0c0c);display:grid;place-items:center;font-weight:900;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}
.btn{border:1px solid #876b35;background:linear-gradient(180deg,#181713,#0e0e0d);color:#efd58f;padding:9px 13px;border-radius:7px;cursor:pointer;box-shadow:inset 0 1px #fff1b11c}.btn:hover{filter:brightness(1.18);border-color:#c7a85e}
.layout{max-width:1540px;margin:auto;padding:16px;display:grid;grid-template-columns:225px minmax(560px,1fr) 310px;gap:16px}.card{background:linear-gradient(180deg,#111,#090909);border:1px solid #544322;border-radius:10px;box-shadow:0 22px 60px #000d}
.left{padding:12px}.member{padding:14px;border:1px solid #514225;border-radius:8px;background:linear-gradient(180deg,#151515,#0b0b0b)}.member .avatar{margin-bottom:9px}.badge{font-size:10px;border:1px solid #625638;border-radius:12px;padding:4px 7px;color:#c8bd9f}
.tickets{margin-top:12px;padding:14px;border:1px solid #9b7c3c;background:linear-gradient(145deg,#1c1913,#0d0d0d);border-radius:8px}.tickets b{display:block;font-size:30px;color:#fff0b7;margin:4px 0 9px}.tickets .btn{width:100%}
.menu{margin-top:12px}.menuItem{display:block;padding:13px 8px;border-bottom:1px solid #282828;color:#aaa;text-decoration:none;font-size:13px}.menuItem:hover{color:#fff1bc;background:#c9a45b08}.menuItem.selected{color:#f3d88e;border-left:2px solid #d5b363;padding-left:10px;background:linear-gradient(90deg,#c9a45b13,transparent)}
.poster{margin-top:13px;padding:20px 14px;min-height:150px;border:1px solid #514425;background:linear-gradient(135deg,#141414,#070707);font:21px Georgia;line-height:1.4;position:relative;overflow:hidden}.poster:after{content:"🏛️  ✦  🏛️";position:absolute;right:8px;bottom:6px;font-size:20px;opacity:.28}.poster small{font:11px Arial;color:#aaa}.poster i{font:10px Arial;color:#c9a45b;letter-spacing:2px}
.machine{position:relative;overflow:hidden;padding:12px 16px 18px;background:linear-gradient(180deg,#0d0d0d,#111 46%,#080808);border:1px solid #d1ad62;border-radius:18px;box-shadow:0 0 0 3px #19150e,0 0 70px #d1ad6220}
.machine:before,.machine:after{content:"";position:absolute;pointer-events:none}.machine:before{inset:8px;border:1px solid #f0d58c33;border-radius:13px}.machine:after{left:8%;right:8%;top:8px;height:2px;background:linear-gradient(90deg,transparent,#f0d58c,transparent);opacity:.45}
.templeCrest{height:27px;display:flex;justify-content:center;align-items:center;gap:10px;color:#e8ce8d;font-size:13px;opacity:.9}.templeCrest i{width:70px;height:1px;background:linear-gradient(90deg,transparent,#b99752,transparent)}
.mtop{text-align:center;font-family:Georgia,serif;letter-spacing:5px;color:#f5dfaa;padding:1px 0 8px}.mtop .big{font-size:45px;font-weight:bold;letter-spacing:4px;text-shadow:0 2px 16px #fff0b833}.mtop .sub{font:9px Arial;letter-spacing:5px;color:#a99d83;margin-top:4px}
.slotFrame{position:relative;margin:5px auto;width:min(720px,95%);padding:22px 18px 24px;border-radius:14px;background:linear-gradient(135deg,#181818,#080808 15%,#151515 50%,#080808 85%,#181818);box-shadow:inset 0 0 0 1px #d0ad6333,0 12px 35px #000}
.slotFrame:before,.slotFrame:after{position:absolute;font-size:20px;color:#e9d39a;opacity:.9}.slotFrame:before{content:"✦";top:7px;left:9px}.slotFrame:after{content:"✦";bottom:7px;right:9px}
.reelWindow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;background:#030303;border:2px solid #c5a157;border-radius:9px;box-shadow:inset 0 0 35px #000,0 0 0 1px #fff0bd1a}.reel{height:290px;overflow:hidden;position:relative;background:linear-gradient(90deg,#d4d1ca,#fffdf7 13%,#f4f2ed 50%,#fffdf7 87%,#c8c4bc);border-radius:4px;box-shadow:inset 0 0 18px #555,0 0 0 1px #d2b66f}.strip{position:absolute;left:0;right:0;top:0}.symbol{height:96px;display:grid;place-items:center;position:relative;font-weight:900}.symbol.celestial{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.symbolCore{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px;line-height:1}.symbolIcon{font-size:54px;filter:drop-shadow(0 3px 2px #0004)}.symbolLabel{font:700 8px Arial;letter-spacing:2px;color:#5f584d;margin-top:4px}.symbolAmount{font:700 8px Arial;color:#6c5a31;margin-top:3px}.sideWing{position:absolute;font-size:18px;color:#c8b27d;opacity:.38;top:38px}.sideWingL{left:16px}.sideWingR{right:16px}.symbol.finalTarget .symbolIcon{filter:drop-shadow(0 0 8px #d6b35c);transform:scale(1.04)}.symbol.finalTarget .symbolLabel{color:#92743a}.symbol.locked .symbolIcon{animation:lockGlow .55s ease-out}.symbol.crown .symbolIcon{font-size:58px}.symbol.angel .symbolIcon,.symbol.wing .symbolIcon{font-size:56px}.symbol.temple .symbolIcon{font-size:54px}.symbol.heart .symbolIcon{font-size:57px}.symbol.cloud .symbolIcon{font-size:50px}.symbol.star .symbolIcon{font-size:54px}.symbol.ticket .symbolIcon{font-size:52px}.symbol.point .symbolIcon{font-size:54px}@keyframes lockGlow{0%{transform:scale(.9);filter:drop-shadow(0 0 0 #d6b35c)}55%{transform:scale(1.15);filter:drop-shadow(0 0 18px #e8cc80)}100%{transform:scale(1.04);filter:drop-shadow(0 0 8px #d6b35c)}}
.line{position:absolute;z-index:4;left:0;right:0;top:50%;height:2px;background:#e83444;box-shadow:0 0 13px #ff3344;transform:translateY(-50%);pointer-events:none}.lever{position:absolute;right:-30px;top:24%;width:54px;height:190px;z-index:10;filter:drop-shadow(0 8px 12px #000a);pointer-events:none}.leverMount{position:absolute;right:4px;top:46px;width:18px;height:116px;border:1px solid #b9964d;border-radius:12px;background:linear-gradient(90deg,#17130d,#5d4724 48%,#17130d);box-shadow:inset 0 0 8px #000,0 0 0 1px #f5d98b22}.leverMount:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:#f2d48b;box-shadow:0 0 0 3px #3b2c17,0 0 10px #e6c46d}.rod{position:absolute;right:12px;bottom:37px;width:7px;height:126px;border-radius:999px;background:linear-gradient(90deg,#5b431f 0,#c99f50 30%,#fff0ad 50%,#c99f50 70%,#5b431f 100%);box-shadow:inset 0 0 2px #fff8d2,0 0 7px #c9a45b66;transform-origin:bottom center;transform:rotate(-18deg);transition:transform .42s cubic-bezier(.2,.8,.2,1)}.knob{position:absolute;right:-1px;top:4px;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff9dc 0,#f1d38a 22%,#c49a4d 50%,#6c4c1e 78%,#1b140a 100%);border:2px solid #f1d58d;box-shadow:inset 0 1px 2px #fff8d6,0 3px 0 #5b421d,0 7px 16px #000b;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.knob:after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid #fff2bd55}.lever.pulled .rod{transform:rotate(22deg)}.lever.pulled .knob{transform:translate(-7px,34px)}
.machineBottom{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:15px}.spin{width:250px;height:64px;border-radius:14px;border:1px solid #e6c77c;background:linear-gradient(180deg,#fbf7ea,#d9d1bd);color:#111;font-size:27px;font-weight:1000;letter-spacing:5px;box-shadow:0 0 25px #d5b76a2b,inset 0 1px #fff;cursor:pointer}.spin:hover{filter:brightness(1.04)}.spin:disabled{opacity:.45}.smallBox{min-width:145px;padding:13px 16px;border:1px solid #62512f;background:#0b0b0b;border-radius:9px;text-align:center;color:#a9a59d;font-size:11px}.smallBox b{display:block;color:#f4e6c1;font-size:18px;margin-top:4px}.result{text-align:center;min-height:46px;padding-top:10px;font-weight:900;font-size:21px;color:#fff}.result span{color:#f0d58c}.sideText{text-align:center;color:#777;font-size:10px;margin-top:10px;letter-spacing:.7px}
.right{padding:13px}.rtitle{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid #2d2d2b}.rtitle b{color:#f2e8d0}.infoBody{padding:12px 0 4px;font-size:12px;line-height:1.7;color:#c1bdb4;min-height:150px}.infoBody a{color:#e8cb82;text-decoration:underline}.right h3{font-size:18px;margin-top:22px}.live{color:#65dc9a;font-size:10px}.feed{max-height:390px;overflow:hidden}.feedItem{padding:9px 0;border-bottom:1px solid #292929;font-size:12px;line-height:1.5}.feedItem .name{font-weight:bold}.win{color:#c7b2ff}.lose{color:#c78d95}.jack{color:#f3d887}
.toastWrap{position:fixed;right:17px;bottom:17px;width:310px;z-index:70;display:flex;flex-direction:column;gap:7px;pointer-events:none}.toast{background:#0e0e0eee;border:1px solid #765d31;border-left:3px solid #e0c277;padding:11px 13px;border-radius:8px;box-shadow:0 8px 30px #000c;font-size:12px;animation:toastIn .25s}.toast strong{color:#f5dda2}@keyframes toastIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
#fx{position:fixed;inset:0;pointer-events:none;z-index:60}.maintenance{position:fixed;inset:0;background:#050505f4;z-index:200;display:grid;place-items:center;text-align:center;font-size:28px;font-weight:900}.maintenance.hidden{display:none}.soundToggle{margin-left:4px;white-space:nowrap;background:#0d0d0d;border:1px solid #665532;color:#e9d18d;border-radius:7px;padding:8px 10px;cursor:pointer}.soundToggle.muted{color:#777;border-color:#38342b}
.machine.isSpinning{box-shadow:0 0 0 3px #19150e,0 0 85px #d1ad6230}.machine.isSpinning .slotFrame{filter:saturate(1.08)}.machine.isSpinning .reelWindow{box-shadow:inset 0 0 35px #000,0 0 22px #e5b85b2a}.strip.rolling{animation:reelRoll .10s linear infinite;filter:blur(1.2px)}@keyframes reelRoll{from{transform:translateY(0)}to{transform:translateY(-96px)}}.strip.settled{filter:none!important}.resultPulse{animation:resultPulse .55s ease-out}@keyframes resultPulse{0%{transform:scale(.9);opacity:.2}55%{transform:scale(1.05);opacity:1}100%{transform:scale(1)}}
@media(max-width:1150px){.layout{grid-template-columns:190px 1fr}.right{grid-column:1/-1}.feed{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav{display:none}}@media(max-width:760px){.header{padding:0 10px}.soundToggle{font-size:10px}.left{display:none}.layout{grid-template-columns:1fr;padding:8px}.machine{padding:8px}.mtop .big{font-size:32px}.reel{height:235px}.symbol{height:78px}.symbolIcon{font-size:43px}.sideWing{display:none}.slotFrame{width:100%;padding-right:28px}.lever{display:block;right:-20px;top:25%;width:40px;height:145px;transform:scale(.78);transform-origin:right center}.leverMount{right:0;top:36px;height:88px;width:15px}.rod{right:7px;bottom:27px;height:92px;width:5px}.knob{right:-2px;top:0;width:40px;height:40px}.lever.pulled .knob{transform:translate(-5px,26px)}.machineBottom{gap:6px}.smallBox{min-width:90px;padding:10px 5px}.spin{width:180px;height:57px;font-size:22px}}
@media(max-width:390px){.slotFrame{padding-left:10px;padding-right:24px}.lever{right:-18px;transform:scale(.68)}.reelWindow{gap:5px;padding:6px}.reel{height:228px}.symbol{height:76px}.symbolIcon{font-size:40px}.machineBottom{gap:4px}.smallBox{min-width:82px;font-size:10px}.smallBox b{font-size:15px}.spin{width:155px;font-size:19px}}

.myPoints{margin:14px auto 0;max-width:720px;border:1px solid #69552e;border-radius:10px;background:linear-gradient(180deg,#14120d,#090909);padding:12px 15px;box-shadow:inset 0 0 20px #d2b56b0d}.pointsHead{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#d8c58e;font-size:12px}.pointsHead strong{font-size:20px;color:#f7e8bd;letter-spacing:.5px}.pointsMeta{font-size:10px;color:#8f897c;margin-top:4px}.pointHistory{margin-top:8px;border-top:1px solid #2a271f}.pointHistoryItem{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #25231f;font-size:10px;color:#aaa}.pointHistoryItem b{color:#e9cc7b}.pointEmpty{font-size:10px;color:#777;margin-top:6px}.pointAdminBalance{display:flex;align-items:center;gap:10px}.pointAdminBalance strong{color:#f1d78e;min-width:145px;text-align:right}.pointMember{background:linear-gradient(90deg,#14120e,#0c0c0c);border-color:#5b4a2b}@media(max-width:760px){.myPoints{margin-top:10px}.pointsHead strong{font-size:18px}.pointAdminBalance{width:100%;justify-content:space-between}.pointAdminBalance strong{min-width:0;text-align:left}}

/* =========================================================
   MA | HEAVEN Responsive / Mobile UI
   Mobile keeps the desktop atmosphere but changes the layout
   to a single-column, touch-first experience.
   ========================================================= */
html{scroll-behavior:smooth}body{overflow-x:hidden}.header,.layout,.machine,.left,.right{min-width:0}.nav a{text-decoration:none;color:inherit}.nav a.active{color:#f1d48b}
.mobileNav{display:none}

@media (max-width: 760px){
  body{padding-bottom:74px}
  .header{height:62px;padding:0 10px;gap:8px;position:sticky;top:0}
  .logo{font-size:17px;letter-spacing:2.5px;line-height:1}.logo small{font-size:5px;letter-spacing:1.5px;margin-top:4px}
  .nav{display:none}
  .profile{gap:5px;min-width:0}.profile>div:not(.avatar){display:none}.profile .avatar{width:34px;height:34px;flex:0 0 auto}.profile .btn{font-size:10px;padding:7px 8px}
  .soundToggle{font-size:0;width:36px;height:34px;padding:0;display:grid;place-items:center;margin:0}.soundToggle:before{content:"🔊";font-size:14px}.soundToggle.muted:before{content:"🔇"}

  .layout{display:flex;flex-direction:column;gap:10px;padding:8px;margin:0;max-width:none}
  .machine{order:1;width:100%;border-radius:14px;padding:8px 8px 14px;box-shadow:0 0 0 2px #19150e,0 0 35px #d1ad6218}
  .left{order:2;display:block;width:100%;padding:10px;border-radius:12px}
  .right{order:3;display:block;width:100%;padding:10px;border-radius:12px}

  .templeCrest{height:23px;gap:5px;font-size:10px}.templeCrest i{width:42px}
  .mtop{letter-spacing:3px;padding-bottom:7px}.mtop .big{font-size:clamp(27px,8vw,36px);letter-spacing:2px}.mtop .sub{font-size:7px;letter-spacing:3px}
  .slotFrame{width:100%;margin:4px auto 0;padding:12px 18px 15px 10px;border-radius:11px}
  .reelWindow{gap:4px;padding:5px;border-radius:7px}
  .reel{height:clamp(210px,61vw,255px)}
  .symbol{height:78px}.symbolIcon{font-size:42px}.symbol.crown .symbolIcon{font-size:46px}.symbol.angel .symbolIcon,.symbol.wing .symbolIcon{font-size:45px}.symbol.temple .symbolIcon{font-size:43px}.symbol.heart .symbolIcon{font-size:46px}.symbol.cloud .symbolIcon{font-size:41px}.symbol.star .symbolIcon{font-size:44px}.symbol.ticket .symbolIcon,.symbol.point .symbolIcon{font-size:42px}.symbolLabel{font-size:7px;letter-spacing:1.5px}.symbolAmount{font-size:7px}.sideWing{display:none}
  .lever{right:-16px;top:24%;transform:scale(.62);transform-origin:right center}
  .line{left:0;right:0}
  .result{font-size:16px;min-height:54px;padding:11px 8px 0;line-height:1.45}
  .machineBottom{display:grid;grid-template-columns:minmax(78px,.75fr) minmax(0,1.5fr) minmax(78px,.75fr);gap:5px;margin-top:8px}
  .smallBox{min-width:0;width:100%;padding:9px 4px;font-size:9px}.smallBox b{font-size:15px;margin-top:3px}
  .spin{width:100%;height:56px;font-size:20px;letter-spacing:3px;border-radius:11px}
  .myPoints{margin-top:9px;padding:11px 12px}.pointsHead{font-size:11px}.pointsHead strong{font-size:18px}.pointHistoryItem{font-size:9px}
  .sideText{font-size:8px;margin-top:8px}

  /* Desktop sidebar information becomes normal mobile content instead of disappearing. */
  .left .member{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:10px}.left .member .avatar{grid-row:span 2;margin:0;width:42px;height:42px}.left .member strong{align-self:end}.left .member .badge{align-self:start;justify-self:start}
  .tickets{margin-top:8px;padding:11px}.tickets b{font-size:26px}.tickets .btn{min-height:42px}
  .menu{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;margin-top:8px}.menuItem{padding:11px 7px;font-size:11px}.menuItem.selected{padding-left:9px}
  .poster{margin-top:9px;min-height:0;padding:14px 12px;font-size:17px}.poster small{font-size:10px}.poster i{font-size:8px}
  .rtitle{padding-bottom:9px}.infoBody{font-size:11px;line-height:1.65;min-height:0;padding:10px 0 2px}.right h3{font-size:15px;margin:15px 0 7px}.feed{max-height:245px;overflow:auto;display:block}.feedItem{padding:8px 0;font-size:10px}

  .mobileNav{display:grid;position:fixed;left:8px;right:8px;bottom:8px;height:58px;grid-template-columns:repeat(4,1fr);z-index:100;border:1px solid #6a542c;border-radius:14px;background:linear-gradient(180deg,#15130fef,#080808f5);box-shadow:0 12px 40px #000e,0 0 0 1px #fff1bd0a;backdrop-filter:blur(10px);padding:4px}
  .mobileNavItem{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;color:#8f8b82;font-size:16px;border-radius:10px}.mobileNavItem span{font-size:8px;letter-spacing:1px}.mobileNavItem.active{color:#f0d58c;background:#c9a45b12;box-shadow:inset 0 0 18px #c9a45b10}
  .toastWrap{left:10px;right:10px;bottom:75px;width:auto}.toast{font-size:11px}
}

@media (max-width: 390px){
  .logo{font-size:15px}.logo small{display:none}.profile .btn{font-size:9px;padding:6px}
  .machine{padding-left:6px;padding-right:6px}.slotFrame{padding-right:16px;padding-left:7px}.reel{height:205px}.symbol{height:68px}.symbolIcon{font-size:37px}.symbol.crown .symbolIcon{font-size:41px}.symbol.angel .symbolIcon,.symbol.wing .symbolIcon{font-size:40px}.symbol.temple .symbolIcon{font-size:38px}.symbol.heart .symbolIcon{font-size:41px}.symbol.cloud .symbolIcon{font-size:36px}.symbol.star .symbolIcon{font-size:38px}.symbol.ticket .symbolIcon,.symbol.point .symbolIcon{font-size:36px}.symbolLabel{font-size:6px}.result{font-size:14px}.smallBox{font-size:8px}.smallBox b{font-size:13px}.spin{font-size:18px;height:52px}.menu{grid-template-columns:1fr}.mobileNav{left:5px;right:5px;bottom:5px}
}

/* =========================================================
   MA | HEAVEN MOBILE V2 — HARD LAYOUT ALIGNMENT
   Prevent fixed desktop widths/padding from leaking into phones.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
*,*:before,*:after{box-sizing:border-box;min-width:0}

@media (max-width:760px){
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;}
  .header{
    width:100%;height:58px;padding:0 8px;gap:6px;
    display:grid;grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
  }
  .logo{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:16px;letter-spacing:2px}
  .logo small{display:none}
  .profile{margin-left:0;gap:5px;min-width:0;display:flex;align-items:center}
  .profile>div:not(.avatar){display:none!important}
  .profile .avatar{width:32px;height:32px;flex:0 0 32px}
  .profile .btn{font-size:9px;padding:6px 7px;white-space:nowrap}
  .soundToggle{width:32px;height:32px;flex:0 0 32px;padding:0;margin:0;font-size:0}
  .soundToggle:before{font-size:13px}

  .layout{width:100%;max-width:none;padding:7px;gap:9px;display:flex;flex-direction:column;overflow:visible}
  .machine{width:100%;max-width:100%;margin:0;padding:7px 7px 13px;border-radius:13px;overflow:hidden}

  .templeCrest{height:20px;gap:4px;font-size:9px}
  .templeCrest i{width:34px}
  .mtop{padding:1px 0 7px;letter-spacing:2px;overflow:hidden}
  .mtop .big{font-size:clamp(27px,8.6vw,35px);letter-spacing:2px;line-height:1.05;white-space:nowrap}
  .mtop .sub{font-size:6.5px;letter-spacing:2.7px;white-space:nowrap}

  /* The slot frame uses equal horizontal padding on both sides. */
  .slotFrame{
    width:100%;max-width:100%;margin:3px 0 0;
    padding:10px 9px 12px;border-radius:10px;overflow:hidden;
  }
  .reelWindow{
    width:100%;max-width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;padding:4px;border-width:2px;border-radius:7px;
  }
  .reel{
    width:100%;min-width:0;height:clamp(204px,58vw,244px);
    border-radius:4px;overflow:hidden;
  }
  .strip{width:100%;min-width:0}
  .symbol{width:100%;height:78px;min-width:0;overflow:hidden}
  .symbolCore{min-width:0;width:100%;max-width:100%;overflow:hidden}
  .symbolIcon{font-size:40px;line-height:1}
  .symbol.crown .symbolIcon{font-size:44px}
  .symbol.angel .symbolIcon,.symbol.wing .symbolIcon{font-size:43px}
  .symbol.temple .symbolIcon{font-size:41px}
  .symbol.heart .symbolIcon{font-size:44px}
  .symbol.cloud .symbolIcon{font-size:39px}
  .symbol.star .symbolIcon{font-size:42px}
  .symbol.ticket .symbolIcon,.symbol.point .symbolIcon{font-size:40px}
  .symbolLabel{font-size:6.5px;letter-spacing:1.2px;white-space:nowrap}
  .symbolAmount{font-size:6.5px;white-space:nowrap}

  /* Align the center win line to the actual reel area, not the whole frame. */
  .line{left:9px;right:9px}
  .lever{right:-7px;top:25%;transform:scale(.50);transform-origin:right center}

  .result{width:100%;min-height:52px;padding:10px 6px 0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
  .machineBottom{
    width:100%;display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.55fr) minmax(0,.82fr);
    gap:5px;margin-top:7px;
  }
  .smallBox{width:100%;min-width:0;padding:8px 3px;font-size:8.5px;overflow:hidden}
  .smallBox b{font-size:14px;white-space:nowrap}
  .spin{width:100%;min-width:0;height:54px;font-size:19px;letter-spacing:3px;padding:0}
  .myPoints{width:100%;max-width:none;margin-top:8px;padding:10px 11px;overflow:hidden}
  .pointsHead{min-width:0}.pointsHead strong{font-size:17px;white-space:nowrap}
  .pointHistoryItem{font-size:8.5px;min-width:0}.pointHistoryItem span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sideText{width:100%;font-size:7.5px;line-height:1.4;overflow-wrap:anywhere}

  /* Keep desktop side content visible, but stack it cleanly below the game. */
  .left,.right{width:100%;max-width:100%;display:block;padding:9px;overflow:hidden}
  .left{order:2}.right{order:3}
  .member,.tickets,.poster,.right>*{max-width:100%}
  .menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7px}
  .poster{padding:13px 11px;font-size:16px}

  .mobileNav{left:6px;right:6px;bottom:6px;width:auto;max-width:none}
}

@media (max-width:390px){
  .header{height:56px;padding:0 7px}
  .logo{font-size:15px;letter-spacing:1.7px}
  .profile .avatar{width:30px;height:30px;flex-basis:30px}
  .profile .btn{font-size:8px;padding:5px 6px}
  .soundToggle{width:30px;height:30px;flex-basis:30px}
  .layout{padding:6px;gap:8px}
  .machine{padding:6px 6px 11px}
  .slotFrame{padding:8px 7px 10px}
  .reelWindow{gap:3px;padding:3px}
  .reel{height:200px}
  .symbol{height:66px}
  .symbolIcon{font-size:35px}
  .symbol.crown .symbolIcon{font-size:39px}
  .symbol.angel .symbolIcon,.symbol.wing .symbolIcon{font-size:38px}
  .symbol.temple .symbolIcon{font-size:36px}
  .symbol.heart .symbolIcon{font-size:39px}
  .symbol.cloud .symbolIcon{font-size:34px}
  .symbol.star .symbolIcon{font-size:36px}
  .symbol.ticket .symbolIcon,.symbol.point .symbolIcon{font-size:34px}
  .symbolLabel{font-size:5.5px;letter-spacing:1px}
  .result{font-size:13.5px}
  .smallBox{font-size:8px;padding-left:2px;padding-right:2px}
  .smallBox b{font-size:12.5px}
  .spin{height:50px;font-size:17px}
}

/* MA | HEAVEN V2 shared sound controls */
.soundPanel{position:fixed;right:18px;top:66px;z-index:120;width:255px;padding:14px;border:1px solid #765d31;border-radius:9px;background:#0d0d0def;box-shadow:0 18px 45px #000d;backdrop-filter:blur(10px)}.soundPanel>b{display:block;color:#f1d48b;font:14px Georgia;margin-bottom:11px}.soundPanel label{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:center;font-size:10px;color:#bdb7aa;margin:9px 0}.soundPanel input{width:100%;accent-color:#c9a45b}.soundPanel button{width:100%;border:1px solid #5d4928;background:#111;color:#d9bd7b;padding:8px;border-radius:6px}.soundPanel.hidden{display:none!important}
@media(max-width:760px){.soundPanel{left:8px;right:8px;top:auto;bottom:72px;width:auto}.soundToggle{z-index:121}}
