/* ============ Яркий мультяшный стиль (поверх базовых стилей) ============ */
:root {
  --bg: #6a3df0;
  --bg2: #ffffff;
  --card: #ffffff;
  --text: #22184a;
  --hint: #7a7299;
  --link: #6a3df0;
  --btn: #ff8a00;
  --btn-text: #ffffff;
  --accent: #ff8a00;
  --accent2: #ffb800;
  --good: #19b866;
  --bad: #ff4757;
  --gold: #ffb800;
  --line: #e6e0ff;
  --soft: #f1edff;
  --radius: 20px;
  --ink: #22184a;
}
html, body {
  font-family: 'Rubik', -apple-system, 'Segoe UI', Roboto, sans-serif;
  background: radial-gradient(circle at 20% 0%, #8b5cf6 0%, transparent 45%), radial-gradient(circle at 100% 30%, #3b82f6 0%, transparent 40%), linear-gradient(180deg, #6a3df0, #4c1fd1 60%, #3a15a8);
  background-attachment: fixed;
  color: var(--text);
}
#screen { color: var(--text); }
#screen > h2, #screen > .row h2 { color: #fff; text-shadow: 0 3px 0 rgba(0,0,0,.25); font-weight: 900; font-size: 24px; }
#screen > .hint, #screen > div > .hint.small.mb { color: #e9e3ff; }
h2, h3 { font-weight: 900; }
#screen > h3 { color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.25); }

/* верхняя панель */
#topbar { background: rgba(255,255,255,.12); border-bottom: 0; backdrop-filter: blur(8px); padding: 10px 14px; }
.tb-money { color: #fff; text-shadow: 0 3px 0 rgba(0,0,0,.25); font-weight: 900; }
.tb-cur { color: #ffd23f; }
.tb-income { color: #9dffc4; font-weight: 800; }

/* карточки */
.card { background: #fff; border: 0; border-radius: var(--radius); box-shadow: 0 6px 0 rgba(34,24,74,.18), 0 10px 24px rgba(20,8,60,.18); color: var(--text); }
.card.glow { box-shadow: 0 0 0 3px #ffd23f, 0 6px 0 rgba(34,24,74,.18), 0 10px 24px rgba(255,184,0,.35); }
.title { font-weight: 800; }
.hint { color: var(--hint); }
.emoji { background: #f1edff; border-radius: 16px; }

/* кнопки: объёмные */
.btn { border-radius: 16px; font-weight: 800; box-shadow: 0 4px 0 rgba(0,0,0,.22); border: 0; text-shadow: 0 1px 0 rgba(0,0,0,.15); transition: transform .06s, box-shadow .06s; }
.btn:active { transform: translateY(3px); box-shadow: 0 1px 0 rgba(0,0,0,.22); }
.btn:not(.sec):not(.good):not(.bad):not(.gold):not(.star-btn) { background: linear-gradient(180deg, #ffa53a, #ff7a00); box-shadow: 0 4px 0 #c75a00; }
.btn.sec { background: #f1edff; color: #4c1fd1; box-shadow: 0 4px 0 #d6ccff; text-shadow: none; }
.btn.good { background: linear-gradient(180deg, #34d77f, #17a85b); box-shadow: 0 4px 0 #0e7a41; }
.btn.bad { background: linear-gradient(180deg, #ff6b78, #e8384a); box-shadow: 0 4px 0 #a81f2e; }
.btn.gold, .star-btn { background: linear-gradient(180deg, #ffe066, #ffb800) !important; color: #5a3a00 !important; box-shadow: 0 4px 0 #c98a00 !important; text-shadow: none; }
.btn.off, .btn[disabled] { opacity: .5; }

/* сегменты */
.seg { background: rgba(255,255,255,.18); }
.seg button { color: #efeaff; font-weight: 700; }
.seg button.active { background: #fff; color: #4c1fd1; box-shadow: 0 3px 0 rgba(0,0,0,.15); }
.card .seg, .modal .seg { background: #f1edff; }
.card .seg button, .modal .seg button { color: #7a7299; }

.pill { background: #f1edff; color: #4c1fd1; font-weight: 700; }
.pill.hot { background: #fff3cd; color: #b26b00; }
.pill.good { background: #d9f8e7; color: #0e7a41; }
.pill.bad { background: #ffe1e4; color: #c0182b; }
.bar { background: #ece7ff; }
.bar > i { background: linear-gradient(90deg, #ff8a00, #ffd23f); }

/* нижняя навигация */
#tabs { background: #fff; border-top: 0; box-shadow: 0 -6px 20px rgba(20,8,60,.25); border-radius: 22px 22px 0 0; }
#tabs button { color: #9a92bd; }
#tabs button span { filter: none; }
#tabs button.active { color: #6a3df0; }
#tabs button.active span { transform: translateY(-4px) scale(1.18); }

/* модальные окна */
.modal { background: #f7f4ff; color: var(--text); }
.modal-bg { background: rgba(30,10,80,.55); }
.close { background: #ece7ff; color: #4c1fd1; font-weight: 900; }

/* тосты */
.toast { border-radius: 16px; font-weight: 700; }

/* поля */
.field { background: #f1edff; }
.field input { color: var(--text); }

/* статистика */
.stat { background: #f1edff; }

/* топ */
.lb-row { border-bottom: 1px solid #efeaff; }
#lb { background: #fff; border-radius: 20px; padding: 6px 10px; box-shadow: 0 6px 0 rgba(34,24,74,.18); }
.mybar { background: #fff; border: 3px solid #ffd23f; }

/* вещи / машины / кейсы / номера на светлом */
.item, .car-tile, .plate-card, .cs-row, .wr-slot { background: #fff; color: var(--text); box-shadow: 0 4px 0 rgba(34,24,74,.12); border-color: #ece7ff; }
.car-tile .car-photo, .car-photo { background: #f1edff; }
.case-tile { background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--cc) 35%, #fff), #fff 75%); box-shadow: 0 6px 0 color-mix(in srgb, var(--cc) 60%, #000 10%); border: 0; color: var(--text); }
.empty-slot { background: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.5); }
.stage-banner { box-shadow: 0 6px 0 rgba(0,0,0,.2); }
.tile { background: #fff; color: var(--text); box-shadow: 0 6px 0 rgba(34,24,74,.18); border: 0; }
.tile.casino { background: linear-gradient(160deg, #a855f7, #6d28d9); box-shadow: 0 6px 0 #4c1d95; }
.tile.pvp { background: linear-gradient(160deg, #ff6b6b, #d6336c); box-shadow: 0 6px 0 #9c1c48; }

/* ============ Сюжет ============ */
.story-card { position: relative; border-radius: 24px; padding: 14px; color: #fff; overflow: hidden; margin-bottom: 12px;
  box-shadow: 0 6px 0 rgba(0,0,0,.22), 0 12px 28px rgba(20,8,60,.3); text-align: left; width: 100%; display: block; }
.story-card .sc-ch { font-weight: 900; font-size: 13px; opacity: .95; text-transform: uppercase; letter-spacing: .5px; }
.story-card .sc-row { display: flex; gap: 12px; align-items: flex-end; margin-top: 8px; }
.npc-ava { flex: none; width: 74px; height: 74px; border-radius: 50%; display: grid; place-items: center; font-size: 46px; background: #fff;
  border: 4px solid var(--nc); box-shadow: 0 4px 0 rgba(0,0,0,.2); }
.bubble { position: relative; background: #fff; color: var(--ink); border-radius: 18px; padding: 10px 12px; font-weight: 600; font-size: 14px; line-height: 1.35;
  box-shadow: 0 4px 0 rgba(0,0,0,.15); flex: 1; }
.bubble::before { content: ''; position: absolute; left: -8px; bottom: 14px; border: 8px solid transparent; border-right-color: #fff; border-left: 0; }
.bubble .who { font-weight: 900; font-size: 12px; color: var(--nc); margin-bottom: 2px; }
.story-card .sc-act { margin-top: 10px; display: flex; justify-content: flex-end; }
.sc-dots { display: flex; gap: 4px; margin-top: 6px; }
.sc-dots i { width: 14px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.35); }
.sc-dots i.on { background: #fff; }
.sc-dots i.cur { background: #ffd23f; width: 22px; }

.vn { min-height: 100%; display: flex; flex-direction: column; color: #fff; }
.vn-top { display: flex; justify-content: space-between; align-items: center; }
.vn-title { font-weight: 900; font-size: 18px; text-shadow: 0 2px 0 rgba(0,0,0,.2); }
.vn-stage { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 12px; padding: 16px 0 8px; }
.vn-npc { width: 140px; height: 140px; font-size: 92px; border-width: 6px; animation: pop .45s; }
.vn-name { background: var(--nc); color: #fff; font-weight: 900; padding: 4px 14px; border-radius: 12px; margin-top: -26px; box-shadow: 0 3px 0 rgba(0,0,0,.25); }
.vn-role { font-size: 12px; opacity: .9; margin-top: -6px; }
.vn-bubble { width: 100%; font-size: 17px; padding: 14px 16px; min-height: 76px; }
.vn-bubble::before { left: 50%; top: -14px; bottom: auto; border: 10px solid transparent; border-bottom-color: #fff; border-top: 0; transform: translateX(-50%); }
.vn-actions { display: flex; flex-direction: column; gap: 10px; padding-bottom: 6px; }
.vn-actions .btn { min-height: 54px; font-size: 16px; white-space: normal; }
.vn-special { border: 3px solid #ffd23f !important; }
.goal-box { background: rgba(255,255,255,.18); border-radius: 18px; padding: 12px; }
.goal-box .bar { background: rgba(255,255,255,.3); height: 10px; }
.reward { display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.reward span { background: rgba(255,255,255,.22); padding: 4px 10px; border-radius: 12px; font-weight: 800; font-size: 13px; }
.boss-vs { display: flex; align-items: center; justify-content: space-around; width: 100%; }
.boss-vs .side { text-align: center; }
.boss-vs .score { font-size: 40px; font-weight: 900; text-shadow: 0 3px 0 rgba(0,0,0,.25); }
.boss-vs .vs { font-size: 28px; font-weight: 900; color: #ffd23f; text-shadow: 0 3px 0 rgba(0,0,0,.3); }
.boss-log { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.boss-log span { background: rgba(255,255,255,.2); border-radius: 10px; padding: 4px 8px; font-size: 18px; }
.boss-log span.w { background: #19b866; } .boss-log span.l { background: #ff4757; }
.moves.big { gap: 8px; }
.moves.big .move { background: #fff; color: var(--ink); border: 0; box-shadow: 0 4px 0 rgba(0,0,0,.2); border-radius: 16px; }
.moves.big .move small { color: #7a7299; }
.reveal { font-size: 54px; animation: pop .4s; }

/* подработки */
.job-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #efeaff; }
.job-row:last-child { border-bottom: 0; }
.job-row .emoji { width: 46px; height: 46px; font-size: 26px; }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.duo .card { margin: 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 8px; }
.duo .big-e { font-size: 38px; }
.duo-cell .card { margin: 0; }

.npc-ava { overflow: hidden; align-items: end; }
.npc-ava svg { margin-bottom: -4px; }
.vn-fig { position: relative; padding: 10px 30px 0; }
.vn-fig::before { content: ''; position: absolute; left: 50%; bottom: 0; width: 220px; height: 220px; transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.45), transparent 70%); z-index: 0; }
.vn-fig svg { position: relative; z-index: 1; animation: pop .45s; filter: drop-shadow(0 8px 10px rgba(0,0,0,.25)); }
.vn-name { margin-top: -10px; position: relative; z-index: 2; }
.vn-stage { justify-content: flex-start; padding-top: 4px; }
