/* Shared layout reference: Mahjong30 ticket shop and activity pass/exchange.
   Frame and lane art copied unchanged; theme art remains ZhanShen. */
#game.bm-standard-page>#game-header{display:none}
#game.bm-standard-page>#content{top:0;overflow:hidden}
.bm-common-currency{display:flex;align-items:center;gap:10px;padding:4px 16px 4px 7px;border:1px solid #c3b27a66;border-radius:26px;background:#182c29d9;color:#eee2b7;min-height:44px}
.bm-common-currency svg{width:32px;height:32px;color:#d9bf7c}.bm-common-currency b{font-size:25px;font-weight:500}.bm-common-currency small{font-size:16px;color:#c8d0b9}
.bm-common-shop,.bm-common-pass{height:100%;position:relative;overflow:hidden;color:#f1e4c3;background:#28352f}
.bm-common-shop-scene{position:absolute;inset:0 0 auto;height:365px;background:linear-gradient(transparent 40%,#263b34),url('../assets/shop/wall.png') center/cover}
.bm-common-shop-character{position:absolute;top:-8px;left:200px;width:420px;height:320px;object-fit:contain;object-position:50% 16%;filter:drop-shadow(0 8px 14px #0c201c66)}
.bm-common-shop-title{position:absolute;top:34px;left:40px;display:flex;flex-direction:row-reverse;gap:9px;text-shadow:0 2px 3px #152d25}
.bm-common-shop-title h2{writing-mode:vertical-rl;font:bold 36px STKaiti,KaiTi,serif;letter-spacing:6px;margin:0;color:#efd79c}
.bm-common-shop-title>span{writing-mode:vertical-rl;font:18px STKaiti,KaiTi,serif;letter-spacing:6px;color:#b8ccba}
.bm-common-counter{position:absolute;top:239px;left:0;right:0;height:124px;background:url('assets/common/shop-counter.png') left/50% 100% repeat-x}
.bm-common-shop-top{position:absolute;top:261px;left:25px;right:25px;z-index:2;display:flex;align-items:center;justify-content:space-between}
.bm-common-shop-top .icon-button,.bm-common-pass-top .icon-button{width:38px;height:38px;background:#152e29c9;border-color:#b8a670;color:#f2dfb2}
.bm-common-shop-list{position:absolute;top:330px;bottom:0;left:0;right:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9b8d68 #302b23;background:linear-gradient(90deg,#171c17,#514637 5%,#302b23 10% 90%,#514637 95%,#171c17)}
.bm-common-exchange-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:37px 21px;padding:20px 78px 32px;background:repeating-linear-gradient(transparent 0 286px,#17130d 286px 292px,#786347 292px 302px,#30271d 302px 309px)}
.bm-common-exchange-card{position:relative;height:272px;min-width:0;padding:11px 10px 9px;text-align:center;border:3px double #d1a877;border-radius:13px 3px;background:linear-gradient(135deg,#a88766,#765e48 68%,#534838);box-shadow:0 0 0 3px #55422f,0 5px 8px #060c0c99,inset 0 0 0 4px #efd5a433;display:flex;flex-direction:column;align-items:stretch}
.bm-common-exchange-card:before{content:'';position:absolute;inset:7px;border:1px solid #d7b38955;border-radius:5px;pointer-events:none}
.bm-common-exchange-card h3{font:23px STKaiti,KaiTi,serif;color:#fff1d7;text-shadow:1px 2px #694637;margin:0 0 8px;white-space:nowrap;position:relative}
.bm-common-exchange-art{height:131px;width:132px;align-self:center;position:relative;border:1px solid #e4c395;border-radius:9px;background:radial-gradient(ellipse at 35% 30%,#fff2cf,#c9b489);padding:16px;color:#846b3d;box-shadow:inset 0 0 12px #fff4c866}
.bm-common-exchange-art.q1{background:linear-gradient(135deg,#e4e9bb,#9fae84);color:#526a44}.bm-common-exchange-art.q2{background:linear-gradient(135deg,#e3d8ec,#b1a2bf);color:#796184}.bm-common-exchange-art svg{width:80px;height:80px}
.bm-common-exchange-art b{position:absolute;bottom:4px;right:7px;font-size:17px;font-weight:500;color:#fffbe7;text-shadow:1px 1px #432f23,-1px -1px #432f23}
.bm-common-exchange-card p{font-size:16px;color:#ebd4b1;margin:9px -7px 6px;white-space:nowrap}
.bm-common-price{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid #ddc278;border-radius:7px;background:linear-gradient(#fff9c9,#ebd48e);color:#6e6044;padding:2px 5px;box-shadow:inset 0 0 0 2px #fff6d566;font-size:22px}
.bm-common-price svg{width:24px;height:24px}.bm-common-price:disabled{opacity:.72}.bm-common-list-end{text-align:center;font:18px STKaiti,KaiTi,serif;color:#a6a48a;padding:20px 0 28px;margin:0}
.bm-common-item-preview{display:grid;place-items:center;margin:15px auto;width:130px;height:130px;background:#e8dbb7;border:2px solid #cbb77f;border-radius:8px;color:#8c7647}.bm-common-item-preview svg{width:86px;height:86px}
/* Fixed dual-track header and action bar, scrolling rewards only. */
.bm-common-pass{background:radial-gradient(ellipse at 52% 17%,#88634b66,transparent 35%),linear-gradient(#1e302e,#293a35 40%,#212b29 75%,#c3ccba)}
.bm-common-pass-art{position:absolute;left:0;right:0;top:0;height:400px;background:radial-gradient(ellipse at 50% 50%,#ad8b4c44,transparent 65%);overflow:hidden;mask-image:linear-gradient(#000 85%,transparent)}
.bm-common-pass-art img{position:absolute;top:-100px;left:150px;width:450px;height:510px;object-fit:contain;filter:drop-shadow(0 10px 20px #0a191b99)}
.bm-common-pass-top{position:absolute;left:30px;right:30px;top:27px;display:flex;justify-content:space-between;align-items:center}
.bm-common-pass-copy{position:absolute;left:0;right:0;top:326px;text-align:center;background:linear-gradient(transparent,#1c2b29ed 42%,transparent);text-shadow:0 2px 6px #071812;padding:4px 0 16px}
.bm-common-pass-copy>small{font:15px STKaiti,KaiTi,serif;letter-spacing:5px;color:#ead09b}.bm-common-pass-copy h2{display:inline-block;font:bold 45px STKaiti,KaiTi,serif;letter-spacing:7px;margin:0 15px;color:#ffe4a2;vertical-align:middle}.bm-common-pass-copy div>span{font:25px STKaiti,KaiTi,serif;letter-spacing:2px;vertical-align:middle}.bm-common-pass-copy p{font-size:18px;color:#d2cbb5;margin:8px 0 0}
.bm-common-track-head{position:absolute;top:440px;left:22px;right:22px;height:49px;display:grid;grid-template-columns:1fr 104px 1fr;align-items:center;text-align:center;background:linear-gradient(90deg,#647979,#334541 49%,#82633c);border-top:1px solid #9aa488aa;border-bottom:1px solid #b2a17377;font:23px STKaiti,KaiTi,serif;letter-spacing:2px}.bm-common-track-head>small{font:15px sans-serif;color:#d3c5a1}.bm-common-track-head em{display:inline-block;font:13px sans-serif;color:#f0d6a8;padding:4px 7px;border:1px solid #cfad714d;letter-spacing:0;vertical-align:middle}
.bm-common-pass-list{position:absolute;top:489px;left:22px;right:22px;bottom:182px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b5a173 #233934;border-bottom:1px solid #bbaa765e;background:#182822}
.bm-common-pass-row{position:relative;display:grid;grid-template-columns:1fr 1fr;height:120px;margin-bottom:5px;isolation:isolate}
.bm-common-pass-row:before{content:'';position:absolute;left:calc(50% - 4px);width:8px;top:0;bottom:-5px;background:#14241f;border:1px solid #a7a482;z-index:1}
.bm-common-pass-lane{display:flex;gap:8px;align-items:center;justify-content:center;padding-right:34px;background:#758c8d url('assets/common/pass-free.png') center/100% 100%}
.bm-common-pass-lane.premium{gap:17px;padding-right:0;padding-left:34px;background:linear-gradient(#b5844dba,#b5844dba),url('assets/common/pass-premium.png') center/100% 100%;background-blend-mode:color,normal}
.bm-common-milestone{position:absolute;left:50%;top:44px;transform:translateX(-50%);width:103px;height:34px;display:grid;place-items:center;background:linear-gradient(#e1e4df,#c1c7c1 48%,#f0efe2);color:#393d35;border:2px solid #9b9e90;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);font:23px Georgia,serif;z-index:2}
.bm-common-pass-item{position:relative;display:grid;place-items:center;width:72px;height:87px;border:2px solid #f2df9b;border-radius:8px;box-shadow:inset 0 0 0 2px #72562b35,0 3px 6px #152a292f;background:radial-gradient(ellipse at top,#fff9d0,#d9c480);color:#627252;padding:0}.premium .bm-common-pass-item{width:85px}.bm-common-pass-item svg{width:42px;height:42px}.bm-common-pass-item b{position:absolute;right:5px;bottom:3px;color:#fffdf0;font:19px Georgia,serif;text-shadow:1px 1px #463c28,-1px -1px #463c28}.bm-common-pass-item small{position:absolute;top:-1px;right:-1px;font-size:12px;line-height:19px;padding:0 4px;border-radius:0 5px 0 4px;background:#2a403be0;color:#efdfb5}
.bm-common-pass-end{height:121px;display:flex;align-items:center;justify-content:center;gap:20px;background:#3b4b43;color:#efd9a0}.bm-common-pass-end svg{width:70px;height:70px}.bm-common-pass-end b,.bm-common-pass-end small{display:block;margin:8px 0}.bm-common-pass-end b{font:25px STKaiti,KaiTi,serif}.bm-common-pass-end small{font-size:17px;color:#bdc6b3}
.bm-common-pass-bottom{position:absolute;left:35px;right:35px;bottom:28px;height:136px}.bm-common-pass-progress-label{display:flex;justify-content:space-between;align-items:center;color:#e0dfc9;font-size:17px;margin:0 5px 10px}.bm-common-pass-progress-label button{background:none;color:#e8d098;font-size:16px;padding:0}.bm-common-pass-progress{height:5px;background:#102a26;margin-bottom:22px}.bm-common-pass-progress i{display:block;width:0;height:100%;background:#d9b76e}.bm-common-pass-actions{display:flex;gap:38px}.bm-common-pass-actions>button{flex:1;height:78px;padding:0;background:linear-gradient(#fff3bd,#fff9d6);border:2px solid #b29359;outline:1px solid #decb91;outline-offset:3px;border-radius:10px;box-shadow:inset 0 0 0 4px #f1de99,0 4px 6px #10251d55;color:#80452b;font:29px STKaiti,KaiTi,serif}.bm-common-pass-actions>button:nth-child(2){background:linear-gradient(#ffda86,#fff4b9);color:#963c26;box-shadow:inset 0 0 0 4px #edb862,0 4px 6px #10251d55}.bm-common-pass-actions>button:disabled{opacity:.7;filter:saturate(.45)}
/* Same paper frame, brush ribbon, reward-left / limit-price-right gift row. */
.modal.bm-common-gift-dialog{width:600px;height:930px;max-height:1130px;padding:26px 30px 24px;border:14px solid transparent;border-image:url('assets/common/gift-row.png') 37 fill / 14px / 0 stretch;border-radius:0;background:#eee9dc url('assets/common/paper.png');overflow:hidden;color:#654b30;box-shadow:0 15px 60px #07110b99;display:flex;flex-direction:column}
.modal.bm-common-gift-dialog>h2{align-self:center;flex-shrink:0;display:grid;place-items:center;min-width:264px;height:58px;margin:0 0 20px;border:15px solid transparent;border-image:url('assets/common/gift-title.png') 13 21 13 21 fill / 15px 21px / 0 stretch;font:34px STKaiti,KaiTi,serif;color:#241f18;letter-spacing:3px}
.bm-common-gift-dialog>.modal-close{position:absolute;right:0;top:0;border:2px solid #b69a71;border-radius:4px;background:#f3ead8;width:48px;height:48px;font:38px/1 sans-serif;color:#775d3e;padding:0}
.bm-common-gift-balance{display:flex;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-bottom:18px;color:#8a734c;font-size:18px}.bm-common-gift-balance svg{width:27px;height:27px}.bm-common-gift-balance b{font-size:25px}
.bm-common-gift-list{flex:1;min-height:0;padding:15px 10px 24px;display:flex;flex-direction:column;gap:10px;background:#77796829;border-radius:6px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9ad91 transparent}
.bm-common-gift-list article{flex:0 0 178px;position:relative;border:9px solid transparent;border-image:url('assets/common/gift-row.png') 37 fill / 9px / 0 stretch;box-shadow:0 2px 3px #67563942}
.bm-common-gift-list h3{position:relative;margin:-4px -5px 0;height:36px;padding:1px 18px 0 30px;color:#fffaf0;font:25px/34px sans-serif;letter-spacing:1px;isolation:isolate}.bm-common-gift-list h3:before{content:'';position:absolute;inset:0 112px 0 0;background:url('assets/common/gift-ribbon.png') left center/100% 100% no-repeat;filter:saturate(.42) brightness(.85);z-index:-1}
.bm-common-gift-body{display:flex;align-items:center;justify-content:space-between;padding:16px 17px 12px 22px;gap:18px}.bm-common-gift-reward{position:relative;flex:none;width:90px;height:90px;display:grid;place-items:center;border:1px solid #b9a569;border-radius:9px;background:linear-gradient(125deg,#f8edb8,#e5d797);color:#a57f38}.bm-common-gift-reward svg{width:57px;height:57px}.bm-common-gift-reward b{position:absolute;right:4px;bottom:1px;font:18px/1.1 sans-serif;color:white;text-shadow:1px 1px #382b21,-1px -1px #382b21}.bm-common-gift-buy{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:144px}.bm-common-gift-buy small{font:18px/30px sans-serif;white-space:nowrap;color:#966e40}.bm-common-gift-buy>button{width:140px;height:49px;padding:0 6px;border:12px solid transparent;border-image:url('assets/common/gift-price.png') 11 16 13 15 fill / 12px 16px / 0 stretch;background:none;color:#976312;font:23px/1 STKaiti,KaiTi,serif;white-space:nowrap}.bm-common-gift-buy>button:disabled{opacity:.7;filter:saturate(.5)}.modal.bm-common-gift-dialog>p.bm-common-gift-note{text-align:center;font-size:16px;color:#95866b;margin:14px 0 0;line-height:1.4}
