/* BALI Telegram · premium layered 3D theme. Scope: /telegram-app only.
   Keep real card art and WebGL coin geometry; do not replace product assets. */
:root{
  color-scheme:dark;
  --tg-ink:#fff5df;--tg-muted:#b3a994;--tg-gold:#ffd579;
  --tg-edge:rgba(255,212,128,.29);
  --tg-surface:linear-gradient(145deg,rgba(55,37,24,.92),rgba(19,18,23,.96) 52%,rgba(9,12,20,.98));
  --tg-depth:0 3px 0 rgba(135,82,32,.5),0 18px 40px rgba(0,0,0,.64),inset 0 1px 1px rgba(255,243,203,.2);
  font-family:Inter,Manrope,system-ui,sans-serif;
  background:#08080e;
}
html{min-width:280px;background:#08080e}
body.bali-guest-theme{min-height:100dvh;color:#f8f0dd;background:#08080e;overflow:hidden}
body.bali-guest-theme .app{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 38% at 47% -8%,rgba(196,121,35,.26),transparent 80%),
    radial-gradient(ellipse 95% 52% at 110% 54%,rgba(101,39,105,.22),transparent 74%),
    radial-gradient(ellipse 110% 55% at -22% 85%,rgba(25,62,86,.24),transparent 76%),
    linear-gradient(170deg,#121015 2%,#090b12 54%,#05070c 100%);
}
body.bali-guest-theme .app::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  opacity:.33;background-image:
    repeating-linear-gradient(118deg,transparent 0 66px,rgba(248,203,115,.035) 67px,transparent 68px),
    radial-gradient(circle at 20% 24%,rgba(255,198,105,.06) 0 1px,transparent 2px);
  background-size:auto,25px 25px;
}
body.bali-guest-theme .app::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:340px;height:340px;top:13%;right:-220px;border:1px solid rgba(232,179,88,.16);
  border-radius:50%;box-shadow:0 0 0 46px rgba(230,168,73,.027),0 0 0 90px rgba(230,168,73,.014);
}
body.bali-guest-theme .head{
  position:relative;z-index:4;flex:none;
  min-height:70px;padding:13px 20px;
  border-bottom:1px solid rgba(255,227,163,.14);
  background:linear-gradient(180deg,rgba(26,21,25,.98),rgba(14,13,18,.94));
  box-shadow:0 5px 20px rgba(0,0,0,.32),inset 0 1px rgba(255,221,164,.12);
}
body.bali-guest-theme .head .brand{
  font-size:27px;line-height:1;letter-spacing:.13em;font-weight:950;
  color:#ffdc95;
  background:linear-gradient(180deg,#fff8dc 0%,#ffde98 38%,#ac6427 67%,#ffe09c 95%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 #5e3112) drop-shadow(0 6px 9px rgba(245,139,24,.19));
}
.tg-brand-caption{display:block;color:#ba9b6b;font:800 8px/1.6 Inter,system-ui,sans-serif;letter-spacing:.33em;margin-top:4px;text-align:left}
.tg-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.tg-live-pill{display:inline-flex;align-items:center;gap:6px;border-radius:40px;border:1px solid rgba(248,203,120,.32);padding:6px 10px;background:linear-gradient(145deg,#3b2b1c,#171820);box-shadow:inset 0 1px rgba(255,238,192,.17),0 4px 8px #0007;font:750 9px/1.2 Inter,sans-serif;color:#ffdda5;letter-spacing:.1em}
.tg-live-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:#ffd77c;box-shadow:0 0 8px #ffd77c}
.tg-header-right .small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#a89b86}
body.bali-guest-theme .main{
  position:relative;flex:1;min-height:0;min-width:0;
  padding:18px 16px 32px;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-color:#665037 transparent;
}
.tg-page{width:100%;min-width:0;max-width:680px;margin:0 auto}
.tg-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;
  color:#e9b96b;font:800 10px/1.4 Inter,sans-serif;letter-spacing:.20em;text-transform:uppercase;
}
.tg-eyebrow::before{content:"";display:block;width:17px;height:1px;background:linear-gradient(90deg,#fce5ae,#a16b34)}
.tg-title{
  font-weight:900;letter-spacing:-.05em;line-height:1.03;
  font-size:clamp(29px,8.2vw,43px);margin:0;
  color:#ffeed4;text-shadow:0 2px 13px #f6b75f1b,0 3px 0 #3b2923;
}
.tg-title .metal{
  background:linear-gradient(180deg,#fff4cd 0%,#ffdd8a 40%,#ba7033 73%,#ffe5a2 100%);
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.tg-lead{color:#c6b8a0;font-size:12px;line-height:1.6;margin:10px 0 16px}
.tg-panel{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid rgba(234,190,118,.33);border-radius:25px;
  background:var(--tg-surface);
  box-shadow:var(--tg-depth);
  padding:17px;
}
.tg-panel::before{
  content:"";position:absolute;inset:0 0 auto;height:50%;
  border-radius:inherit;z-index:-1;pointer-events:none;
  background:linear-gradient(175deg,rgba(255,231,185,.095),transparent 65%);
}
.tg-panel::after{
  content:"";position:absolute;width:220px;height:220px;right:-130px;top:-150px;pointer-events:none;
  border-radius:50%;background:radial-gradient(circle,rgba(254,183,65,.19),transparent 73%);
}
.tg-panel-title{margin:0 0 3px;font:850 17px/1.2 Inter,sans-serif;letter-spacing:-.03em;color:#ffebc6}
.tg-panel-subtitle{margin:0;color:#aa9b85;font:500 11px/1.5 Inter,sans-serif}
.tg-chip{
  display:inline-flex;align-items:center;gap:5px;padding:6px 9px;
  border-radius:8px;border:1px solid rgba(255,219,140,.32);
  background:linear-gradient(150deg,rgba(126,78,32,.55),rgba(53,38,25,.77));
  box-shadow:inset 0 1px rgba(255,238,196,.19),0 3px 0 #171014;
  color:#ffe0a4;font:800 10px/1 Inter,sans-serif;letter-spacing:.08em;
}
.tg-card-stage{padding:3px 0 0}
.tg-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 16px}
.tg-card-heading .tg-title{font-size:clamp(29px,7.5vw,39px)}
.tg-card-meta{color:#b2a28c;font-size:10px;text-align:right;line-height:1.55;white-space:nowrap}
.tg-card-plinth{
  position:relative;isolation:isolate;perspective:1100px;
  padding:18px 6px 22px;
  border-radius:28px;
  background:radial-gradient(ellipse 85% 58% at 50% 40%,rgba(219,143,58,.16),transparent 77%);
}
.tg-card-plinth::before{
  content:"";position:absolute;inset:21% 9% 6%;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse,rgba(231,143,42,.36),rgba(144,78,32,.11) 40%,transparent 66%);
  filter:blur(22px);
}
.tg-card-plinth::after{
  content:"";position:absolute;left:13%;right:13%;bottom:2px;height:17px;border-radius:50%;
  pointer-events:none;z-index:-1;background:#000;filter:blur(11px);opacity:.74;
}
body.bali-guest-theme #baliIdSection.tg-original-card{
  width:100%!important;max-width:620px!important;
  margin:0 auto!important;min-height:0!important;padding:0!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-scene{
  width:100%!important;max-width:620px!important;margin:0 auto!important;
  filter:drop-shadow(0 14px 15px rgba(0,0,0,.59)) drop-shadow(0 0 14px rgba(249,180,70,.14));
  transform:translateZ(0);
}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-track{
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-card{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  box-shadow:inset 0 1px rgba(255,245,220,.35),inset 0 -3px 8px rgba(0,0,0,.37)!important;
}
.tg-gesture-hint{text-align:center;margin:6px 0 12px;color:#ad9e85;font-size:10px;letter-spacing:.04em}
.tg-gesture-hint span{color:#ffdda0;font-weight:800}
body.bali-guest-theme .card-switch{
  display:flex;align-items:stretch;gap:9px;padding:5px 3px 14px;
  scroll-snap-type:x proximity;scrollbar-width:none;
}
body.bali-guest-theme .card-switch::-webkit-scrollbar{display:none}
body.bali-guest-theme .card-switch .button{
  border-radius:12px;flex:none;min-width:92px;padding:11px 12px;
  color:#b9ad9b;background:linear-gradient(165deg,#252126,#0e1015);
  box-shadow:0 4px 0 #050609,inset 0 1px rgba(255,255,255,.08);
  border-color:rgba(255,223,171,.13);font-weight:850;letter-spacing:.05em;
}
body.bali-guest-theme .card-switch .button.selected{
  color:#ffe8b7;border-color:#d49b4b;
  background:linear-gradient(155deg,#87562c,#423020 55%,#271e1e);
  box-shadow:0 4px 0 #4f2f1b,inset 0 1px rgba(255,239,188,.39),0 8px 16px #0005;
  transform:translateY(-1px);
}
.tg-wallet-panel{margin:9px 0 17px;padding:13px 18px 16px;text-align:center}
.tg-wallet-head{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:8px}
.tg-wallet-head .tg-panel-title{letter-spacing:.055em;font-size:16px}
.tg-wallet-balance{
  display:flex;align-items:baseline;justify-content:center;gap:7px;
  margin:0;font:950 clamp(26px,9vw,41px)/1.15 Inter,sans-serif;
  letter-spacing:-.05em;
  color:#ffe5a5;text-shadow:0 2px 0 #643d19,0 7px 17px #b26f323f;
}
.tg-wallet-balance small{font:850 11px/1 Inter,sans-serif;letter-spacing:.12em;color:#e7b76b}
.tg-wallet-stage{
  position:relative;width:min(56vw,240px)!important;height:auto!important;aspect-ratio:1;
  margin:0 auto 0!important;--coin-size:min(56vw,240px);
  perspective:860px;perspective-origin:center center;
}
.tg-wallet-stage::before{content:"";position:absolute;inset:12%;border-radius:50%;background:#8e5127;filter:blur(35px);opacity:.26;pointer-events:none}
.tg-wallet-stage::after{content:"";position:absolute;left:12%;right:12%;bottom:6%;height:13px;border-radius:50%;background:#000;filter:blur(13px);opacity:.7;pointer-events:none}
.tg-wallet-stage .coin-shop-coin-face{box-shadow:inset 0 0 10px rgba(255,230,150,.35),0 0 15px rgba(223,158,61,.12)}
.tg-wallet-stage .coin-shop-coin-rotor{animation:none!important;transform-style:preserve-3d}
.tg-wallet-stage.coin-shop-webgl-ready .coin-shop-coin-rotor{visibility:hidden!important;animation:none!important}
.tg-wallet-stage .coin-shop-metal-canvas,
#coinShopCoin .coin-shop-metal-canvas{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3!important;
  display:block!important;pointer-events:none;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));
}
.tg-wallet-note{font-size:10px;color:#d1b995;margin:5px 0 4px;line-height:1.5}
.tg-wallet-note b{color:#ffde96}
.tg-wallet-panel .tg-wallet-actions{display:flex;justify-content:center;gap:9px;margin-top:13px}
body.bali-guest-theme .tiles{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin:14px 0 20px;perspective:1300px;
}
body.bali-guest-theme .tile{
  position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:117px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;
  text-align:left;padding:15px 14px 14px;
  color:#ffedd2;border-radius:19px;border:1px solid rgba(237,188,114,.3);
  background:linear-gradient(156deg,#4c3227 0%,#24202a 41%,#121820 100%);
  box-shadow:0 5px 0 #090a0e,0 15px 22px rgba(0,0,0,.46),inset 0 1px rgba(255,226,167,.25);
  transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
body.bali-guest-theme .tile::before{
  content:"";position:absolute;top:-40px;right:-25px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,202,107,.36) 0%,rgba(255,190,92,.055) 55%,transparent 70%);
  pointer-events:none;z-index:-1;
}
body.bali-guest-theme .tile::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(122deg,transparent 5%,rgba(255,247,220,.07) 18%,transparent 38%);
}
body.bali-guest-theme .tile .tg-tile-figure{
  position:absolute;top:11px;left:13px;width:39px;height:39px;display:grid;place-items:center;
  font-size:22px;border-radius:12px;color:#ffda94;
  background:linear-gradient(140deg,#77502f,#34271f 52%,#1b1d25);
  border:1px solid rgba(255,228,174,.32);
  box-shadow:inset 0 2px 1px rgba(255,241,200,.26),0 4px 0 #1c1718,0 8px 17px #0009;
  text-shadow:0 2px #4c2e19,0 0 12px rgba(255,227,156,.47);
}
body.bali-guest-theme .tile b{font:850 14px/1.15 Inter,sans-serif;letter-spacing:-.025em;color:#ffe7b6}
body.bali-guest-theme .tile p{margin:0;color:#b4a18a;font-size:10px;line-height:1.45}
body.bali-guest-theme .tile:active{transform:translateY(3px);box-shadow:0 2px 0 #090a0e,0 5px 10px #0008}
body.bali-guest-theme .button{
  position:relative;overflow:hidden;
  border:1px solid rgba(246,202,124,.4);color:#ffdfac;
  background:linear-gradient(172deg,#5b3c28,#2d2524 51%,#161820);
  box-shadow:inset 0 1px rgba(255,246,219,.27),0 4px 0 #1b1518,0 8px 13px #0006;
  font-weight:760;transition:transform .15s ease,box-shadow .15s ease;
}
body.bali-guest-theme .button:active{transform:translateY(3px);box-shadow:0 1px 0 #1b1518,0 2px 6px #0006}
body.bali-guest-theme .button.primary{
  background:linear-gradient(170deg,#fff0b8 0%,#ebbd61 39%,#9f6329 100%);
  color:#25180e;border-color:#fce4a0;text-shadow:0 1px rgba(255,255,255,.25);
  box-shadow:inset 0 1px rgba(255,255,255,.76),0 4px 0 #68421f,0 9px 18px rgba(0,0,0,.46);
}
body.bali-guest-theme .button.primary:active{box-shadow:inset 0 1px rgba(255,255,255,.76),0 1px 0 #68421f}
body.bali-guest-theme .nav{
  position:relative;z-index:4;flex:none;gap:2px;min-height:70px;
  padding:7px max(4px,env(safe-area-inset-left)) 9px max(4px,env(safe-area-inset-right));
  background:linear-gradient(180deg,#282025 0%,#100f17 35%,#0b0c12 100%);
  border-top:1px solid rgba(255,219,152,.30);
  box-shadow:0 -11px 31px #0008,inset 0 1px rgba(255,239,200,.13);
}
body.bali-guest-theme .nav button{
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;
  min-width:0;padding:5px 2px 3px;border-radius:12px;
  font:750 clamp(8px,2.5vw,10px)/1.15 Inter,sans-serif;letter-spacing:.01em;color:#9f9486;
  transition:color .2s ease,transform .2s ease,background .2s ease;
}
.tg-nav-glyph{
  display:grid;place-items:center;width:31px;height:31px;border-radius:10px;
  font-size:18px;line-height:1;
  color:#bfa77d;text-shadow:0 2px 0 #443021,0 0 8px rgba(244,197,97,.26);
  background:linear-gradient(150deg,rgba(97,79,58,.56),rgba(32,29,33,.9));
  border:1px solid rgba(251,222,167,.11);
  box-shadow:inset 0 1px rgba(255,242,194,.13),0 3px 0 #0c0b0d,0 5px 8px #0006;
  transition:transform .2s ease,box-shadow .2s ease;
}
body.bali-guest-theme .nav button.current{color:#ffe0a1;background:linear-gradient(150deg,rgba(114,76,42,.19),rgba(145,98,41,.08))}
body.bali-guest-theme .nav button.current .tg-nav-glyph{
  color:#ffdf96;background:linear-gradient(146deg,#9d6a35,#3d2b23 65%,#201922);
  border-color:#e6ac56;transform:translateY(-3px);
  box-shadow:inset 0 1px rgba(255,244,202,.51),0 4px 0 #382016,0 7px 15px #000b;
}
.tg-page .row,.tg-panel .row{
  padding:13px 10px;gap:10px;margin-top:7px;border-radius:12px;
  border:1px solid rgba(225,180,115,.12);
  background:linear-gradient(145deg,rgba(96,71,49,.22),rgba(10,13,18,.31));
  box-shadow:inset 0 1px rgba(255,246,214,.055);
}
.tg-profile-hero{
  display:flex;align-items:center;gap:15px;margin:14px 0;
  padding:18px;border-radius:22px;border:1px solid rgba(255,224,158,.26);
  background:linear-gradient(140deg,#5c3b27,#241e21 55%,#111820);
  box-shadow:0 6px 0 #0b0b0d,0 18px 35px #0009,inset 0 1px rgba(255,238,193,.23);
}
.tg-profile-avatar{
  width:67px;height:67px;flex:none;display:grid;place-items:center;
  border-radius:21px;font:900 30px Inter,sans-serif;
  color:#ffdf94;background:linear-gradient(140deg,#c18b45,#5d3b2a 58%,#282631);
  border:1px solid #ffdfa2;box-shadow:inset 0 2px rgba(255,237,175,.57),0 5px 0 #36231c,0 12px 24px #000a;
  text-shadow:0 3px 0 #59331b;
}
.tg-profile-hero strong{font-size:18px;line-height:1.25;color:#fff1d2;overflow-wrap:anywhere}
.tg-profile-hero p{font-size:11px;margin:6px 0 0;color:#ceb58e}
.tg-page .notice{background:linear-gradient(145deg,#382a20,#181922);border:1px solid rgba(238,195,112,.28);color:#e4cfac;box-shadow:0 5px 0 #090b10;font-size:12px;line-height:1.55}
.tg-page .small{color:#ac9f8a}
.tg-page details{
  border:1px solid rgba(234,185,111,.25);background:linear-gradient(160deg,#292126,#11161e);
  border-radius:14px;padding:12px;box-shadow:0 4px 0 #0a0b0f;
}
.tg-page details summary{color:#ffdda0;cursor:pointer;font-weight:770}
.tg-page input,.tg-page select,.tg-page textarea{
  background:linear-gradient(155deg,#2a2427,#11151d)!important;
  border:1px solid rgba(238,190,121,.32)!important;
  border-radius:12px!important;color:#fff0d0!important;
  box-shadow:inset 0 2px 7px #0007!important;
}
.tg-page h2{color:#ffdfab;letter-spacing:-.025em}
.tg-page .tg-menu-tabs button{border-radius:14px;white-space:nowrap}
.tg-page .tg-menu-tabs button.selected{border-color:#edc577;color:#ffe3a1;background:linear-gradient(150deg,#745030,#342820)}
.tg-page .tg-menu #menuGrid .menu-item,
.tg-page .tg-menu #menuGrid .bali-catalog-card,
.tg-page .tg-menu #menuGrid .bali-menu-catalog-card{
  border-radius:19px!important;
  border:1px solid rgba(255,213,136,.24)!important;
  background:linear-gradient(150deg,#34302c 0%,#1c1d23 62%,#10151c)!important;
  box-shadow:0 5px 0 #090a0e,0 12px 22px #0006,inset 0 1px rgba(255,230,178,.16)!important;
}
.tg-page .tg-menu #menuGrid .menu-item-image{border-radius:14px}
.tg-page .tg-menu #menuGrid .menu-item-price,.tg-page .tg-menu #menuGrid .bali-menu-amount{color:#ffd78f!important}
.tg-page #tgCartOpen{display:block;width:100%;margin:15px 0 10px}
.tg-shop-hero{
  text-align:center;padding:16px 12px 12px;margin:14px 0 18px;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,187,82,.18),transparent 46%),
    linear-gradient(155deg,#3c2b26,#141923 70%);
}
#coinShopCoin{
  display:block!important;position:relative!important;--coin-size:min(68vw,270px);
  width:min(68vw,270px)!important;height:auto!important;aspect-ratio:1;
  margin:4px auto!important;
}
#coinShopCoin .coin-shop-coin-rotor{animation:none!important;transform-style:preserve-3d}
#coinShopCoin.coin-shop-webgl-ready .coin-shop-coin-rotor{visibility:hidden!important;animation:none!important}
.tg-shop-hero .tg-wallet-note{margin:2px 0 0}
.tg-page .coin-shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.tg-page .coin-shop-product{
  min-width:0;display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr auto!important;gap:8px!important;
  border:1px solid rgba(250,208,132,.3)!important;border-radius:19px!important;
  padding:11px!important;background:linear-gradient(156deg,#3e2d28,#22212a 58%,#101720)!important;
  box-shadow:0 5px 0 #090b0e,0 16px 23px #0007,inset 0 1px rgba(255,230,184,.15)!important;
}
.tg-page .coin-shop-product .coin-shop-image{grid-column:1!important;grid-row:1!important;height:clamp(105px,25vw,185px)!important;border-radius:12px!important;background:radial-gradient(circle,#56452d,#161820)!important}
.tg-page .coin-shop-product h3{grid-column:1!important;grid-row:2!important;color:#ffebc5!important}
.tg-page .coin-shop-product p{grid-column:1!important;grid-row:3!important}
.tg-page .coin-shop-product .coin-shop-foot{grid-column:1!important;grid-row:4!important}
.tg-page .coin-shop-product .coin-shop-price{color:#ffda8b!important}
.tg-page .coin-shop-product .coin-shop-stock{color:#c2aa89!important}
.tg-page .coin-shop-product img{transition:transform .35s ease}
@media(hover:hover){.tg-page .coin-shop-product:hover img{transform:scale(1.045)}body.bali-guest-theme .tile:hover{border-color:#f1bf6a;box-shadow:0 8px 0 #090a0e,0 23px 38px #0009,inset 0 1px rgba(255,229,183,.38)}}
.tg-page .tg-calendar-scene{
  min-height:204px;display:grid;place-items:center;margin:17px 0;
  background:radial-gradient(circle at 50% 45%,rgba(253,196,97,.20),transparent 60%),linear-gradient(140deg,#433126,#141a23);
}
.tg-calendar-glyph{
  width:100px;height:108px;border-radius:18px;display:grid;place-items:center;
  font-size:54px;color:#ffe1a2;text-shadow:0 4px 0 #704520;
  background:linear-gradient(150deg,#a36c3e,#3d2c26 65%,#1b1e25);
  border:1px solid #ffe3aa;box-shadow:0 10px 0 #2d1b18,0 17px 30px #0009,inset 0 2px rgba(255,251,226,.46);
  transform:perspective(500px) rotateX(13deg) rotateY(-16deg);
}
.tg-page .tg-tile-wide{margin:12px 0}
.tg-page .tg-tile-wide .tile{min-height:91px;width:100%}
body.bali-guest-theme .loading,
body.bali-guest-theme .error{color:#ffe4b5;padding:35px 22px}
body.bali-guest-theme .loading{font-size:14px;letter-spacing:.08em}
@media(min-width:600px){
  body.bali-guest-theme .main{padding:25px max(20px,calc((100vw - 680px)/2)) 44px}
  .tg-wallet-stage{--coin-size:220px}
  .tg-page .coin-shop-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.bali-guest-theme .tile{min-height:138px;padding:18px}
}
@media(max-width:370px){
  body.bali-guest-theme .main{padding:12px 12px 26px}
  .tg-card-plinth{padding:10px 0 14px}
  .tg-card-heading{margin-bottom:11px}
  .tg-card-meta{font-size:9px}
  body.bali-guest-theme .nav{padding-inline:2px}
  .tg-nav-glyph{width:28px;height:28px;font-size:16px}
  body.bali-guest-theme .nav button{font-size:8px}
  body.bali-guest-theme .tile{min-height:109px}
  .tg-page .coin-shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tg-page .coin-shop-product .coin-shop-image{height:95px!important}
}
@media(prefers-reduced-motion:reduce){
  body.bali-guest-theme .tile,.tg-nav-glyph,.tg-page .coin-shop-product img{transition:none!important;animation:none!important}
  body.bali-guest-theme .tile{transform:none!important}
}


/* Directional glaze follows the card under a real pointer; original card art remains below. */
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-scene{transition:transform .20s ease-out}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-card .tg-card-light{
  position:absolute;inset:0;z-index:9;pointer-events:none;display:block;
  border-radius:inherit;opacity:.6;
  background:
    radial-gradient(circle at var(--card-light-x,31%) var(--card-light-y,24%),
      rgba(255,255,242,.20),rgba(255,220,150,.055) 26%,transparent 59%),
    linear-gradient(122deg,transparent 19%,rgba(255,239,200,.075) 38%,rgba(255,253,235,.12) 43%,transparent 57%);
  mix-blend-mode:screen;
}
body.bali-guest-theme #baliIdSection.tg-original-card .bali-card-has-front-art .bali-id-card-front .tg-card-light,
body.bali-guest-theme #baliIdSection.tg-original-card .bali-card-has-back-art .bali-id-card-back .tg-card-light{opacity:.33}
@media(prefers-reduced-motion:reduce){
 body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-flip-scene{transition:none}
 body.bali-guest-theme #baliIdSection.tg-original-card .bali-id-card .tg-card-light{opacity:.1}
}

/* Account linking has the same dimensional treatment, but no fake card is issued. */
.tg-auth-page{padding-top:clamp(18px,5vh,52px);max-width:480px}
.tg-auth-page>.tg-title{margin-bottom:20px}
.tg-auth-stage{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:34px 22px 22px;margin:0 0 17px}
.tg-auth-stage .tg-panel-title{font-size:21px}
.tg-auth-stage .tg-lead{margin:5px 0}
.tg-auth-symbol{
 width:106px;height:106px;border-radius:28px;display:grid;place-items:center;
 font-size:60px;color:#fff1c0;
 background:linear-gradient(145deg,#ca924d,#734722 45%,#25212a);
 border:1px solid #fff0b9;
 box-shadow:inset 0 3px rgba(255,247,215,.63),inset -5px -7px 12px #4a2717,
 0 11px 0 #422919,0 23px 35px #000a,0 0 38px #b67a3c37;
 text-shadow:0 5px 0 #714319,0 0 15px rgba(255,245,205,.65);
 transform:perspective(550px) rotateX(11deg) rotateY(-12deg);
 margin:0 0 18px;
}
.tg-auth-button{display:block;width:100%;min-height:52px;margin:17px 0}
.tg-auth-page #google-confirm{margin-top:16px}
.tg-auth-page #google-confirm .button{width:100%;margin-top:8px}
