@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Noto+Sans+Myanmar:wght@400;500;600;700&display=swap');

/* ---------- Bootstrap theme ---------- */
:root{
  --ink:#212939;--ink-2:#1d2b32;--gold:#f0b93d;--teal:#217864;
  --bs-primary:#217864;--bs-primary-rgb:33,120,100;
  --bs-link-color:#217864;--bs-link-color-rgb:33,120,100;--bs-link-hover-color:#185a4b;
  --bs-body-bg:#f9f6ef;--bs-body-color:#232a3a;--bs-body-font-family:'DM Sans',system-ui,sans-serif;--bs-body-font-size:.9375rem;
  --bs-heading-color:#232a3a;--bs-border-color:#e3dfd2;--bs-border-radius:.65rem;--bs-border-radius-lg:1rem;
  --bs-secondary-color:#6b7480;
  --shadow-soft:0 8px 24px rgba(39,48,57,.07);--tabbar-h:62px;
}
html{-webkit-text-size-adjust:100%}
body{min-width:320px;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Space Grotesk',sans-serif;letter-spacing:-.03em;line-height:1.15}
h2.page-title{font-size:1.3rem;margin:0 0 1rem}
.btn{--bs-btn-font-weight:700;--bs-btn-font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn-sm{min-height:34px;--bs-btn-font-size:.8rem}
.btn-primary{--bs-btn-bg:#217864;--bs-btn-border-color:#217864;--bs-btn-hover-bg:#1b6554;--bs-btn-hover-border-color:#1b6554;--bs-btn-active-bg:#185a4b;--bs-btn-active-border-color:#185a4b;--bs-btn-disabled-bg:#217864;--bs-btn-disabled-border-color:#217864}
.btn-outline-primary{--bs-btn-color:#217864;--bs-btn-border-color:#217864;--bs-btn-hover-bg:#217864;--bs-btn-hover-border-color:#217864;--bs-btn-active-bg:#185a4b;--bs-btn-active-border-color:#185a4b}
.btn-gold{--bs-btn-color:#222c36;--bs-btn-bg:var(--gold);--bs-btn-border-color:var(--gold);--bs-btn-hover-color:#222c36;--bs-btn-hover-bg:#e3a92c;--bs-btn-hover-border-color:#e3a92c;--bs-btn-active-color:#222c36;--bs-btn-active-bg:#d99d20;--bs-btn-active-border-color:#d99d20}
.form-control,.form-select{min-height:44px;background-color:#fffdf8}
.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem rgba(33,120,100,.15)}
.form-label{font-size:.75rem;font-weight:700;color:#505c61;margin-bottom:.3rem}
.card{--bs-card-bg:#fffdf8;--bs-card-border-color:#e5e1d4;--bs-card-border-radius:1rem;box-shadow:var(--shadow-soft)}
.badge{font-family:'DM Mono',monospace;font-weight:500;text-transform:capitalize;white-space:normal}
.alert{border-radius:.7rem;font-size:.85rem}
.eyebrow{font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--bs-secondary-color)}
.eyebrow.gold{color:#e8bb5f;letter-spacing:.16em;margin-bottom:12px}

/* ---------- App shell (mobile-first) ---------- */
.app-shell{min-height:100dvh;background:radial-gradient(ellipse at 92% 0%,rgba(228,177,82,.12),transparent 28%),var(--bs-body-bg)}
.main-area{min-width:0}
.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--bs-border-color);background:#faf8f2;position:sticky;top:0;z-index:10}
.top-title{display:none;font:600 13px 'Space Grotesk',sans-serif}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font:600 12px 'Space Grotesk',sans-serif;border:2px solid rgba(255,255,255,.8)}
.mobile-menu{display:grid;place-items:center;border:0;background:transparent;width:44px;height:44px;padding:0;color:var(--bs-body-color);font-size:26px;margin-left:-8px}
main.page{padding:18px 14px calc(var(--tabbar-h) + 28px);animation:rise .4s ease both}

.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:min(290px,84vw);height:100dvh;overflow-y:auto;background:var(--ink);color:#f3f0e6;padding:22px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .24s ease}
.nav-open .sidebar{transform:none}
.scrim{position:fixed;inset:0;z-index:35;background:rgba(15,20,28,.5);opacity:0;pointer-events:none;transition:opacity .2s}
.scrim-hit{width:100%;height:100%}
.nav-open .scrim{opacity:1;pointer-events:auto}
.brand{display:flex;align-items:center;gap:11px;padding:2px 10px 26px;text-decoration:none;color:inherit}
.brand-mark{width:35px;height:35px;background:var(--gold);color:#222c36;display:grid;place-items:center;border-radius:11px;font:700 15px 'Space Grotesk',sans-serif;transform:rotate(-5deg)}
.brand-name{font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.06em}
.brand-sub{font:10px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#aeb8bd;margin-top:2px}
.nav-label{color:#89969d;font:10px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;padding:0 12px;margin:14px 0 8px}
.nav-link{color:#c2cccf;text-decoration:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:600;margin:2px 0;transition:background .18s,color .18s}
.nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-link.active{background:rgba(224,176,82,.15);color:#f2c66d}
.nav-link .bi{font-size:1.05rem}
.sidebar form{margin:0}
.sidebar button.nav-link{width:100%;background:none;border:0;text-align:left}

.tabbar{position:fixed;z-index:30;left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#aeb8bd;text-decoration:none;font-size:11px;font-weight:600}
.tab .bi{font-size:1.2rem;line-height:1}
.tab.active{color:#f2c66d}

/* ---------- Public shell ---------- */
.public-shell{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 92% 0%,rgba(228,177,82,.16),transparent 30%),radial-gradient(ellipse at 0% 100%,rgba(40,114,95,.10),transparent 35%),var(--bs-body-bg)}
.public-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--ink);color:#f3f0e6}
.public-bar .brand{padding:0}
.public-bar .brand-sub{display:none}
.public-nav{display:flex;align-items:center;gap:6px}
.lang-switch{display:inline-flex;padding:3px;border-radius:999px;background:var(--ink);border:1px solid rgba(255,255,255,.1)}
.lang-switch button{min-width:38px;height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#c2cccf;font:600 12px 'DM Mono',monospace;letter-spacing:.04em;transition:background .18s,color .18s}
.lang-switch button:hover{color:#fff}
.lang-switch button.on{background:var(--gold);color:#222c36}
/* Burmese: Noto Sans Myanmar (web font, matches DM Sans weights); tall stacked glyphs need roomier lines and no tracking/uppercase */
html:lang(my){--my-font:'Noto Sans Myanmar','Myanmar Text','Padauk',sans-serif;--bs-body-font-family:var(--my-font);--bs-body-font-size:.9rem;--bs-body-line-height:1.75}
html:lang(my) body,html:lang(my) .btn,html:lang(my) .form-control,html:lang(my) .form-select,html:lang(my) .badge,html:lang(my) .eyebrow,html:lang(my) .top-title,html:lang(my) .brand-sub,html:lang(my) .nav-label,html:lang(my) .public-foot,html:lang(my) .wallet-chip,html:lang(my) .tour-title,html:lang(my) .tour-text{font-family:var(--my-font)}
html:lang(my) h1,html:lang(my) h2,html:lang(my) h3,html:lang(my) h4,html:lang(my) h5,html:lang(my) h6,html:lang(my) .top-title{font-family:var(--my-font);font-weight:600;letter-spacing:0;line-height:1.55}
html:lang(my) .eyebrow,html:lang(my) .nav-label,html:lang(my) .brand-sub,html:lang(my) .public-foot,html:lang(my) .badge{letter-spacing:0;text-transform:none;line-height:1.6}
html:lang(my) .btn,html:lang(my) .nav-link,html:lang(my) .pub-link,html:lang(my) .form-label{line-height:1.6;letter-spacing:0}
html:lang(my) .tab{font-size:11.5px;line-height:1.5;text-align:center;padding:0 2px}
html:lang(my) .hero h1{font-size:clamp(1.5rem,6vw,2.2rem);line-height:1.5}
html:lang(my) .badge{padding:.4em .65em}
@media (max-width:899.98px){.topbar .eyebrow,.topbar .avatar{display:none}.topbar{gap:4px;padding:0 8px}.help-btn{width:40px;font-size:20px}.wallet-chip{padding:.3rem .6rem;font-size:.75rem}}
@media (max-width:599.98px){.public-nav .pub-link,.public-nav .btn{display:none}.public-bar{padding:8px 12px}}
@media (max-width:575.98px){html:lang(my){--bs-body-font-size:.95rem}html:lang(my) .stack td{line-height:1.7}}
.pub-link{color:#c2cccf;text-decoration:none;font-size:13px;font-weight:600;padding:10px;border-radius:10px}
.pub-link:hover,.pub-link.active{color:#f2c66d;background:rgba(224,176,82,.12)}
.public-page{flex:1;width:100%;max-width:1100px;margin:auto;padding:20px 14px 36px;animation:rise .4s ease both}
.public-foot{text-align:center;padding:20px 14px;font:10px 'DM Mono',monospace;letter-spacing:.1em;color:var(--bs-secondary-color)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.skeleton{background:linear-gradient(90deg,rgba(128,128,128,.14) 25%,rgba(128,128,128,.26) 50%,rgba(128,128,128,.14) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:6px}
.skeleton-line{height:1.1rem}
@keyframes shimmer{to{background-position:-200% 0}}

/* ---------- Components ---------- */
.auth-card{max-width:440px;margin:14px auto}
.hero{background:var(--ink-2);color:#f5f1e6;border:0;border-radius:1.25rem;position:relative;overflow:hidden;padding:28px 20px;margin-bottom:1.5rem}
.hero:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid rgba(232,187,95,.28);right:-90px;top:-80px;box-shadow:0 0 0 20px rgba(232,187,95,.035),0 0 0 44px rgba(232,187,95,.025)}
.hero>*{position:relative}
.hero,.live-slide{--bs-heading-color:#f5f1e6}
.hero h1{font-size:clamp(30px,9vw,54px);line-height:1;letter-spacing:-.06em;margin:0 0 12px}
.hero p{color:#c2cac7;font-size:14px;line-height:1.6}
.step{position:relative;overflow:hidden;border-top:4px solid var(--teal)}
.step:nth-child(2){border-top-color:var(--gold)}
.step:nth-child(3){border-top-color:var(--ink-2)}
.step-no{position:absolute;right:16px;top:10px;font:500 30px 'DM Mono',monospace;color:#e6e1d3}
.roster{list-style:none;padding:0;margin:0 0 12px}
.roster li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--bs-border-color)}
.roster li:last-child{border-bottom:0}
.stat{text-decoration:none;color:inherit;display:block;height:100%;transition:transform .18s}
.stat:hover{transform:translateY(-2px);color:inherit}
.stat .num{font:700 2rem 'Space Grotesk',sans-serif;line-height:1}
.badge.leader{background:#fff1d7!important;color:#81561a!important}

/* tables stack into rows on mobile */
table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
table.stack thead{display:none}
table.stack tr{padding:12px 14px;border-bottom:1px solid var(--bs-border-color)}
table.stack tr:last-child{border-bottom:0}
table.stack td{padding:3px 0;border:0;background:transparent;font-size:14px}
table.stack td form{display:flex;flex-direction:column;gap:8px;margin-top:6px}

/* deposit */
.deposit{border-top:4px solid var(--gold)}
.funding{display:grid;gap:12px;margin:14px 0}
.fund{border:1px solid var(--bs-border-color);border-radius:.8rem;padding:12px}
.fund.done{border-color:var(--teal);background:rgba(33,120,100,.06)}
.fund-top{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:8px}
.bar{height:8px;background:#ece8dc;border-radius:9px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--teal);border-radius:9px;transition:width .4s}
.badge.st-ok{background:#e4f2e9!important;color:#206541!important}
.badge.st-pending{background:#fff1d7!important;color:#81561a!important}
.badge.st-none{background:#ece8dc!important;color:var(--bs-secondary-color)!important}
.how{margin:4px 0 14px;padding-left:20px;color:var(--bs-secondary-color)}
.pay-info{background:#ece8dc;border-radius:.8rem;padding:12px 14px;margin-bottom:12px;white-space:pre-line}
.pay-info .eyebrow{display:block;margin-bottom:4px}

/* live slideshow */
.live{margin-bottom:1.25rem}
.live-viewport{position:relative;overflow:hidden;border-radius:1.1rem;box-shadow:var(--shadow-soft);background:var(--ink-2);touch-action:pan-y}
.live-track{display:flex;transition:transform .5s cubic-bezier(.22,.8,.24,1);will-change:transform}
.live-slide{flex:0 0 100%;min-width:0;color:#f5f1e6}
.live-media{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat}
.live-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.live-info{padding:16px}
.live-info p{color:#c2cac7;font-size:14px}
.live-arrow{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin-top:-20px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(15,20,28,.55);color:#fff;font-size:18px;backdrop-filter:blur(4px);transition:background .18s,transform .18s}
.live-arrow:hover{background:rgba(15,20,28,.8)}
.live-arrow:active{transform:scale(.92)}
.live-arrow.left{left:8px}
.live-arrow.right{right:8px}
.live-badge{background:#c0392b;color:#fff;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.08em}
.pulse{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.25}}
.live-dots{display:flex;justify-content:center;gap:2px;margin-top:6px}
.live-dot{width:22px;height:22px;padding:0;border:0;background:transparent;position:relative}
.live-dot:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#d3cfc0;transition:all .25s}
.live-dot.on:after{inset:5px;background:var(--teal)}
@media (prefers-reduced-motion:reduce){.live-track{transition:none}}

/* ---------- Tablet / desktop ---------- */
@media(min-width:600px){
  .auth-card{margin:30px auto}
  .public-bar .brand-sub{display:block}
  .hero{padding:40px 36px}
  .funding{grid-template-columns:1fr 1fr}
}
@media(min-width:900px){
  .app-shell{display:flex}
  .main-area{flex:1}
  .mobile-menu,.scrim,.tabbar{display:none}
  .sidebar{position:sticky;top:0;transform:none;width:250px;flex-shrink:0;padding:26px 17px 20px;transition:none;z-index:auto}
  .nav-link{font-size:13px}
  .topbar{height:70px;padding:0 42px}
  .top-title{display:block}
  main.page{max-width:1100px;margin:auto;padding:34px 42px 60px}
  .public-bar{padding:14px 42px}
  .public-page{padding:34px 42px 50px}
  .hero{padding:44px 40px}
  .hero:before{width:320px;height:320px;right:4%;top:-90px}
  .live-slide{display:grid;grid-template-columns:1.6fr 1fr;align-items:center}
  .live-info{padding:28px}
  table.stack{display:table}table.stack tbody{display:table-row-group}table.stack tr{display:table-row;padding:0}
  table.stack td{display:table-cell;width:auto;padding:.8rem 1rem;border-bottom:1px solid var(--bs-border-color);vertical-align:middle;font-size:13px}
  table.stack tr:last-child td{border-bottom:0}
  table.stack td form{display:inline-flex;flex-direction:row;margin:0;align-items:center}
}

.help-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--bs-body-color);font-size:22px}

/* guided tour (mobile-first: card is clamped to the viewport in JS) */
.tour{position:fixed;inset:0;z-index:1100}
.tour-block{position:absolute;inset:0}
.tour-box{position:fixed;border-radius:.8rem;border:2px solid var(--gold);box-shadow:0 0 0 9999px rgba(15,20,28,.68);pointer-events:none;transition:top .35s ease,left .35s ease,width .35s ease,height .35s ease,opacity .25s}
.tour-box.empty{border-color:transparent}
.tour-card{position:fixed;max-width:calc(100vw - 24px);background:#fffdf8;border-radius:1rem;padding:16px;box-shadow:0 14px 40px rgba(0,0,0,.35);transition:top .35s ease,left .35s ease}
.tour-title{font-size:1.1rem;margin:4px 0 6px}
.tour-text{font-size:14px;line-height:1.5;margin:0 0 10px;color:#46505a}
.tour-dots{display:flex;gap:5px;margin-bottom:10px}
.tour-dots span{width:7px;height:7px;border-radius:50%;background:#d3cfc0}
.tour-dots span.on{background:var(--teal)}
.tour-actions{display:flex;justify-content:space-between;align-items:center}
@media (prefers-reduced-motion:reduce){.tour-box,.tour-card{transition:none}}

.toasts{position:fixed;top:.75rem;left:50%;transform:translateX(-50%);z-index:1080;width:min(92vw,420px)}

.wallet-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.1);color:inherit;text-decoration:none;font-family:'DM Mono',monospace;font-size:.8rem;font-weight:600;white-space:nowrap}
.wallet-card .num{font-size:2.25rem}
.amt-plus{color:#1a7f4b;font-weight:700}.amt-minus{color:#b42318;font-weight:700}

.result-shot { max-width: 100%; max-height: 28rem; border-radius: .5rem; border: 1px solid #0002; }
.chat-log { max-height: 24rem; overflow-y: auto; display: flex; flex-direction: column; gap: .5rem; }
.chat-msg { max-width: 85%; padding: .4rem .7rem; border-radius: .6rem; background: #0000000d; }
.chat-msg.from-admin { align-self: flex-start; }
.chat-msg.from-user { align-self: flex-end; background: #0d6efd1f; }
.chat-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.contact-card{color:inherit;transition:transform .15s}.contact-card:hover{transform:translateY(-2px)}.contact-card .bi-messenger{color:#0084ff}.contact-card .bi-telephone{color:#7360f2}.contact-card .bi-telegram{color:#229ed9}
.app-foot{text-align:center;padding:16px 14px calc(var(--tabbar-h) + 24px);font:10px 'DM Mono',monospace;letter-spacing:.1em;color:var(--bs-secondary-color)}html:lang(my) .app-foot{font-family:var(--my-font);letter-spacing:0;text-transform:none;line-height:1.6}@media(min-width:900px){.app-foot{padding:16px 14px 24px}}
.main-area{display:flex;flex-direction:column;min-height:100dvh}main.page{flex:1;width:100%}.app-foot{margin-top:auto}
