:root{color-scheme:dark;font-family:Inter,Manrope,system-ui,sans-serif;background:#080b11;color:#f7f4ee}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.app{height:100dvh;display:flex;flex-direction:column;padding-top:calc(var(--tg-safe-top,0px) + var(--tg-content-top,0px));padding-bottom:calc(var(--tg-safe-bottom,0px) + var(--tg-content-bottom,0px))}.head{padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:21px;letter-spacing:.22em;font-weight:850}.small{font-size:12px;color:#b6b3ae}.main{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 24px}.nav{display:grid;grid-template-columns:repeat(5,1fr);background:#14171d;border-top:1px solid #333;padding:8px 2px}.nav button{border:0;background:none;color:#aba8a2;font-size:11px;padding:9px 0}.nav button.current{color:#f4d58a}.card{background:linear-gradient(125deg,#30251b,#131516 70%);border:1px solid #a68349;border-radius:22px;aspect-ratio:1.68;padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 34px #0009}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center}.gold{color:#dfbb70}.card-logo{text-align:center;font-size:46px;letter-spacing:.1em;color:#e7c77a;font-weight:800}.button{border:1px solid #886e44;background:#29231b;color:#f8e8c5;border-radius:14px;padding:13px;text-align:center}.primary{background:#d5aa58;color:#17120a;font-weight:750}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.tile{background:#191c22;padding:20px 14px;border:1px solid #32302c;border-radius:15px;color:#f4d7a0;text-align:left}.section{margin:18px 0 10px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #282a30}.pill{border-radius:999px;background:#292d32;padding:6px 10px;color:#ddd;font-size:12px}.muted{color:#aba8a2}.loading,.error{padding:22px;text-align:center}.notice{background:#252117;border:1px solid #584b2f;border-radius:13px;padding:14px;margin:12px 0}.art{width:100%;max-width:100%;border-radius:12px}a{color:#edca81}.menu-cat{margin:5px}.stack{display:grid;gap:10px}input{color:inherit;background:#22252b;border:1px solid #555;padding:11px;border-radius:8px;width:100%}
/* Two sides crop the original BALI Coin atlas, used by the production WebGL renderer. */
.coin-stage{width:min(74vw,270px);aspect-ratio:1;margin:16px auto 7px;perspective:800px;touch-action:pan-y}
.coin-spinner{width:100%;height:100%;position:relative;transform-style:preserve-3d;will-change:transform}
.coin-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;background-image:url('/assets/bali-coin-atlas-hd.webp');background-size:200% 100%;background-position:left center;box-shadow:inset 0 0 14px #fff5,0 0 30px #e9af3044;border:2px solid #9d6b24}
.coin-face.back{transform:rotateY(180deg);background-position:right center}
.coin-rim{position:absolute;inset:0;border-radius:50%;border:7px ridge #c09345;transform:translateZ(-3px)}
.shop-products{display:grid;gap:12px;margin-bottom:30px}.shop-product{display:flex;gap:13px;align-items:center;padding:12px;border-radius:14px;border:1px solid #39342b;background:#1b1c21}.shop-product img{width:96px;height:96px;object-fit:cover;border-radius:10px}.shop-product p{margin:6px 0}.shop-product b{font-size:15px}
@media(prefers-reduced-motion:reduce){.coin-spinner{will-change:auto}}

.card-switch{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px}
.card-switch button{flex:none;font-size:12px;padding:9px 12px}
.card-switch .selected{border-color:#f4d58a}
body.bali-guest-theme #baliIdSection.tg-original-card{display:block!important;position:relative!important;inset:auto!important;width:100%!important;max-width:580px!important;min-height:0!important;height:auto!important;margin:0 auto!important;padding:0!important;overflow:visible!important}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-scene{width:100%!important;max-width:none!important;margin:0!important}
.main{overscroll-behavior-y:contain}
.main>button{margin-top:12px}
.stack label{display:grid;gap:7px}
.row>span,.row>b{overflow-wrap:anywhere;min-width:0}
.nav{flex:none}
.nav button{min-height:44px}
#coinShopCoin{width:min(74vw,270px);height:auto;aspect-ratio:1;margin:16px auto;touch-action:pan-y}
.coin-shop-products{margin-bottom:20px}
.tg-menu-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 15px}
.tg-menu-tabs button{flex:none}
body.bali-guest-theme #menuPage.tg-menu{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;overflow:visible!important}
body.bali-guest-theme #menuPage.tg-menu #menuGrid{height:auto!important;max-height:none!important;overflow:visible!important;margin-top:16px}
body.bali-guest-theme #menuPage.tg-menu .menu-category-products{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.tg-checkout{background:#15171b;color:#f7f4ee;border:1px solid #887044;border-radius:18px;padding:20px;width:min(calc(100vw - 24px),580px);max-height:calc(100dvh - 32px);overflow-y:auto}
.tg-checkout::backdrop{background:#000b}
.tg-checkout select,.tg-checkout textarea{width:100%;color:inherit;background:#22252b;border:1px solid #555;padding:11px;border-radius:8px;font:inherit}
.tg-checkout .tg-consent{display:flex;align-items:flex-start;font-size:12px;line-height:1.5}
.tg-consent input{width:auto;flex:none}
@media(min-width:600px){.main{padding-left:max(20px,calc((100vw - 650px)/2));padding-right:max(20px,calc((100vw - 650px)/2))}}

