/* ===== Шрифты ===== */
@font-face{font-family:'Display';src:url('assets/fonts/RussoOne.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Body';src:url('assets/fonts/Rubik.ttf') format('truetype');font-weight:300 800;font-display:swap;}

:root{
  --bg0:#0a0f1e; --bg1:#0e1530; --card:#161f3d; --card2:#1c2848; --card-hi:#243156;
  --accent:#ffce3a; --accent-d:#f0a500; --green:#3ee0a3; --green-d:#16a877; --red:#ff6b6b;
  --blue:#5db4f0; --purple:#a98bf0; --cyan:#5fe3e0;
  --text:#eef3ff; --muted:#8d9bc2; --line:#2a375f;
  --fdisp:'Display',system-ui,sans-serif; --fbody:'Body',system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;
  user-select:none;-webkit-user-select:none;font-family:var(--fbody);color:var(--text);
  background:var(--bg0);}
b{color:inherit;font-weight:700;}

#game{position:relative;display:flex;flex-direction:column;height:100dvh;max-width:600px;margin:0 auto;
  background:
    radial-gradient(120% 60% at 50% -10%, rgba(93,180,240,.16), transparent 60%),
    radial-gradient(100% 50% at 50% 0%, rgba(255,206,58,.08), transparent 55%),
    linear-gradient(180deg,var(--bg1) 0%,var(--bg0) 60%);
}
/* лёгкий точечный паттерн */
#game::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 70%);}

/* ===== Верхняя панель ===== */
#topbar{position:relative;flex:0 0 auto;padding:max(env(safe-area-inset-top),12px) 14px 10px;
  background:linear-gradient(180deg,rgba(10,15,30,.92),rgba(10,15,30,.55));
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:5;}
.top-main{display:flex;align-items:center;gap:11px;}
.coin{width:46px;height:46px;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(255,206,58,.5));animation:coinFloat 3s ease-in-out infinite;}
@keyframes coinFloat{50%{transform:translateY(-3px) rotate(-4deg);}}
.top-money{display:flex;flex-direction:column;min-width:0;flex:1;}
#money{font-family:var(--fdisp);font-size:clamp(22px,7vw,30px);color:var(--accent);line-height:1.05;
  text-shadow:0 0 16px rgba(255,206,58,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s;}
#money.gain{color:#fff0b0;}
#income{color:var(--green);font-size:12.5px;font-weight:600;margin-top:1px;}
.top-right{display:flex;gap:6px;flex:0 0 auto;}
.mini-btn{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:12px;
  width:40px;height:40px;font-size:18px;cursor:pointer;color:var(--text);transition:transform .1s,box-shadow .2s;}
.mini-btn:active{transform:scale(.9);}
.mini-btn.star{background:linear-gradient(180deg,#4a3a8a,#2e2456);border-color:#6a55c0;box-shadow:0 0 12px rgba(150,110,240,.3);}
.top-chips{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap;}
.chip{background:rgba(20,28,52,.7);border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:12px;
  color:var(--muted);display:inline-flex;align-items:center;gap:4px;}
.chip b{font-family:var(--fdisp);font-weight:400;font-size:12px;}
.chip.gem b{color:var(--cyan);} .chip.star b{color:var(--accent);} .chip.port b{color:var(--green);} .chip.ach b{color:var(--purple);}

/* ===== Область вкладок ===== */
#view{flex:1 1 auto;position:relative;overflow:hidden;z-index:1;}
.view{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 20px;
  display:none;flex-direction:column;gap:11px;}
.view.active{display:flex;}
.view::-webkit-scrollbar{width:0;}
.view-enter{animation:viewIn .28s ease;}
@keyframes viewIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.sec-title{font-family:var(--fdisp);font-size:14px;color:var(--text);margin:6px 2px 0;letter-spacing:.3px;}
.sec-hint{color:var(--muted);font-size:12.5px;line-height:1.5;
  background:linear-gradient(180deg,rgba(28,40,72,.6),rgba(22,31,61,.4));
  border:1px solid var(--line);border-radius:14px;padding:10px 13px;}
.sec-hint b{color:var(--accent);}
.muted{color:var(--muted);} .center{text-align:center;padding:24px;}

.card-list{display:grid;grid-template-columns:1fr;gap:11px;}
@media (min-width:540px){.card-list{grid-template-columns:1fr 1fr;}}

/* появление карточек */
.biz,.card,.stock{animation:cardIn .35s ease both;}
@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}

/* ===== Выбор количества ===== */
.buyamt-bar{display:flex;gap:7px;}
.amt{flex:1;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);color:var(--muted);
  border-radius:12px;padding:10px 4px;font-family:var(--fdisp);font-size:13px;cursor:pointer;transition:all .14s;}
.amt.active{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:#3a2a00;border-color:var(--accent);
  box-shadow:0 4px 14px rgba(255,206,58,.3);}

/* ===== Карточка бизнеса ===== */
.biz{position:relative;display:flex;gap:12px;padding:13px;border-radius:18px;
  background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(0,0,0,.25);overflow:hidden;}
.biz::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--c1),var(--c2));opacity:.9;}
.biz.locked{opacity:.62;}
.biz.locked .biz-icon{filter:grayscale(.7);}
.biz.running{box-shadow:0 6px 22px rgba(62,224,163,.18);}

.biz-icon{position:relative;flex:0 0 auto;width:62px;height:62px;border-radius:16px;cursor:pointer;padding:0;
  background:linear-gradient(140deg,var(--c1),var(--c2));border:none;display:grid;place-items:center;
  box-shadow:inset 0 -3px 8px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.3);transition:transform .1s;}
.biz-icon::before{content:'';position:absolute;inset:3px;border-radius:13px;background:rgba(12,18,36,.78);}
.biz-icon svg{position:relative;width:42px;height:42px;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));}
.biz-icon:active{transform:scale(.9);}
.biz-icon.ready{animation:readyPulse 1.3s ease-in-out infinite;}
@keyframes readyPulse{0%,100%{box-shadow:inset 0 -3px 8px rgba(0,0,0,.25),0 0 0 0 rgba(62,224,163,.5);}50%{box-shadow:inset 0 -3px 8px rgba(0,0,0,.25),0 0 0 4px rgba(62,224,163,.55);}}
.ready-dot{position:absolute;z-index:2;font-size:13px;color:#fff;opacity:0;text-shadow:0 1px 3px #000;transition:opacity .2s;}
.biz-icon.ready .ready-dot{opacity:.9;}
.count-badge{position:absolute;z-index:3;top:-7px;right:-7px;background:linear-gradient(180deg,var(--accent),var(--accent-d));
  color:#3a2a00;font-family:var(--fdisp);font-size:11px;min-width:21px;height:21px;padding:0 5px;border-radius:11px;
  display:grid;place-items:center;border:2px solid var(--card);box-shadow:0 2px 6px rgba(0,0,0,.4);}

.biz-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.biz-head{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.biz-name{font-family:var(--fdisp);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.2px;}
.ms-badge{flex:0 0 auto;font-family:var(--fdisp);font-size:11px;color:#3a2a00;background:linear-gradient(180deg,var(--accent),var(--accent-d));
  padding:2px 7px;border-radius:8px;box-shadow:0 2px 6px rgba(255,206,58,.3);}
.per-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
.per{color:var(--green);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ms-tip{color:var(--accent);font-size:10.5px;white-space:nowrap;flex:0 0 auto;opacity:.85;}
.progress{position:relative;height:22px;background:#0c1428;border-radius:8px;overflow:hidden;border:1px solid #243056;}
.progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:7px;
  background:linear-gradient(90deg,var(--green-d),var(--green));box-shadow:0 0 10px rgba(62,224,163,.4);}
.biz.running .progress-fill::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  animation:shimmer 1.1s linear infinite;}
@keyframes shimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}
.ms-fill{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--accent);box-shadow:0 0 6px var(--accent);border-radius:2px;}

.biz-actions{display:flex;gap:8px;margin-top:1px;}
.biz-buy{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;cursor:pointer;
  background:linear-gradient(180deg,var(--card-hi),#1a2546);border:1px solid #34427a;border-radius:12px;padding:7px 10px;
  color:var(--text);font-family:var(--fdisp);font-size:13px;transition:transform .1s,box-shadow .2s;position:relative;overflow:hidden;}
.biz-buy::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);}
.biz-buy:active{transform:scale(.97);}
.biz-buy.affordable{background:linear-gradient(180deg,#1f6e49,#15512f);border-color:var(--green-d);box-shadow:0 4px 14px rgba(30,168,119,.28);}
.biz-buy .bl{display:flex;flex-direction:row;align-items:baseline;gap:5px;line-height:1.1;max-width:100%;}
.biz-buy .b-main{white-space:nowrap;}
.biz-buy .b-qty{font-size:10px;color:var(--muted);font-family:var(--fbody);}
.biz-buy .b-cost{color:var(--accent);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.biz-buy.affordable .b-cost{color:#eafff5;}
.biz-mgr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;cursor:pointer;
  background:linear-gradient(180deg,var(--card-hi),#1a2546);border:1px solid #34427a;border-radius:12px;padding:6px 11px;
  color:var(--text);font-family:var(--fdisp);font-size:15px;min-width:56px;transition:transform .1s;}
.biz-mgr:active{transform:scale(.95);}
.biz-mgr small{font-size:9px;color:var(--muted);margin-top:2px;font-family:var(--fbody);}
.biz-mgr.hired{background:linear-gradient(180deg,#1f6e49,#15512f);border-color:var(--green-d);}
.biz-mgr.hired small{color:var(--green);}
.biz-mgr:disabled{opacity:.45;}

/* ===== Универсальная карточка ===== */
.card{display:flex;align-items:center;gap:12px;padding:13px;border-radius:16px;
  background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);box-shadow:0 5px 16px rgba(0,0,0,.22);}
.card.done,.card.owned{border-color:var(--green-d);box-shadow:0 0 14px rgba(30,168,119,.18);}
.card-ico{flex:0 0 auto;width:50px;height:50px;border-radius:14px;background:linear-gradient(140deg,#26345c,#1a2444);
  border:1px solid #34427a;display:grid;place-items:center;font-size:27px;box-shadow:inset 0 -2px 6px rgba(0,0,0,.3);}
.card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.card-title{font-family:var(--fdisp);font-size:14px;display:flex;gap:6px;align-items:center;}
.card-title .own{color:var(--accent);font-size:12px;}
.card-sub{color:var(--muted);font-size:12px;line-height:1.3;}
.card-btn{flex:0 0 auto;background:linear-gradient(180deg,var(--card-hi),#1a2546);border:1px solid #34427a;border-radius:12px;
  padding:11px 13px;color:var(--accent);font-family:var(--fdisp);font-size:13px;cursor:pointer;white-space:nowrap;max-width:44%;
  transition:transform .1s,box-shadow .2s;}
.card-btn:active{transform:scale(.96);}
.card-btn.affordable{background:linear-gradient(180deg,#1f6e49,#15512f);border-color:var(--green-d);color:#eafff5;box-shadow:0 4px 14px rgba(30,168,119,.28);}
.card-btn.gem{color:var(--cyan);}
.card-btn.gem.affordable{background:linear-gradient(180deg,#1d5e7a,#15485e);border-color:#2d8aa8;color:#dff7ff;box-shadow:0 4px 14px rgba(45,138,168,.28);}
.card-btn.owned{background:transparent;border-color:var(--green-d);color:var(--green);cursor:default;}
.card-btn:disabled{opacity:.5;cursor:default;}

/* ===== Биржа ===== */
.stock{display:flex;flex-direction:column;gap:9px;padding:13px;border-radius:16px;
  background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);box-shadow:0 5px 16px rgba(0,0,0,.22);}
.stock-top{display:flex;justify-content:space-between;align-items:center;}
.stock-name{font-family:var(--fdisp);font-size:14px;}
.stock-price{font-family:var(--fdisp);font-size:15px;color:var(--accent);}
.spark{width:100%;height:40px;background:linear-gradient(180deg,#0c1428,#0a1020);border-radius:10px;border:1px solid #243056;}
.spark polyline{filter:drop-shadow(0 0 3px currentColor);}
.stock-pos{font-size:12px;color:var(--muted);}
.pl-up{color:var(--green);font-weight:600;} .pl-down{color:var(--red);font-weight:600;}
.stock-actions{display:flex;gap:6px;flex-wrap:wrap;}
.stock-actions button{flex:1;min-width:62px;border-radius:11px;padding:10px 4px;font-family:var(--fdisp);font-size:12px;
  cursor:pointer;border:1px solid #34427a;background:linear-gradient(180deg,var(--card-hi),#1a2546);color:var(--text);transition:transform .1s;}
.stock-actions button:active{transform:scale(.96);}
.s-sell{background:linear-gradient(180deg,#6e2434,#4d1922)!important;border-color:#9a3a4c!important;color:#ffd5dc!important;}
.stock-actions button:disabled{opacity:.4;}

/* ===== Новости ===== */
.news-list{display:flex;flex-direction:column;gap:9px;}
.news-item{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:12px;padding:11px 13px;font-size:13px;line-height:1.45;animation:viewIn .3s ease;}
.news-active-slot:empty{display:none;}
.news-active{background:linear-gradient(160deg,#1f4636,#163026);border:1px solid var(--green-d);border-radius:12px;
  padding:11px 13px;font-size:13px;color:#dffff0;}
.news-active b{color:var(--green);}

/* ===== Нижняя навигация ===== */
#tabbar{position:relative;z-index:5;flex:0 0 auto;display:flex;
  background:linear-gradient(0deg,rgba(8,12,24,.97),rgba(8,12,24,.8));backdrop-filter:blur(10px);
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);}
.tabbtn{flex:1;background:none;border:none;color:var(--muted);padding:9px 2px 8px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .15s;position:relative;min-width:0;}
.tabbtn .ti{font-size:20px;line-height:1;transition:transform .15s;}
.tabbtn .tl{font-size:9.5px;font-family:var(--fbody);font-weight:600;white-space:nowrap;}
.tabbtn.active{color:var(--accent);}
.tabbtn.active .ti{transform:translateY(-2px) scale(1.15);}
.tabbtn.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:34px;height:3px;
  background:var(--accent);border-radius:0 0 5px 5px;box-shadow:0 0 8px var(--accent);}
.tabbtn.active::after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,206,58,.18),transparent 70%);pointer-events:none;}
@media (max-width:360px){.tabbtn .tl{display:none;}.tabbtn .ti{font-size:23px;}}

/* ===== Всплывашки / тосты ===== */
#floaters{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden;}
.floater{position:absolute;font-family:var(--fdisp);font-size:17px;color:var(--green);
  text-shadow:0 2px 6px rgba(0,0,0,.7);transform:translateX(-50%);animation:floatUp 1s ease-out forwards;white-space:nowrap;}
@keyframes floatUp{0%{transform:translate(-50%,0) scale(.8);opacity:0;}18%{opacity:1;transform:translate(-50%,-10px) scale(1.15);}
  100%{transform:translate(-50%,-64px) scale(1);opacity:0;}}
#toasts{position:fixed;left:0;right:0;top:max(env(safe-area-inset-top),12px);z-index:40;display:flex;flex-direction:column;
  align-items:center;gap:7px;pointer-events:none;padding:0 12px;}
.toast{max-width:560px;width:fit-content;background:linear-gradient(160deg,rgba(28,40,72,.97),rgba(20,28,50,.97));
  border:1px solid var(--line);border-radius:13px;padding:11px 15px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.5);animation:toastIn .35s cubic-bezier(.2,1.4,.4,1);}
.toast b{color:var(--accent);}
.toast.good{border-color:var(--green-d);} .toast.good b{color:var(--green);}
.toast.bad{border-color:#9a3a4c;} .toast.news{border-color:var(--blue);}
.toast.out{animation:toastOut .5s ease forwards;}
@keyframes toastIn{from{opacity:0;transform:translateY(-16px) scale(.9);}to{opacity:1;transform:none;}}
@keyframes toastOut{to{opacity:0;transform:translateY(-16px);}}

/* ===== Модалки ===== */
.modal{position:fixed;inset:0;z-index:50;background:rgba(4,7,15,.82);backdrop-filter:blur(5px);display:grid;place-items:center;padding:22px;}
.modal.hidden{display:none;}
.modal-card{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid #34427a;border-radius:22px;padding:24px;
  max-width:360px;width:100%;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.6);animation:modalIn .3s cubic-bezier(.2,1.3,.4,1);}
.modal-card.wide{max-width:440px;}
@keyframes modalIn{from{opacity:0;transform:scale(.9) translateY(10px);}to{opacity:1;transform:none;}}
.modal-card h2{font-family:var(--fdisp);margin:0 0 12px;font-weight:400;font-size:20px;}
.modal-card h2 small{display:block;color:var(--muted);font-size:12px;font-family:var(--fbody);margin-top:3px;}
.modal-card p{color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0;}
.prestige-gain b{color:var(--accent);}
.offline-amount{font-family:var(--fdisp);font-size:30px;color:var(--green)!important;text-shadow:0 0 16px rgba(62,224,163,.4);}
.modal-actions{display:flex;gap:10px;margin-top:20px;}
.btn-primary,.btn-ghost{flex:1;padding:14px;border-radius:13px;font-family:var(--fdisp);font-size:15px;cursor:pointer;border:1px solid transparent;transition:transform .1s;}
.btn-primary{background:linear-gradient(180deg,var(--green),var(--green-d));color:#052b1c;box-shadow:0 6px 18px rgba(30,168,119,.35);}
.btn-primary:active{transform:scale(.97);} .btn-primary:disabled{opacity:.5;box-shadow:none;}
.btn-ghost{background:transparent;border-color:#3a4670;color:var(--muted);}

/* ===== КАЗИНО / МИНИ-ИГРЫ ===== */
.mini-card{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:16px;
  padding:14px;box-shadow:0 5px 16px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:11px;}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.mini-h{font-family:var(--fdisp);font-size:14px;} .mini-h b{color:var(--accent);}
.mini-sub{color:var(--muted);font-size:12px;margin-top:3px;}
.mini-btn-lg{background:linear-gradient(180deg,var(--green),var(--green-d));color:#052b1c;border:none;border-radius:13px;
  padding:13px;font-family:var(--fdisp);font-size:14px;cursor:pointer;transition:transform .1s;box-shadow:0 5px 16px rgba(30,168,119,.3);}
.mini-btn-lg:active{transform:scale(.97);}
.mini-btn-lg.gold{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:#3a2a00;box-shadow:0 5px 16px rgba(255,206,58,.3);}
.mini-btn-lg.dim{background:linear-gradient(180deg,#2a3454,#222d4a);color:var(--muted);box-shadow:none;}

/* колесо */
.wheel-wrap{position:relative;width:210px;height:210px;margin:4px auto 0;}
.wheel{width:100%;height:100%;border-radius:50%;border:4px solid #ffce3a;box-shadow:0 0 22px rgba(255,206,58,.35),inset 0 0 20px rgba(0,0,0,.4);}
.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);font-size:24px;color:#ff6b6b;z-index:2;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));}

/* слоты */
.reels{display:flex;gap:8px;justify-content:center;}
.reel{flex:1;max-width:90px;aspect-ratio:1;background:linear-gradient(180deg,#0c1428,#0a1020);border:2px solid #2a3760;border-radius:14px;
  display:grid;place-items:center;font-size:40px;box-shadow:inset 0 3px 10px rgba(0,0,0,.5);}
.reel.reel-stop{animation:reelStop .3s ease;}
@keyframes reelStop{0%{transform:scale(1.15);}100%{transform:scale(1);}}
.slot-info{text-align:center;font-family:var(--fdisp);font-size:13px;color:var(--accent);min-height:18px;}
.bet-row{display:flex;align-items:center;gap:6px;}
.bet-row>span{color:var(--muted);font-size:12px;}
.bet,.gbet{flex:1;background:var(--card-hi);border:1px solid #34427a;color:var(--muted);border-radius:10px;padding:8px 4px;
  font-family:var(--fdisp);font-size:12px;cursor:pointer;transition:all .12s;}
.bet.active,.gbet.active{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:#3a2a00;border-color:var(--accent);}

/* бык/медведь */
.bb-result{font-size:54px;text-align:center;height:64px;line-height:64px;transition:transform .2s;}
.bb-result.win-flash{animation:winFlash .6s ease;} .bb-result.lose-flash{animation:loseFlash .6s ease;}
@keyframes winFlash{0%,100%{transform:scale(1);}50%{transform:scale(1.4);filter:drop-shadow(0 0 12px var(--green));}}
@keyframes loseFlash{0%,100%{transform:scale(1);}25%{transform:translateX(-8px);}75%{transform:translateX(8px);}}
.bb-actions{display:flex;gap:10px;}
.bb-btn{flex:1;border:none;border-radius:13px;padding:14px;font-family:var(--fdisp);font-size:15px;cursor:pointer;transition:transform .1s;}
.bb-btn:active{transform:scale(.96);}
.bb-btn.bull{background:linear-gradient(180deg,#1f6e49,#15512f);color:#dffff0;}
.bb-btn.bear{background:linear-gradient(180deg,#6e2434,#4d1922);color:#ffd5dc;}

/* бейдж на вкладке */
.tab-badge{position:absolute;top:4px;right:50%;margin-right:-22px;width:16px;height:16px;border-radius:50%;
  background:var(--red);color:#fff;font-size:11px;font-weight:700;display:none;place-items:center;line-height:16px;
  box-shadow:0 0 8px rgba(255,107,107,.7);animation:badgePulse 1.3s ease-in-out infinite;}
.tab-badge.on{display:grid;}
@keyframes badgePulse{50%{transform:scale(1.2);}}

/* ежедневная награда */
.daily-track{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:6px 0;}
.daily-day{background:rgba(12,18,36,.6);border:1px solid var(--line);border-radius:11px;padding:8px 4px;text-align:center;}
.daily-day.today{border-color:var(--accent);background:linear-gradient(160deg,rgba(255,206,58,.18),rgba(22,31,61,.5));box-shadow:0 0 12px rgba(255,206,58,.25);}
.daily-day.past{opacity:.5;}
.dd-day{font-size:9px;color:var(--muted);} .dd-ico{font-size:22px;margin:2px 0;} .dd-lbl{font-size:9px;color:var(--text);line-height:1.1;}

/* золотая монета */
#golden-layer{position:fixed;inset:0;pointer-events:none;z-index:35;overflow:hidden;}
.golden-coin{position:absolute;top:var(--y);pointer-events:auto;background:none;border:none;font-size:42px;cursor:pointer;
  filter:drop-shadow(0 0 12px rgba(255,206,58,.8));z-index:36;}
.golden-coin.from-left{left:-60px;animation:flyRight 8s linear forwards;}
.golden-coin.from-right{right:-60px;animation:flyLeft 8s linear forwards;}
.golden-coin.caught{animation:coinCaught .3s ease forwards!important;}
@keyframes flyRight{from{transform:translateX(0) rotate(0);}to{transform:translateX(110vw) rotate(720deg);}}
@keyframes flyLeft{from{transform:translateX(0) rotate(0);}to{transform:translateX(-110vw) rotate(-720deg);}}
@keyframes coinCaught{to{transform:scale(2.2);opacity:0;}}

/* конфетти */
.confetti{position:absolute;width:9px;height:9px;border-radius:2px;z-index:40;
  animation:confettiFall 1.3s ease-out forwards;}
@keyframes confettiFall{0%{transform:translate(0,0) rotate(0);opacity:1;}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0;}}

/* ===== КАРТА / ГОРОД ===== */
.map-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.ms-item{background:linear-gradient(160deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:12px;
  padding:9px 4px;text-align:center;display:flex;flex-direction:column;gap:2px;}
.ms-num{font-family:var(--fdisp);font-size:14px;color:var(--accent);}
.ms-lbl{font-size:9.5px;color:var(--muted);}
.city{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:9px;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 30px,rgba(0,0,0,.12) 30px,rgba(0,0,0,.12) 33px),
    repeating-linear-gradient(90deg,transparent,transparent 30px,rgba(0,0,0,.12) 30px,rgba(0,0,0,.12) 33px),
    linear-gradient(160deg,#1c3a2a,#15302360);
  border:1px solid #2a4a38;border-radius:16px;padding:11px;}
.btile{position:relative;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);
  border-radius:12px;padding:8px 6px 7px;text-align:center;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.3);
  animation:cardIn .35s ease both;}
.btile .bt-roof{height:6px;margin:-8px -6px 5px;background:linear-gradient(90deg,var(--c1),var(--c2));}
.btile .bt-icon{width:44px;height:44px;margin:0 auto;border-radius:11px;background:linear-gradient(140deg,var(--c1),var(--c2));
  display:grid;place-items:center;box-shadow:inset 0 -2px 6px rgba(0,0,0,.25);}
.btile .bt-icon::before{content:'';position:absolute;}
.btile .bt-icon svg{width:32px;height:32px;}
.bt-emoji{font-size:38px;line-height:1;margin:2px 0 4px;}
.bt-name{font-family:var(--fdisp);font-size:10.5px;margin-top:5px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bt-foot{display:flex;justify-content:center;gap:5px;align-items:center;margin-top:3px;flex-wrap:wrap;}
.bt-cnt{font-family:var(--fdisp);font-size:11px;color:var(--accent);}
.bt-lvl{font-size:8px;} .bt-rent{font-size:9px;color:var(--green);}
.bt-mgr{position:absolute;top:5px;right:6px;font-size:13px;}
.btile.locked{opacity:.5;}
.btile.locked .bt-lock{font-size:30px;margin:6px 0;}
.btile.estate{background:linear-gradient(180deg,#243156,#18223f);}
.lux-row{display:flex;flex-wrap:wrap;gap:7px;}
.lux-chip{background:linear-gradient(160deg,#2a2150,#1c1838);border:1px solid #5b48a8;border-radius:20px;
  padding:6px 11px;font-size:12px;color:#e9deff;}

/* ===== КОСТИ ===== */
.dice-row{display:flex;gap:14px;justify-content:center;}
.die{width:62px;height:62px;background:linear-gradient(160deg,#fff,#d8deea);color:#1a1d28;border-radius:14px;
  display:grid;place-items:center;font-size:46px;box-shadow:0 4px 10px rgba(0,0,0,.4);}
.die.reel-stop{animation:reelStop .3s ease;}
.bb-actions.three{gap:7px;}
.bb-actions.three .bb-btn{font-size:13px;padding:13px 4px;}
.bb-btn.gold7{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:#3a2a00;}

/* ===== ТРИ КАРТЫ ===== */
.cards3{display:flex;gap:12px;justify-content:center;}
.pcard{background:none;border:none;cursor:pointer;padding:0;width:64px;transition:transform .15s;perspective:400px;}
.pcard:active{transform:scale(.95);}
.pcard svg{width:100%;height:auto;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4));}
.pcard.flip{animation:cardFlip .4s ease;}
@keyframes cardFlip{0%{transform:rotateY(90deg);}100%{transform:rotateY(0);}}
.pcard.ace{animation:aceGlow .6s ease;} .pcard.ace svg{filter:drop-shadow(0 0 14px var(--accent));}
@keyframes aceGlow{50%{transform:scale(1.15) translateY(-6px);}}
.pcard.miss{opacity:.6;}

/* таббар: 8 вкладок — компактнее */
@media (max-width:420px){.tabbtn{padding:8px 1px 7px;} .tabbtn .ti{font-size:18px;} .tabbtn .tl{font-size:8.5px;}}
@media (max-width:360px){.tabbtn .tl{display:none;} .tabbtn .ti{font-size:20px;}}

/* ===== ЛИДЕРБОРД ===== */
.lb-open-btn{width:100%;background:linear-gradient(180deg,#4a3a8a,#2e2456);border:1px solid #6a55c0;color:#e9deff;
  border-radius:13px;padding:13px;font-family:var(--fdisp);font-size:14px;cursor:pointer;transition:transform .1s;box-shadow:0 5px 16px rgba(120,90,220,.25);}
.lb-open-btn:active{transform:scale(.98);}
.lb-name-row{display:flex;gap:8px;margin:6px 0 10px;}
.lb-name-row input{flex:1;background:#0c1428;border:1px solid var(--line);color:var(--text);border-radius:11px;
  padding:11px 12px;font-family:var(--fbody);font-size:14px;outline:none;}
.lb-name-row input:focus{border-color:var(--accent);}
.lb-save-btn{background:linear-gradient(180deg,var(--accent),var(--accent-d));color:#3a2a00;border:none;border-radius:11px;
  padding:0 16px;font-family:var(--fdisp);font-size:13px;cursor:pointer;}
.lb-me{text-align:center;font-size:13px;color:var(--muted);margin-bottom:10px;}
.lb-me b{color:var(--accent);font-family:var(--fdisp);}
.lb-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto;text-align:left;}
.lb-list::-webkit-scrollbar{width:0;}
.lb-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;background:rgba(12,18,36,.5);border:1px solid var(--line);}
.lb-row.me{border-color:var(--accent);background:linear-gradient(160deg,rgba(255,206,58,.15),rgba(22,31,61,.5));box-shadow:0 0 12px rgba(255,206,58,.2);}
.lb-rank{flex:0 0 auto;width:34px;text-align:center;font-family:var(--fdisp);font-size:14px;}
.lb-pname{flex:1;min-width:0;font-family:var(--fdisp);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-meta{flex:0 0 auto;font-size:12px;color:var(--green);font-weight:600;}

/* достижения */
.ach-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;text-align:left;margin-top:6px;}
.ach-list::-webkit-scrollbar{width:0;}
.ach-item{display:flex;align-items:center;gap:11px;padding:10px;border-radius:13px;background:rgba(12,18,36,.5);border:1px solid var(--line);opacity:.6;}
.ach-item.done{opacity:1;border-color:var(--green-d);background:linear-gradient(160deg,rgba(31,70,54,.5),rgba(22,31,61,.5));}
.ach-ico{flex:0 0 auto;width:40px;height:40px;border-radius:11px;background:rgba(20,28,52,.8);display:grid;place-items:center;font-size:21px;}
.ach-body{flex:1;min-width:0;}
.ach-name{font-family:var(--fdisp);font-size:13px;}
.ach-desc{color:var(--muted);font-size:11.5px;margin-top:2px;}
.ach-rew{flex:0 0 auto;font-size:12px;color:var(--cyan);font-weight:600;display:flex;align-items:center;gap:6px;}
.ach-ok{color:var(--green);font-size:16px;}
