/* Telegram Mini App · BALI compact fullscreen system.
   One viewport per tab: swipe remains horizontal for posters/cards, never vertical for pages.
   Catalogs and long histories use explicit navigation. Checkout/details use isolated dialogs. */
:root{--compact-gap:clamp(6px,1.12dvh,11px);--compact-edge:rgba(245,204,134,.30)}
html,body,body.bali-guest-theme,#root{height:100%;max-height:100dvh;overflow:hidden!important;overscroll-behavior:none}
body.bali-guest-theme .app{
 height:100dvh!important;max-height:100dvh;min-height:0;overflow:hidden!important;
}
body.bali-guest-theme .head{
 height:clamp(43px,7dvh,61px)!important;min-height:0!important;flex:none;
 padding:7px clamp(12px,3.8vw,20px)!important;
}
body.bali-guest-theme .head .brand{font-size:clamp(20px,3.4dvh,25px)}
body.bali-guest-theme .tg-brand-caption{font-size:7px;line-height:1.2;margin-top:2px}
body.bali-guest-theme .tg-live-pill{font-size:8px;padding:4px 7px}
body.bali-guest-theme .tg-header-right .small{font-size:8px}
body.bali-guest-theme .main{
 display:flex!important;flex:1 1 0;min-height:0;min-width:0;
 padding:var(--compact-gap) clamp(9px,3.5vw,18px) 5px!important;
 overflow:hidden!important;overscroll-behavior:none;-webkit-overflow-scrolling:auto;
}
body.bali-guest-theme .nav{
 height:clamp(51px,9dvh,68px)!important;min-height:0!important;flex:none;
 padding:4px 3px 5px!important;gap:2px;
}
body.bali-guest-theme .nav button{gap:3px;padding:3px 2px;min-height:0;font-size:clamp(8px,1.45dvh,10px)}
body.bali-guest-theme .tg-nav-glyph{
 width:clamp(24px,4.4dvh,34px);height:clamp(24px,4.4dvh,34px);font-size:clamp(14px,2.8dvh,18px);
}
.tg-page{
 display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;
 gap:0;height:100%;max-height:100%;overflow:hidden;
}
body.bali-guest-theme .tg-title{
 flex:none;font-size:clamp(20px,3.9dvh,30px)!important;line-height:1.08;
}
body.bali-guest-theme .tg-eyebrow{
 flex:none;font-size:clamp(8px,1.3dvh,9px);margin-bottom:3px;letter-spacing:.12em;
}
body.bali-guest-theme .tg-eyebrow::before{width:11px}
body.bali-guest-theme .tg-lead{
 flex:none;font-size:10px;line-height:1.35;margin:4px 0 7px;
}
body.bali-guest-theme .tg-panel{
 padding:clamp(9px,1.6dvh,14px);border-radius:17px;
 box-shadow:0 2px 0 #673f25,0 8px 19px #0008,inset 0 1px #ffdf982d;
}
body.bali-guest-theme .tg-panel-title{font-size:clamp(13px,2.3dvh,16px)}
body.bali-guest-theme .tg-chip{font-size:9px;padding:4px 7px;border-radius:7px}
body.bali-guest-theme .button{padding:8px 10px;border-radius:11px;min-height:35px;font-size:11px}
body.bali-guest-theme .notice{font-size:10px;padding:8px;margin:6px 0;max-height:75px;overflow:hidden}
body.bali-guest-theme .tiles{margin:0;gap:var(--compact-gap);perspective:950px}
body.bali-guest-theme .tile{
 min-height:0;padding:9px 12px 9px 40px!important;display:flex;flex-direction:column;
 justify-content:center;gap:3px;border-radius:12px;box-shadow:0 3px 0 #111016,0 6px 15px #0008,inset 0 1px #fff2be30;
}
body.bali-guest-theme .tile b{font-size:clamp(11px,1.7dvh,13px)}
body.bali-guest-theme .tile .small{font-size:9px;line-height:1.1;margin:0}
body.bali-guest-theme .tile .tg-tile-figure{
 top:50%;left:9px;transform:translateY(-55%);
 width:26px;height:26px;border-radius:8px;font-size:17px;box-shadow:0 3px 0 #21171b,0 6px 10px #0008;
}
/* Membership home. Depth is retained for the actual reversible card, not a separate WebGL coin. */
.tg-page-card{justify-content:flex-start}
.tg-card-heading{
 display:flex;justify-content:space-between;align-items:center;gap:8px;
 margin:0 0 2px!important;flex:none;min-height:36px;
}
.tg-card-heading .tg-title{font-size:clamp(20px,3.8dvh,30px)!important}
.tg-card-meta{font-size:9px;line-height:1}
.tg-card-stage{flex:none;min-height:0;padding:0}
.tg-card-plinth{
 padding:clamp(2px,.7dvh,7px) 0 clamp(4px,.7dvh,7px)!important;
 border-radius:18px;overflow:visible;
}
body.bali-guest-theme #baliIdSection.tg-original-card{
 width:min(100%,clamp(190px,calc((100dvh - 214px) * 1.45),375px))!important;
 max-width:375px!important;
}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-scene{
 max-width:375px!important;
 filter:drop-shadow(0 6px 8px #0009) drop-shadow(0 0 12px #de985334);
}
.tg-gesture-hint{flex:none;text-align:center;margin:1px 0 2px;font-size:9px;line-height:1.25}
body.bali-guest-theme .card-switch{
 flex:none;padding:1px 2px 6px!important;gap:6px;min-height:30px;
}
body.bali-guest-theme .card-switch .button{
 min-width:68px;padding:5px 9px!important;font-size:10px;min-height:27px;box-shadow:0 2px 0 #1b1410;
}
.tg-wallet-panel{
 flex:none;margin:2px 0 clamp(6px,1dvh,10px)!important;
 padding:8px 11px!important;border-radius:13px!important;
}
.tg-wallet-head{align-items:center}
.tg-wallet-head .tg-eyebrow{font-size:8px;margin:0 0 2px}
body.bali-guest-theme .tg-wallet-balance{
 justify-content:flex-start;font-size:clamp(21px,3.8dvh,30px);line-height:1.05;
 margin:0!important;
}
.tg-wallet-balance small{font-size:9px!important}
.tg-wallet-quick{white-space:nowrap;min-width:106px;box-shadow:0 3px 0 #55341c}
.tg-card-actions{
 flex:1;min-height:0;
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
 grid-template-rows:repeat(2,minmax(0,1fr))!important;
 margin-bottom:4px!important;
}
.tg-card-link-warning{flex:none;margin:0 0 4px!important}
.tg-contest-shortcut{flex:none;padding:5px}
/* Fixed rewards page: small embossed medallion, not another animated coin. */
.tg-page-rewards .tg-rewards-summary{
 display:flex;flex:none;align-items:center;gap:15px;margin:clamp(8px,2dvh,18px) 0 12px;
 padding:clamp(12px,2.5dvh,20px);
}
.tg-rewards-medallion{
 width:clamp(48px,9dvh,75px);height:clamp(48px,9dvh,75px);flex:none;
 display:grid;place-items:center;border-radius:50%;font-size:clamp(27px,5dvh,42px);
 color:#ffefb7;text-shadow:0 2px #734620,0 5px 10px #000a;
 border:3px double #f5d185;
 background:radial-gradient(circle at 32% 23%,#fff3bd,#dfab52 28%,#95602c 57%,#4c301d 78%);
 box-shadow:inset 0 3px 7px #fff4af9c,inset 0 -8px 10px #5c361eaa,0 5px 0 #482b1c,0 10px 18px #0009;
 transform:rotate(-8deg);
}
.tg-page-rewards .tg-rewards-actions{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;
 margin:0 0 12px;
}
.tg-page-rewards .tg-rewards-actions .tile{height:clamp(56px,12dvh,88px)}
.tg-rewards-status{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.tg-rewards-status .tg-panel-subtitle{font-size:clamp(10px,1.7dvh,12px);line-height:1.4;margin-top:5px}
/* Generic back button and page content use a single viewport; detailed history is paged. */
.tg-page-history,.tg-page-orders,.tg-page-transfer,.tg-page-shop{min-height:0}
.tg-page-history>#screen,.tg-page-orders>#screen,.tg-page-transfer>#screen,.tg-page-shop>#screen{
 display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;
}
.tg-page-history>.button,.tg-page-orders>.button,.tg-page-transfer>.button,.tg-page-shop>.button{
 flex:none;align-self:flex-start;min-height:29px!important;margin-bottom:6px;padding:4px 11px!important;
}
/* Full-screen event viewer. The month calendar is an alternative tab, not stacked under posters. */
.tg-page-calendar #screen{
 display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;
}
.tg-calendar-view-tabs,.tg-shop-tabs{
 display:flex;flex:none;gap:8px;margin:8px 0 6px;justify-content:center;
}
.tg-calendar-view-tabs .button,.tg-shop-tabs .button{flex:1;max-width:180px}
.tg-calendar-view-tabs .selected,.tg-shop-tabs .selected{
 color:#fff0d0!important;border-color:#ebbf73!important;
 background:linear-gradient(155deg,#82562f,#392a25 56%,#201e25)!important;
 box-shadow:inset 0 1px #ffdf9a66,0 3px 0 #402718,0 7px 13px #0008;
}
.tg-calendar-panel[hidden],.tg-calendar-stage[hidden]{display:none!important}
.tg-calendar-panel{flex:1;min-height:0;margin:6px 0!important;padding:clamp(10px,2dvh,15px)!important}
.tg-calendar-toolbar{margin:0 0 clamp(9px,2dvh,18px)}
.tg-calendar-day{border-radius:8px!important}
.tg-calendar-stage{
 display:flex;flex:1;flex-direction:column;min-height:0;
 margin:0 auto!important;padding:0!important;overflow:hidden;
 width:100%;max-width:580px;
}
.tg-calendar-poster-stack{
 flex:1;min-height:0!important;max-height:none!important;height:auto!important;
 margin:0;overflow:hidden;
}
.tg-event-poster{
 width:min(61vw,calc((100dvh - 275px) * .84),300px)!important;
 max-width:min(68%,300px)!important;
 border-radius:16px;
}
.tg-calendar-poster-controls{flex:none;padding:0 6px 3px!important;gap:12px}
.tg-calendar-poster-controls .button{width:34px;height:31px;min-height:31px}
.tg-event-detail{
 flex:none;min-height:0!important;padding:clamp(7px,1.4dvh,12px)!important;
 margin:0 0 5px!important;border-radius:13px!important;
}
.tg-event-heading .tg-panel-title{font-size:clamp(12px,2dvh,15px);line-height:1.2}
.tg-event-heading .tg-eyebrow{font-size:8px}
.tg-event-heading .tg-chip{font-size:8px}
.tg-event-interest-bar{margin-top:6px!important;padding-top:5px!important;gap:6px}
.tg-event-interest-bar>.button{min-height:31px!important;font-size:10px!important;padding:4px!important}
.tg-event-interest-count{font-size:10px}
.tg-event-more{
 min-height:28px!important;margin-top:6px!important;padding:4px!important;font-size:10px!important;
}
.tg-event-time{font-size:9px;margin:3px 0 0}
.tg-event-interest-note{font-size:9px;margin:4px 0 0}
.tg-event-description-dialog{max-width:480px}
/* Menu keeps original card aesthetics/actions; one item per page prevents a long scroll list. */
.tg-page-menu #screen{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.tg-page-menu #menuPage.tg-menu{
 flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!important;
 overflow:hidden!important;margin:0!important;padding:0!important;
}
.tg-page-menu .tg-menu-tabs{
 min-height:0;flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:4px;margin:9px 0 6px;padding:0;
 overflow:hidden;
}
.tg-page-menu .tg-menu-tabs .button{padding:6px 3px!important;font-size:clamp(9px,1.8dvh,11px)}
.tg-page-menu .tg-menu-search{flex:none;margin:0 0 6px}
.tg-page-menu .tg-menu-search input{
 display:block;height:34px;font-size:11px;padding:6px 10px!important;
}
.tg-page-menu #menuGrid{
 flex:1!important;min-height:0!important;margin:0!important;max-height:100%!important;
 overflow:hidden!important;display:block;
}
.tg-page-menu #menuGrid .menu-category-block{margin:0!important;padding:0!important;display:flex;flex-direction:column;max-height:100%}
.tg-page-menu #menuGrid .menu-category-heading{
 flex:none;margin:0 0 5px!important;min-height:0!important;padding:1px 2px!important;
}
.tg-page-menu #menuGrid .menu-category-title{font-size:clamp(12px,2.2dvh,15px)!important}
.tg-page-menu #menuGrid .menu-category-products{
 flex:1;min-height:0;max-height:100%;margin:0!important;padding:0!important;gap:5px;
}
.tg-page-menu #menuGrid .menu-item{
 min-height:0!important;max-height:100%!important;margin:0!important;padding:clamp(7px,1.3dvh,11px)!important;
 display:flex!important;flex-direction:column!important;gap:6px!important;
 overflow:hidden!important;
}
.tg-page-menu #menuGrid .menu-item-image{
 width:100%;height:clamp(55px,12dvh,110px)!important;max-height:28%;
 object-fit:cover;flex:none;border-radius:9px!important;
}
.tg-page-menu #menuGrid .menu-item-content{
 min-height:0;display:flex;flex:1;flex-direction:column;gap:4px;
}
.tg-page-menu #menuGrid .menu-item-category{font-size:9px}
.tg-page-menu #menuGrid .menu-item-header{margin:0!important;gap:5px}
.tg-page-menu #menuGrid .menu-item-name{font-size:clamp(12px,2.2dvh,17px)!important;line-height:1.15;margin:0!important}
.tg-page-menu #menuGrid .menu-item-description{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
 line-clamp:2;overflow:hidden;font-size:10px!important;line-height:1.3!important;margin:0!important;
}
.tg-page-menu #menuGrid .menu-item-price{font-size:clamp(11px,2dvh,14px)!important}
.tg-page-menu #menuGrid .menu-purchase-controls{
 margin-top:auto!important;gap:5px!important;flex:none;
}
.tg-page-menu #menuGrid .menu-quantity-btn,.tg-page-menu #menuGrid .add-to-cart-btn{min-height:32px!important;font-size:11px!important}
.tg-page-menu .tg-pager{padding:4px 0 2px}
.tg-page-menu #tgCartOpen{
 margin:4px 0 0!important;min-height:34px!important;flex:none;
}
.tg-page-menu #tgMenuMessage{font-size:9px;line-height:1.2;flex:none;margin:1px 0 0}
/* CoinShop's single WebGL model is available on demand; default catalog pages are compact. */
.tg-page-shop .tg-shop-tabs{margin:6px 0 8px}
.tg-page-shop .tg-shop-content{
 flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;
}
.tg-shop-products-head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:none}
.tg-page-shop .coin-shop-products.tg-shop-products{
 flex:1;min-height:0!important;display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:minmax(0,1fr)!important;
 gap:8px!important;overflow:hidden;
 margin:6px 0 0!important;
}
.tg-page-shop .coin-shop-products.tg-shop-products .coin-shop-product{
 min-height:0!important;height:100%!important;margin:0!important;
 grid-template-rows:minmax(50px,38%) auto minmax(0,1fr) auto!important;
 padding:7px!important;gap:4px!important;overflow:hidden;
}
.tg-page-shop .coin-shop-products .coin-shop-image{
 height:100%!important;min-height:0!important;border-radius:9px!important;
 display:grid;place-items:center;
}
.tg-page-shop .coin-shop-products .coin-shop-image>span{font-size:35px;color:#dca960}
.tg-page-shop .coin-shop-product h3{
 font-size:clamp(11px,1.9dvh,14px)!important;line-height:1.15;margin:0!important;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;
}
.tg-page-shop .coin-shop-product p{
 font-size:10px!important;line-height:1.3!important;margin:0!important;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;
}
.tg-page-shop .coin-shop-product .coin-shop-foot{
 display:flex!important;flex-direction:column!important;gap:2px!important;
}
.tg-page-shop .coin-shop-product .coin-shop-price{font-size:11px!important}
.tg-page-shop .coin-shop-product .coin-shop-stock{font-size:9px!important}
.tg-shop-footnote{flex:none;text-align:center;font-size:9px;color:#bba988;margin:4px 0 2px}
.tg-pager{
 flex:none;display:flex;align-items:center;justify-content:center;gap:14px;
 padding:6px 0;color:#edd19b;font:800 11px/1 Inter,sans-serif;
}
.tg-pager .button{width:37px;height:31px;min-height:31px!important;display:grid;place-items:center;font-size:20px!important;padding:0!important}
.tg-shop-coin-panel{
 flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;
 justify-content:space-between;text-align:center;
 margin:5px 0 6px;padding:12px!important;
 background:radial-gradient(circle at 50% 50%,#a65c3042,transparent 55%),linear-gradient(150deg,#382a24,#131820);
}
#coinShopCoin{
 flex:1;min-height:0!important;width:min(70vw,calc((100dvh - 244px) * .9),300px)!important;
 max-width:300px!important;max-height:min(70vw,calc((100dvh - 244px) * .9),300px);
 height:auto!important;aspect-ratio:1;margin:auto!important;
}
.tg-shop-history-list{flex:1;min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
.tg-shop-history-row{display:flex;flex-direction:column;justify-content:center;gap:6px}
.tg-shop-history-row small{color:#c5b29b}
.tg-empty-message{display:grid;place-items:center;flex:1;font-size:12px;color:#cab494;text-align:center}
/* Profile and login are balanced to one viewport. */
.tg-page-profile .tg-profile-hero{
 flex:none;margin:7px 0 10px;padding:clamp(9px,2dvh,16px);
}
.tg-page-profile .tg-profile-avatar{width:clamp(39px,7dvh,60px);height:clamp(39px,7dvh,60px);border-radius:15px;font-size:27px}
.tg-page-profile .tg-profile-hero strong{font-size:clamp(13px,2.4dvh,17px)}
.tg-page-profile>.tg-panel{flex:1;min-height:0;padding:10px!important;display:flex;flex-direction:column;justify-content:space-around}
.tg-page-profile .row{padding:clamp(5px,1dvh,10px) 0;font-size:clamp(10px,1.7dvh,12px)}
.tg-page-profile .tg-tile-wide{flex:none;margin:8px 0}
.tg-page-profile .tg-tile-wide .tile{height:clamp(45px,8dvh,65px);min-height:0}
.tg-page-profile>.tg-lead{font-size:10px;margin:0 0 5px}
.tg-page-profile>[data-action="logout"]{flex:none;min-height:35px;margin-bottom:3px}
.tg-auth-page{padding-top:clamp(3px,2dvh,15px)}
.tg-auth-page>.tg-title{margin-bottom:7px}
.tg-auth-stage{flex:1;min-height:0;justify-content:center;gap:6px;padding:12px!important;margin:0 0 7px!important}
.tg-auth-symbol{
 width:clamp(55px,12dvh,87px);height:clamp(55px,12dvh,87px);
 font-size:clamp(33px,6dvh,55px);margin:0 0 9px;
}
.tg-auth-page>.notice{flex:none}
.tg-auth-button{flex:none;min-height:39px!important;margin:6px 0!important}
.tg-auth-page #google-confirm{margin:4px 0;flex:none}
/* Transfer compact form & keyboards: the page remains fixed; input uses native scrolling only inside dialogs. */
.tg-page-transfer .tg-transfer-form{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-around;gap:6px;padding:11px!important}
.tg-page-transfer .tg-transfer-form label{font-size:11px;gap:3px}
.tg-page-transfer .tg-transfer-form input{height:clamp(32px,5.5dvh,42px);padding:6px 10px!important;font-size:14px}
.tg-page-transfer .tg-transfer-form .button{flex:none;margin-top:5px}
.tg-page-transfer .tg-transfer-form [role=status]{font-size:10px;line-height:1.3;margin:2px 0}
.tg-checkout{max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;overscroll-behavior:contain}
/* Paged history/orders, never cut off an unbounded list. */
.tg-activity-list{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}
.tg-activity-item{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tg-activity-item .small{font-size:9px;line-height:1.2}
.tg-activity-item>b{font-size:12px;white-space:nowrap}
@media(min-width:600px){
 .tg-page{max-width:520px}
 body.bali-guest-theme .head{padding-left:calc((100vw - 540px)/2)!important;padding-right:calc((100vw - 540px)/2)!important}
 body.bali-guest-theme .tile{padding-left:50px!important}
 body.bali-guest-theme .tile .tg-tile-figure{left:12px;width:30px;height:30px}
 .tg-card-actions{max-height:165px}
 .tg-page-shop .coin-shop-products.tg-shop-products{max-height:440px}
 .tg-calendar-stage{max-width:520px}
}
@media(max-height:640px){
 :root{--compact-gap:4px}
 .tg-card-heading{min-height:28px}
 .tg-gesture-hint{font-size:8px}
 .tg-wallet-panel{padding:5px 9px!important;margin-bottom:4px!important}
 body.bali-guest-theme .tg-wallet-balance{font-size:21px}
 .tg-card-actions{gap:5px!important}
 body.bali-guest-theme .tile{padding:5px 8px 5px 35px!important}
 body.bali-guest-theme .tile .tg-tile-figure{left:5px;width:25px;height:25px}
 .tg-calendar-view-tabs,.tg-shop-tabs{margin:4px 0}
 .tg-calendar-poster-controls{padding:0!important}
 .tg-event-detail{padding:6px!important}
 .tg-page-menu .tg-menu-tabs{margin:3px 0}
 .tg-page-menu .tg-menu-search{margin-bottom:3px}
 .tg-page-shop .tg-shop-tabs{margin:3px 0 5px}
 .tg-page-profile .tg-profile-hero{margin:4px 0;padding:6px}
 .tg-page-profile .tg-tile-wide{margin:4px 0}
}
@media(max-height:515px){
 body.bali-guest-theme .tg-gesture-hint{display:none}
 body.bali-guest-theme .head{height:39px!important}
 body.bali-guest-theme .nav{height:49px!important}
 body.bali-guest-theme #baliIdSection.tg-original-card{width:min(100%,calc((100dvh - 215px) * 1.55))!important}
 .tg-page-profile>.tg-lead{display:none}
 .tg-page-shop .coin-shop-product p{display:none!important}
}
@media(prefers-reduced-motion:reduce){.tg-rewards-medallion{transform:none}}

/* Order cards use the same paging system as transactions. */
.tg-page-orders .tg-orders-list{
 flex:1;min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--compact-gap);
}
.tg-page-orders .tg-order-item{
 display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:0;overflow:hidden;
}
.tg-page-orders .tg-order-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}
.tg-page-orders .tg-order-heading b{font-size:clamp(11px,2dvh,14px);line-height:1.2;overflow-wrap:anywhere}
.tg-page-orders .tg-order-item p{font-size:10px;margin:0;color:#c8b28f}
.tg-page-orders .tg-order-item .button{margin:0;padding:5px 8px;align-self:flex-start;min-height:29px}
.tg-page-orders .tg-order-item .tg-chip{font-size:8px;white-space:nowrap}


/* Complete descriptions remain available without expanding the viewport. */
.tg-page-menu #menuGrid .bali-menu-readmore,
.tg-page-menu #menuGrid .tg-menu-readmore{
 flex:none;align-self:flex-start;
 font-size:10px!important;line-height:1.2;min-height:24px!important;
 padding:3px 7px!important;margin:0!important;
}
.tg-page-shop .coin-shop-product[role="button"]{cursor:pointer;outline-offset:3px}
.tg-page-shop .coin-shop-product[role="button"]:focus-visible{outline:2px solid #ffdb91}
.tg-shop-product-detail{max-width:440px}
.tg-shop-product-detail p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}

/* Source parity CSS has a high-specificity site wrapper. Override only in the TG Mini App:
   before this rule it forces the menu to display:block and shrink-wrap at ~half-screen. */
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu{
 display:flex!important;flex:1 1 0!important;flex-direction:column!important;
 height:100%!important;min-height:0!important;max-height:100%!important;
 overflow:hidden!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid{
 flex:1 1 0!important;min-height:0!important;max-height:100%!important;
 height:auto!important;margin:0!important;overflow:hidden!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-block{
 display:flex!important;flex-direction:column!important;height:100%!important;
 min-height:0!important;margin:0!important;overflow:hidden!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-category-products{
 display:grid!important;flex:1 1 0!important;grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:minmax(0,1fr)!important;gap:5px!important;
 min-height:0!important;height:100%!important;max-height:100%!important;
 margin:0!important;padding:0!important;overflow:hidden!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-item{
 height:100%!important;max-height:100%!important;min-height:0!important;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-item--no-image::before{
 content:"BALI";display:flex;align-items:center;justify-content:center;
 flex:0 1 auto;min-height:0;height:clamp(40px,9dvh,88px);
 border-radius:12px;border:1px solid #d6a35d4d;
 background:
  radial-gradient(circle at 50% 34%,rgba(251,203,102,.32),transparent 56%),
  linear-gradient(150deg,#4e342a,#242028 62%,#151921);
 color:#f4d596;font:950 clamp(22px,5dvh,35px)/1 Inter,sans-serif;letter-spacing:.19em;
 text-shadow:0 2px 0 #673f23,0 6px 12px #0008;
 box-shadow:inset 0 2px #ffeab836,0 4px 10px #0007;
}
body.bali-guest-theme .tg-page-menu #menuPage.tg-menu #menuGrid .menu-item--no-image:has(.menu-item-image)::before{display:none}
