:root {
  font-family: 'DM Sans', 'Segoe UI', sans-serif;
  color: #f1f1f2;
  background: #10120f;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --background: #10120f;
  --surface: #191b18;
  --surface-raised: #22251f;
  --text: #f1f1f2;
  --muted: #a0a1a5;
  --line: #353932;
  --mint: #b5ff43;
  --gold: #c2c7bd;
  --coral: #ff8585;
}

* { box-sizing: border-box; }
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background-color: var(--background);
  background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgb(255 255 255 / 1.2%) 6px 7px), radial-gradient(ellipse at 14% 15%, #20251e 0, transparent 42%), radial-gradient(ellipse at 88% 82%, #1d201b 0, transparent 38%);
}
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
[hidden] { display: none !important; }

.app-shell { width: min(1120px, calc(100% - 48px)); min-height: 100vh; margin: auto; display: grid; align-items: center; }
.login-screen { min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; padding: 50px 0; animation: arrive .55s ease both; }
.bevel-panel { border: 1px solid #353932; border-radius: 18px; background: linear-gradient(145deg, #22251f, #191b18 72%); box-shadow: 10px 10px 26px #090a08, -7px -7px 22px #1a1c18, inset 1px 1px 0 rgb(255 255 255 / 4%); }
.login-panel { position: relative; z-index: 1; display: flex; flex-direction: column; padding: 42px 52px 30px; border-radius: 18px; }
.brand { display: inline-flex; width: max-content; align-items: center; gap: 11px; color: var(--text); text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 1.7px; }
.brand b { color: var(--mint); font-weight: 600; }
.brand-mark { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #707176; border-radius: 8px; color: var(--mint); font-family: 'Playfair Display', Georgia, serif; font-size: 19px; box-shadow: inset 2px 2px 4px #101012, 2px 2px 5px #111214; }
.login-copy { margin: auto 0 29px; }
.eyebrow, .aside-kicker, .feature-kicker { color: var(--mint); font-size: 10px; font-weight: 700; letter-spacing: 1.8px; }
h1, h2, p { margin-top: 0; }
.login-copy h1, .welcome-row h1 { margin: 18px 0 12px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(34px, 4vw, 46px); font-weight: 500; line-height: 1.18; }
.login-copy h1 span { color: #a5aea7; }
.muted { color: var(--muted); font-size: 13px; line-height: 1.7; }
.login-form { display: grid; gap: 10px; }
.login-form label { margin-top: 8px; color: #d9ded9; font-size: 12px; font-weight: 600; }
.login-form input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #38393d; border-radius: 10px; color: var(--text); background: #151619; box-shadow: inset 3px 3px 7px #0d0e10, inset -1px -1px 3px rgb(255 255 255 / 2%); font-size: 13px; }
.login-form input::placeholder { color: #68716b; }
.label-row { display: flex; align-items: baseline; justify-content: space-between; }
.primary-button, .secondary-button, .bonus-button { display: flex; align-items: center; justify-content: space-between; border: 0; cursor: pointer; transition: transform .18s ease, filter .18s ease; }
.primary-button { min-height: 48px; margin-top: 12px; padding: 0 17px; border: 1px solid #d2ff8b; border-radius: 10px; color: #151a10; background: linear-gradient(135deg, #c9ff75, #9be52f); box-shadow: 3px 4px 0 #577a27, 0 8px 18px rgb(0 0 0 / 30%); font-weight: 700; font-size: 13px; }
.primary-button span { font-size: 18px; }
.primary-button:hover, .secondary-button:hover, .bonus-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.form-error { margin: 0; color: var(--coral); font-size: 12px; }
.login-note { margin: auto 0 0; padding-top: 27px; color: #89928b; font-size: 10px; }
.status-dot, .live-indicator, .practice-indicator { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 10px rgb(185 228 200 / 50%); }
.note-divider { padding: 0 6px; color: #555e58; }
.login-aside { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 33px; border: 1px solid #48513e; border-radius: 18px; background: linear-gradient(148deg, #383e32 0%, #282c25 42%, #20221e 100%); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 9%), inset -5px -5px 15px rgb(4 4 5 / 26%), 12px 12px 26px #090a0b; }
.login-aside::before { position: absolute; inset: 0; content: ''; background: repeating-linear-gradient(125deg, transparent 0 15px, rgb(255 255 255 / 2%) 15px 16px); pointer-events: none; }
.aside-top, .aside-bottom { position: relative; display: flex; justify-content: space-between; color: #c8d4c9; font-size: 9px; font-weight: 700; letter-spacing: 1.3px; }
.live-indicator { width: 6px; height: 6px; margin: 0 7px 0 0; background: var(--gold); }
.practice-indicator { width: 6px; height: 6px; margin: 0 7px 0 0; background: #d9ae62; box-shadow: 0 0 8px rgb(217 174 98 / 35%); }
.call-practice-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #d9ae62; box-shadow: 0 0 8px rgb(217 174 98 / 30%); }
.aside-message { position: relative; margin: auto 0; padding: 0 0 26px 11px; }
.aside-kicker { color: var(--gold); }
.aside-message h2 { margin: 17px 0; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(48px, 6vw, 73px); font-weight: 500; line-height: .98; }
.aside-message p { max-width: 240px; margin: 0; color: #c0c9c1; font-size: 13px; line-height: 1.7; }
.aside-bottom { color: #aab4ab; }

.dashboard { min-height: 100vh; animation: arrive .45s ease both; }
.topbar { display: flex; min-height: 92px; align-items: center; justify-content: space-between; border-bottom: 1px solid #29312c; }
.main-nav { display: flex; align-self: stretch; align-items: center; gap: 4px; margin-left: 28px; }
.nav-link { display: flex; height: 40px; align-items: center; padding: 0 13px; border: 1px solid transparent; border-radius: 10px; color: #a3a99e; font-size: 11px; font-weight: 600; text-decoration: none; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.nav-link:hover, .nav-link.active { border-color: #373d31; color: var(--mint); background: #1d211a; }
.topbar-actions { display: flex; align-items: center; gap: 19px; }
.balance-display { display: grid; gap: 3px; text-align: right; }
.balance-label { color: #929c95; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }
.balance-amount { display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: var(--mint); font-family: 'Playfair Display', Georgia, serif; font-size: 24px; }
.balance-amount small { color: #a7aea7; font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.coin-icon { color: var(--gold); font-family: 'DM Sans', sans-serif; font-size: 14px; }
.icon-button { width: 36px; height: 36px; border: 1px solid #414247; border-radius: 10px; background: #1b1c20; box-shadow: 3px 3px 7px #0d0e10, -2px -2px 5px #1b1c20; cursor: pointer; }
.signout-button { color: #c6cec7; transform: rotate(90deg); }
.dashboard-content { padding: 51px 0 22px; }
.welcome-row { display: flex; align-items: end; justify-content: space-between; margin-bottom: 33px; }
.welcome-row h1 { margin: 11px 0 5px; font-size: 37px; }
.welcome-row .muted { margin-bottom: 0; }
.session-chip { padding: 9px 11px; border: 1px solid #3b3c40; border-radius: 10px; color: #bfc0c4; font-size: 9px; font-weight: 700; letter-spacing: 1px; }
.dashboard-grid { display: grid; grid-template-columns: 1.35fr .85fr; gap: 22px; }
.feature-panel { position: relative; min-height: 440px; overflow: hidden; padding: 23px 25px; }
.panel-meta { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: #9da79f; font-size: 9px; font-weight: 700; letter-spacing: 1.4px; }
.feature-index { color: #707c73; }
.feature-copy { position: relative; z-index: 2; max-width: 285px; margin-top: 72px; }
.feature-kicker { color: var(--gold); font-size: 9px; }
.feature-copy h2 { margin: 12px 0; font-family: 'Playfair Display', Georgia, serif; font-size: 48px; font-weight: 500; line-height: 1.02; }
.feature-copy h2 em { color: var(--mint); }
.feature-description { max-width: 245px; color: #a3ada5; font-size: 12px; line-height: 1.7; }
.secondary-button { width: 210px; min-height: 42px; margin-top: 24px; padding: 0 13px; border: 1px solid #4a4b50; border-radius: 10px; color: #dedfe2; background: #292a2f; box-shadow: 3px 3px 7px #111214, -2px -2px 5px #2a2b30; font-size: 11px; font-weight: 600; }
.secondary-button span { color: var(--mint); font-size: 17px; }
.feature-art { position: absolute; top: 89px; right: -35px; width: 310px; height: 310px; display: grid; place-items: center; opacity: .88; }
.art-ring { position: absolute; border: 1px solid #65734f; border-radius: 50%; transform: rotate(-27deg); }
.ring-one { width: 230px; height: 275px; box-shadow: inset 3px 3px 9px #151a17, 5px 7px 10px #141915; }
.ring-two { width: 175px; height: 235px; border-color: #91be45; transform: rotate(38deg); }
.art-coin { z-index: 1; display: grid; width: 113px; height: 113px; place-items: center; border: 1px solid #a8e958; border-radius: 50%; color: var(--mint); background: linear-gradient(145deg, #414a36, #293025 62%, #20251e); box-shadow: inset 5px 5px 13px rgb(255 255 255 / 10%), inset -7px -7px 15px #18201a, 8px 10px 20px #101512; font-family: 'Playfair Display', Georgia, serif; font-size: 53px; }
.art-spark { position: absolute; color: var(--gold); font-size: 22px; }
.spark-one { top: 25px; right: 95px; }.spark-two { bottom: 44px; left: 23px; color: var(--mint); }
.feature-caption { position: absolute; right: 25px; bottom: 24px; color: #717d73; font-size: 8px; font-weight: 700; letter-spacing: 1.5px; }
.side-column { display: grid; grid-template-rows: 1.1fr .9fr; gap: 23px; }
.bonus-panel { padding: 20px; }
.bonus-star { color: var(--gold); font-size: 15px; }
.bonus-panel h2 { margin: 30px 0 8px; font-family: 'Playfair Display', Georgia, serif; font-size: 28px; font-weight: 500; line-height: 1.1; }
.bonus-panel .muted { margin-bottom: 16px; font-size: 11px; }
.bonus-button { width: 100%; min-height: 38px; padding: 0 11px; border: 1px solid #535459; border-radius: 10px; color: #e0e1e4; background: linear-gradient(135deg, #37383d, #25262a); box-shadow: 3px 3px 7px #131416, -2px -2px 5px #26272c; font-size: 11px; font-weight: 700; }
.bonus-button:disabled { color: #9bafa0; cursor: default; opacity: .7; }
.bonus-status { margin: 10px 0 0; color: #7d8980; font-size: 9px; }
.activity-panel { padding: 0 2px; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.section-heading h2 { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; font-weight: 500; }
.section-heading > span { color: #748078; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.activity-item { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid #2c342f; }
.activity-icon { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid #414247; border-radius: 8px; color: var(--mint); font-size: 14px; }
.activity-text { display: grid; flex: 1; gap: 3px; }
.activity-text b { font-size: 10px; font-weight: 600; }
.activity-text small { color: #808b83; font-size: 9px; }
.activity-item strong { color: var(--mint); font-size: 10px; }
.dashboard-footer { display: flex; justify-content: space-between; padding-top: 29px; color: #657168; font-size: 8px; font-weight: 700; letter-spacing: 1.3px; }
.footer-dot { padding: 0 4px; color: var(--gold); }
@keyframes arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 760px) {
  .app-shell { width: min(100% - 28px, 560px); }
  .login-screen { min-height: auto; grid-template-columns: 1fr; padding: 20px 0; }
  .login-panel { min-height: 620px; padding: 30px 27px 24px; }
  .login-aside { display: none; }
  .dashboard-content { padding-top: 34px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .main-nav { display: none; }
  .feature-panel { min-height: 405px; }
  .feature-art { right: -74px; opacity: .56; }
  .feature-copy { max-width: 240px; margin-top: 57px; }
  .feature-copy h2 { font-size: 44px; }
  .side-column { grid-template-rows: auto auto; }
  .bonus-panel { padding: 20px; }
  .welcome-row { align-items: start; gap: 14px; }
  .welcome-row h1 { font-size: 30px; }
  .session-chip { margin-top: 17px; white-space: nowrap; font-size: 8px; }
}
@media (max-width: 420px) {
  .brand { font-size: 10px; letter-spacing: 1.2px; }
  .topbar { min-height: 77px; }
  .topbar-actions { gap: 10px; }
  .balance-amount { font-size: 20px; }
  .welcome-row { display: block; }
  .session-chip { display: inline-block; margin-top: 16px; }
  .feature-panel { min-height: 385px; padding: 19px; }
  .feature-art { top: 109px; right: -112px; }
  .feature-caption { right: 17px; bottom: 18px; }
  .dashboard-footer { gap: 12px; font-size: 7px; letter-spacing: .7px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:root {
  color: #eeeeee;
  background: #d8d8d8;
  --background: #101010;
  --surface: #1b1b1b;
  --surface-raised: #242424;
  --text: #eeeeee;
  --muted: #999999;
  --line: #343434;
  --mint: #dedede;
  --gold: #bdbdbd;
  --coral: #f0a0a0;
}

body {
  background: #d8d8d8;
  color: var(--text);
}
.app-shell {
  width: min(1440px, calc(100% - 96px));
  min-height: 100vh;
  align-items: center;
}
.brand b, .brand-mark, .eyebrow, .aside-kicker, .feature-kicker { color: #d7d7d7; }
.brand-mark { border-color: #777; border-radius: 7px; box-shadow: inset 2px 2px 4px #101010, 2px 2px 5px #111; }
.status-dot, .live-indicator { background: #c9c9c9; box-shadow: 0 0 8px rgb(220 220 220 / 30%); }
.primary-button {
  border-color: #dedede;
  color: #151515;
  background: linear-gradient(135deg, #e7e7e7, #bdbdbd);
  box-shadow: 3px 4px 0 #737373, 0 8px 18px rgb(0 0 0 / 30%);
}
.login-screen {
  width: 100%;
  min-height: min(720px, calc(100vh - 88px));
  grid-template-columns: 1.08fr .92fr;
  padding: 0;
  overflow: hidden;
  border: 1px solid #343434;
  border-radius: 18px;
  background: #111;
  box-shadow: 0 22px 55px rgb(0 0 0 / 22%);
}
.login-panel {
  justify-content: flex-start;
  padding: 34px clamp(28px, 5vw, 70px) 30px;
  border: 0;
  border-radius: 0;
  background: #121212;
  box-shadow: none;
}
.login-header { display: flex; align-items: center; justify-content: space-between; }
.login-mode, .chart-period, .section-counter {
  padding: 7px 10px;
  border: 1px solid #373737;
  border-radius: 999px;
  color: #bcbcbc;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
}
.login-copy { width: min(100%, 410px); margin: auto 0 26px; }
.login-copy h1 { font-size: clamp(34px, 4vw, 44px); }
.login-form { width: min(100%, 410px); gap: 9px; }
.login-form label { color: #d4d4d4; }
.login-form input { border-color: #3b3b3b; border-radius: 7px; background: #1b1b1b; box-shadow: inset 2px 2px 5px #111; }
.login-note { margin: auto 0 0; padding-top: 26px; }
.login-aside {
  padding: 30px;
  border: 0;
  border-left: 1px solid #2b2b2b;
  border-radius: 0;
  background: #191919;
  box-shadow: inset 1px 1px 0 rgb(255 255 255 / 3%);
}
.login-aside::before { background: repeating-linear-gradient(135deg, transparent 0 12px, rgb(255 255 255 / 1.4%) 12px 13px); }
.aside-top, .aside-bottom { color: #aaa; }
.aside-message { max-width: 380px; }
.aside-message h2 { font-size: clamp(42px, 5vw, 62px); }

.dashboard {
  display: grid;
  width: 100%;
  height: min(800px, calc(100vh - 88px));
  min-height: 640px;
  grid-template-columns: 76px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #303030;
  border-radius: 18px;
  background: #101010;
  box-shadow: 0 22px 55px rgb(0 0 0 / 22%);
}
.sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 26px;
  padding: 20px 0 16px;
  border-right: 1px solid #252525;
  background: #151515;
}
.rail-brand {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #737373;
  border-radius: 11px;
  color: #f0f0f0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: inset 2px 2px 5px #111, 2px 2px 5px #111;
}
.rail-nav { display: grid; gap: 12px; }
.rail-link {
  position: relative;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #858585;
  font-size: 19px;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.rail-link[hidden] { display: none; }
.rail-link[data-count]:not([data-count=""])::after { position: absolute; top: -4px; right: -5px; display: grid; min-width: 14px; height: 14px; place-items: center; padding: 0 3px; border: 1px solid #161616; border-radius: 999px; color: #111; background: #e5e5e5; content: attr(data-count); font-size: 8px; font-weight: 700; }
.rail-icon { display: block; width: 19px; height: 19px; margin: auto; }
.giveaway-icon { filter: brightness(0) invert(1); }
.events-icon { filter: brightness(0) invert(1); }
.header-icon { display: block; width: 17px; height: 17px; }
.rail-link:hover, .rail-link.active { border-color: #ccc; color: #111; background: #d6d6d6; }
.rail-link:hover .giveaway-icon, .rail-link.active .giveaway-icon { filter: brightness(0); }
.rail-link:hover .events-icon, .rail-link.active .events-icon { filter: brightness(0); }
.rail-link .roblox-logo-symbol { width: 20px; height: 20px; }
.rail-link .cash-stack-symbol { width: 21px; height: 21px; }
.rail-link svg { display: block; margin: auto; }
.rail-footer { margin-top: auto; color: #696969; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.dashboard-main { display: grid; min-width: 0; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; }
.practice-disclosure { margin: 0; padding: 0; border: 0; border-radius: 0; color: #aaa; background: none; font-size: 10px; line-height: 1.55; }
.topbar {
  position: relative;
  display: grid;
  min-height: 82px;
  grid-template-columns: minmax(170px, .8fr) minmax(150px, .9fr) auto;
  align-items: center;
  gap: 18px;
  padding: 12px 22px;
  border-bottom: 1px solid #292929;
}
.topbar-heading .eyebrow { margin: 0 0 4px; font-size: 8px; }
.topbar-heading h1 { margin: 0; font-family: 'DM Sans', 'Segoe UI', sans-serif; font-size: 20px; font-weight: 600; }
.search-box {
  display: flex;
  height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #303030;
  border-radius: 999px;
  color: #aaa;
  background: #202020;
}
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; color: #eee; background: transparent; font-size: 11px; }
.search-box input::placeholder { color: #aaa; }
.search-box > span { font-size: 23px; line-height: 1; }
.topbar-actions { gap: 9px; }
.balance-display { gap: 2px; padding: 7px 10px; border: 1px solid #343434; border-radius: 9px; background: #1b1b1b; }
.balance-label { color: #999; font-size: 7px; letter-spacing: 1px; }
.balance-amount { gap: 4px; color: #ededed; font-size: 17px; }
.balance-amount small { color: #aaa; font-size: 8px; }
.coin-icon { color: #cfcfcf; }
.icon-button, .profile-button {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #383838;
  border-radius: 50%;
  color: #ddd;
  background: #242424;
  box-shadow: none;
  cursor: pointer;
}
.notification-button { position: relative; font-size: 15px; }
.notification-button[data-count]:not([data-count=""])::after { position: absolute; top: -5px; right: -5px; display: grid; min-width: 15px; height: 15px; place-items: center; padding: 0 3px; border: 1px solid #161616; border-radius: 999px; color: #111; background: #e5e5e5; content: attr(data-count); font-size: 8px; font-weight: 700; }
.profile-button { border-color: #8b8b8b; color: #171717; background: #c9c9c9; font-size: 11px; font-weight: 700; }
.signout-button { transform: none; font-size: 13px; }
.notification-message { position: absolute; z-index: 15; top: calc(100% - 8px); right: 70px; width: min(340px, calc(100vw - 32px)); max-height: min(430px, calc(100vh - 120px)); padding: 14px; overflow: auto; border: 1px solid #3b3b3b; border-radius: 9px; color: #ddd; background: #252525; box-shadow: 0 8px 24px #080808; }
.community-activity-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.notification-message h2 { margin: 0; color: #eee; font-size: 12px; }
.community-activity-list { display: grid; gap: 6px; }
.community-activity-item { display: grid; width: 100%; gap: 5px; padding: 9px; border: 1px solid #3b3b3b; border-radius: 7px; color: #ddd; background: #1d1d1d; font: inherit; text-align: left; cursor: pointer; }
.community-activity-item:hover { border-color: #777; background: #292929; }
.community-activity-item b { font-size: 9px; }
.community-activity-item span { overflow: hidden; color: #aaa; font-size: 8px; text-overflow: ellipsis; }
.community-activity-item small { color: #c8c8c8; font-size: 7px; }
.notification-message .muted { margin: 8px 0 0; color: #aaa; font-size: 9px; }
.dashboard-layout { display: grid; min-height: 0; grid-template-columns: minmax(0, 1.72fr) minmax(230px, .76fr); gap: 20px; padding: 20px 22px; overflow: auto; }
.main-column { display: grid; min-width: 0; grid-template-rows: auto auto minmax(190px, 1fr) auto; align-content: start; gap: 14px; }
.welcome-row { align-items: center; margin: 0; }
.welcome-row h2 { margin: 0 0 4px; font-size: 17px; font-weight: 600; }
.welcome-row h2 span { color: #bdbdbd; }
.welcome-row .muted { margin: 0; font-size: 10px; }
.session-chip { padding: 7px 9px; border-color: #383838; border-radius: 999px; color: #bdbdbd; font-size: 7px; }
.quick-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.quick-card {
  display: grid;
  min-height: 67px;
  grid-template-columns: 32px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #303030;
  border-radius: 11px;
  color: #eee;
  background: #1d1d1d;
  box-shadow: inset 1px 1px 0 rgb(255 255 255 / 2%);
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease;
}
.quick-card:hover { border-color: #727272; background: #242424; }
.quick-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: #ddd; background: #383838; font-size: 15px; }
.quick-card > span:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.quick-card small { color: #999; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.quick-card b { overflow: hidden; font-size: 10px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.quick-arrow { color: #888; font-size: 13px; }
.bevel-panel { border: 1px solid #2e2e2e; border-radius: 12px; background: #1d1d1d; box-shadow: inset 1px 1px 0 rgb(255 255 255 / 2%); }
.chart-panel { display: grid; min-height: 205px; grid-template-rows: auto minmax(90px, 1fr) auto auto; gap: 7px; padding: 14px 16px 12px; }
.chart-heading, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chart-heading .eyebrow, .section-heading .eyebrow { margin: 0 0 3px; font-size: 7px; }
.chart-heading h2, .section-heading h2 { margin: 0; font-size: 14px; font-weight: 600; }
.chart-period { padding: 6px 9px; border-color: #3b3b3b; color: #aaa; font-size: 7px; }
.chart-wrap { display: grid; min-height: 100px; grid-template-columns: 25px minmax(0, 1fr); gap: 6px; }
.chart-scale { display: flex; flex-direction: column; justify-content: space-between; padding: 4px 0; color: #777; font-size: 7px; }
.activity-chart { width: 100%; height: 100%; overflow: visible; }
.chart-grid { fill: none; stroke: #343434; stroke-width: 1; stroke-dasharray: 2 4; }
.chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.chart-line-one { stroke: #dedede; }
.chart-line-two { stroke: #777; stroke-width: 1.8; }
.chart-points-one { fill: #dedede; stroke: #1d1d1d; stroke-width: 2; }
.chart-points-two { fill: #888; stroke: #1d1d1d; stroke-width: 2; }
.chart-days { display: flex; justify-content: space-between; margin-left: 31px; color: #777; font-size: 7px; }
.chart-legend { display: flex; align-items: center; gap: 14px; color: #aaa; font-size: 8px; }
.chart-legend > span { display: flex; align-items: center; gap: 5px; }
.chart-legend small { margin-left: auto; color: #777; font-size: 7px; }
.legend-mark { width: 7px; height: 7px; border-radius: 50%; background: #ddd; }
.mark-two { background: #777; }
.game-panel { min-width: 0; }
.game-panel > .section-heading { margin-bottom: 8px; }
.section-counter { padding: 6px 8px; border-color: #373737; color: #999; font-size: 7px; }
.game-row { display: flex; min-height: 60px; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #303030; border-radius: 10px; background: #1d1d1d; }
.game-emblem { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid #666; border-radius: 50%; color: #e0e0e0; background: #303030; font-family: 'Playfair Display', Georgia, serif; font-size: 17px; }
.game-copy { display: grid; flex: 1; gap: 4px; min-width: 0; }
.game-copy b { font-size: 10px; font-weight: 600; }
.game-copy small { color: #888; font-size: 8px; }
.game-status { display: flex; align-items: center; gap: 5px; color: #aaa; font-size: 7px; font-weight: 700; letter-spacing: .5px; }
.game-status i { width: 6px; height: 6px; border-radius: 50%; background: #bdbdbd; }
.secondary-button { width: auto; min-height: 32px; margin: 0; padding: 0 10px; border-color: #484848; border-radius: 7px; color: #e0e0e0; background: #303030; box-shadow: none; font-size: 9px; white-space: nowrap; }
.secondary-button span { margin-left: 8px; color: #ccc; }
.right-column { display: grid; min-width: 0; grid-template-rows: auto 1fr; align-content: start; gap: 18px; padding-left: 18px; border-left: 1px solid #292929; }
.reward-panel { padding: 15px; }
.reward-panel .section-heading { align-items: flex-start; }
.reward-panel .muted { margin: 12px 0; font-size: 10px; }
.reward-emblem { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #5c5c5c; border-radius: 9px; color: #ddd; background: #303030; font-size: 17px; }
.bonus-button { min-height: 36px; padding: 0 11px; border: 1px solid #545454; border-radius: 7px; color: #eee; background: #333; box-shadow: none; font-size: 9px; }
.bonus-button:disabled { color: #aaa; }
.bonus-status { margin: 8px 0 0; color: #888; font-size: 8px; }
.activity-panel { min-width: 0; padding: 0 1px; }
.activity-panel > .section-heading { margin-bottom: 10px; }
.activity-menu { color: #888; letter-spacing: 2px; }
.activity-item { gap: 8px; padding: 10px 2px; border-top-color: #303030; }
.activity-icon { width: 28px; height: 28px; border-color: #4a4a4a; border-radius: 50%; color: #ddd; background: #292929; font-size: 12px; }
.activity-text b { font-size: 9px; }
.activity-text small { color: #828282; font-size: 8px; }
.activity-item strong { color: #ddd; font-size: 8px; white-space: nowrap; }
.account-note { display: flex; align-items: center; gap: 8px; margin-top: 11px; padding: 10px; border: 1px solid #303030; border-radius: 9px; background: #1c1c1c; }
.account-note .status-dot { flex: 0 0 auto; background: #bcbcbc; }
.account-note > span:last-child { display: grid; gap: 3px; }
.account-note b { font-size: 8px; font-weight: 600; }
.account-note small { color: #818181; font-size: 7px; }
.dashboard-footer { display: flex; justify-content: space-between; padding: 10px 22px; border-top: 1px solid #282828; color: #777; font-size: 7px; letter-spacing: 1px; }
.footer-dot { color: #bbb; }
.topbar { grid-template-columns: minmax(170px, 1fr) auto; }
.header-balances { display: flex; align-items: center; gap: 8px; }
.header-balance { display: grid; min-width: 94px; gap: 3px; padding: 7px 10px; border: 1px solid #373737; border-radius: 8px; background: #1c1c1c; }
.header-balance > span { color: #888; font-size: 7px; font-weight: 700; letter-spacing: 1px; }
.header-balance b { color: #e2e2e2; font-size: 12px; font-weight: 600; white-space: nowrap; }
.header-balance small { color: #999; font-size: 8px; font-weight: 500; }
.balances-panel { padding: 16px; }
.balances-panel > .section-heading { margin-bottom: 12px; }
.balance-note { color: #8a8a8a; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.balance-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.currency-card { display: grid; min-height: 146px; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: 8px 12px; padding: 14px; border: 1px solid #383838; border-radius: 10px; background: linear-gradient(145deg, #272727, #1b1b1b 75%); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 3%), 3px 4px 9px rgb(0 0 0 / 18%); }
.currency-heading { display: flex; align-items: center; gap: 8px; grid-column: 1 / -1; }
.currency-icon { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #626262; border-radius: 8px; color: #ededed; background: #343434; font-size: 14px; font-weight: 600; }
.currency-code { color: #aaa; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.currency-total { align-self: end; color: #f0f0f0; font-size: clamp(22px, 3vw, 30px); font-weight: 600; line-height: 1; white-space: nowrap; }
.currency-total small { color: #aaa; font-size: 11px; font-weight: 500; }
.add-balance-button { display: flex; min-height: 31px; align-items: center; justify-content: space-between; gap: 12px; align-self: end; padding: 0 10px; border: 1px solid #595959; border-radius: 7px; color: #ededed; background: #353535; font-size: 8px; font-weight: 600; cursor: pointer; transition: background .16s ease, border-color .16s ease; }
.add-balance-button:hover { border-color: #888; background: #414141; }
.add-balance-button span { color: #ccc; font-size: 13px; }
.roblox-coin { width: 27px; height: 27px; }
.roblox-logo-symbol { display: block; width: 18px; height: 18px; color: currentColor; }
.roblox-coin .roblox-logo-symbol { width: 14px; height: 14px; }
.settings-panel { padding: 14px; }
.settings-panel .section-heading { margin-bottom: 10px; }
.settings-icon { color: #bdbdbd; font-size: 15px; }
.setting-row { display: flex; justify-content: space-between; gap: 8px; padding: 9px 0; border-top: 1px solid #303030; color: #999; font-size: 8px; }
.setting-row b { color: #ddd; font-size: 8px; font-weight: 500; }
.topup-dialog { width: min(420px, calc(100% - 32px)); padding: 0; overflow: visible; border: 1px solid #484848; border-radius: 14px; color: #eee; background: #1b1b1b; box-shadow: 0 24px 80px rgb(0 0 0 / 70%); }
.topup-dialog::backdrop { background: rgb(0 0 0 / 70%); backdrop-filter: blur(3px); }
.topup-dialog form { position: relative; display: grid; gap: 11px; padding: 25px; }
.dialog-close { position: absolute; top: 13px; right: 14px; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #484848; border-radius: 50%; color: #ddd; background: #292929; font-size: 19px; cursor: pointer; }
.topup-dialog .eyebrow { margin: 0; color: #aaa; font-size: 8px; }
.topup-dialog h2 { margin: 0; font-size: 21px; }
.topup-dialog .muted { margin: 0 28px 4px 0; font-size: 10px; }
.topup-dialog label { color: #ccc; font-size: 9px; font-weight: 600; }
.amount-field { display: flex; height: 42px; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid #4a4a4a; border-radius: 8px; color: #aaa; background: #111; }
.amount-field input { width: 100%; min-width: 0; border: 0; outline: 0; color: #eee; background: transparent; font: inherit; }
.topup-dialog .form-error { color: var(--coral); }
.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 5px; }
.cancel-button { min-height: 37px; padding: 0 13px; border: 1px solid #444; border-radius: 7px; color: #ddd; background: #272727; font-size: 9px; cursor: pointer; }
.dialog-actions .primary-button { min-height: 37px; margin: 0; padding: 0 13px; border: 1px solid #a8ee4b; border-radius: 7px; color: #171b14; background: linear-gradient(135deg, #c1ff69, #8ed52d); box-shadow: 0 7px 18px rgb(143 213 45 / 16%); font-size: 9px; }
.account-gate-dialog { width: min(440px, calc(100% - 32px)); }
.account-gate-content { display: grid; gap: 11px; padding: 25px; }
.account-gate-content .eyebrow, .account-gate-content .muted { margin: 0; }
.account-gate-content h2 { margin: 0; font-size: 20px; }
.account-gate-content label { color: #ccc; font-size: 9px; font-weight: 600; }
.account-gate-content input { min-width: 0; height: 38px; padding: 0 10px; border: 1px solid #444; border-radius: 6px; color: #eee; background: #111; font: inherit; }
.account-gate-content .primary-button { width: 100%; margin: 4px 0 0; }
.owner-account-actions { display: flex; flex-wrap: wrap; gap: 8px; }

@media (max-width: 1000px) {
  .app-shell { width: min(100% - 40px, 900px); }
  .dashboard { height: auto; min-height: calc(100vh - 40px); }
  .dashboard-layout { grid-template-columns: minmax(0, 1.4fr) minmax(210px, .8fr); gap: 14px; padding: 16px; }
  .topbar { grid-template-columns: minmax(140px, .7fr) auto; gap: 10px; padding: 10px 16px; }
  .topbar-actions { gap: 6px; }
  .balance-display { padding: 6px 8px; }
}
@media (max-width: 760px) {
  body { background: #101010; }
  .app-shell { width: 100%; min-height: 100vh; }
  .login-screen { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; }
  .login-panel { min-height: 100vh; padding: 28px 26px 24px; }
  .login-aside { display: none; }
  .login-copy { margin-top: auto; }
  .dashboard { width: 100%; height: auto; min-height: 100vh; grid-template-columns: 56px minmax(0, 1fr); border: 0; border-radius: 0; }
  .sidebar { gap: 18px; padding-top: 14px; }
  .rail-brand { width: 32px; height: 32px; }
  .rail-link { width: 34px; height: 34px; }
  .dashboard-main { min-height: 100vh; grid-template-rows: auto minmax(0, 1fr) auto; }
  .topbar { min-height: 70px; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 10px 12px; }
  .topbar-heading .eyebrow { display: none; }
  .topbar-heading h1 { font-size: 16px; }
  .search-box { display: none; }
  .topbar-actions { gap: 5px; }
  .header-balances { gap: 4px; }
  .header-balance { min-width: 66px; padding: 5px 6px; }
  .header-balance > span { font-size: 6px; }
  .header-balance b { font-size: 9px; }
  .header-balance small { font-size: 6px; }
  .icon-button, .profile-button { width: 29px; height: 29px; }
  .dashboard-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 14px 12px; overflow: visible; }
  .main-column { grid-template-rows: auto auto auto auto; gap: 12px; }
  .welcome-row { align-items: flex-start; }
  .welcome-row h2 { font-size: 14px; }
  .welcome-row .muted { font-size: 9px; }
  .session-chip { padding: 6px 7px; font-size: 6px; white-space: nowrap; }
  .quick-links { gap: 5px; }
  .quick-card { min-height: 60px; grid-template-columns: 24px minmax(0, 1fr); gap: 5px; padding: 7px 5px; }
  .quick-icon { width: 24px; height: 24px; font-size: 12px; }
  .quick-card small { font-size: 6px; letter-spacing: .2px; }
  .quick-card b { font-size: 8px; }
  .quick-arrow { display: none; }
  .balance-cards { gap: 7px; }
  .currency-card { min-height: 135px; gap: 8px 6px; padding: 10px; }
  .currency-total { font-size: 22px; }
  .add-balance-button { gap: 5px; padding: 0 7px; font-size: 7px; }
  .game-row { flex-wrap: wrap; }
  .game-status { margin-left: auto; }
  .game-row .secondary-button { width: 100%; justify-content: center; }
  .right-column { grid-template-rows: auto auto; gap: 14px; padding: 14px 0 0; border-top: 1px solid #292929; border-left: 0; }
  .dashboard-footer { gap: 8px; padding: 10px 12px; font-size: 6px; letter-spacing: .5px; }
}
@media (max-width: 380px) {
  .topbar-actions { gap: 4px; }
  .balance-display { padding: 5px; }
  .notification-button { display: none; }
  .quick-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .quick-card > span:nth-child(2) { justify-items: center; }
  .section-counter { display: none; }
}

html, body { width: 100%; min-height: 100%; margin: 0; }
body { background: #101010; }
.app-shell { width: 100%; min-height: 100vh; margin: 0; }
.login-screen {
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.rail-link { padding: 0; border: 1px solid transparent; background: transparent; font: inherit; cursor: pointer; }
.dashboard-layout { display: block; min-height: 0; padding: 28px clamp(20px, 4vw, 56px); overflow: auto; }
.dashboard-view { position: relative; isolation: isolate; width: 100%; min-height: 100%; }
.tab-status-overlay { position: absolute; z-index: 10; inset: 0; display: grid; min-height: 100%; place-items: center; padding: 24px; border-radius: 12px; background: rgb(10 11 12 / 35%); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.tab-status-content { width: min(100%, 430px); padding: 28px; border: 1px solid #484848; border-radius: 14px; text-align: center; background: rgb(20 20 20 / 92%); box-shadow: 0 20px 60px rgb(0 0 0 / 40%); }
.tab-status-content h2 { margin: 0 0 10px; font-size: 19px; }
.tab-status-content p { margin: 0; color: #b9b9b9; font-size: 12px; line-height: 1.65; }
.home-view { display: grid; align-content: start; gap: 24px; }
.home-view .welcome-row { padding-bottom: 20px; border-bottom: 1px solid #2c2c2c; }
.home-view .welcome-row h2 { font-size: 21px; }
.home-view .welcome-row .muted { font-size: 11px; }
.home-bulletins { display: grid; gap: 0; }
.home-bulletin-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.home-bulletin-tab { display: flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; border: 1px solid #3d3d3d; border-radius: 8px 8px 0 0; color: #999; background: #191919; font: inherit; font-size: 10px; font-weight: 600; cursor: pointer; }
.home-bulletin-count { display: inline-grid; min-width: 15px; height: 15px; place-items: center; padding: 0 4px; border-radius: 999px; color: #171717; background: #d6d6d6; font-size: 8px; font-weight: 700; }
.home-bulletin-tab:hover { border-color: #777; color: #ddd; }
.home-bulletin-tab.active { border-color: #686868; border-bottom-color: #222; color: #eee; background: #222; }
.home-bulletin-panel { min-height: 106px; padding: 14px; border: 1px solid #383838; border-top: 0; border-radius: 0 0 9px 9px; background: #1a1a1a; }
.home-bulletin-list { display: grid; gap: 8px; }
.home-bulletin-item { border: 1px solid #343434; border-radius: 7px; background: #202020; }
.home-bulletin-item[open] { border-color: #555; }
.home-bulletin-preview { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto auto 8px; align-items: center; gap: 10px; padding: 11px 12px; border: 0; border-radius: inherit; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.home-bulletin-preview::after { width: 7px; height: 7px; border-right: 1px solid #aaa; border-bottom: 1px solid #aaa; content: ''; transform: rotate(-45deg); }
.home-bulletin-preview:hover h3 { color: #fff; }
.home-bulletin-item h3 { margin: 0; color: #e7e7e7; font-size: 10px; }
.home-bulletin-item p { margin: 0; color: #aaa; font-size: 9px; line-height: 1.55; white-space: pre-wrap; }
.home-bulletin-item time { color: #777; font-size: 7px; }
.home-bulletin-expand-label { color: #aaa; font-size: 8px; white-space: nowrap; }
.home-bulletin-panel > .muted { margin: 24px 0; font-size: 9px; text-align: center; }
.home-bulletin-dialog { position: fixed; width: min(620px, calc(100% - 32px)); max-width: none; max-height: min(78vh, 720px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #484848; border-radius: 13px; color: #eee; background: linear-gradient(145deg, #242424, #171717); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 5%), 0 24px 80px rgb(0 0 0 / 72%); }
.home-bulletin-dialog::backdrop { background: rgb(0 0 0 / 70%); backdrop-filter: blur(3px); }
.home-bulletin-dialog-content { position: relative; display: grid; max-height: min(78vh, 720px); gap: 13px; padding: clamp(22px, 4vw, 34px); overflow: auto; }
.home-bulletin-dialog .eyebrow { margin: 0; color: #aaa; font-size: 8px; letter-spacing: .8px; }
.home-bulletin-dialog h2 { margin: 0; padding-right: 32px; color: #f2f2f2; font-size: clamp(19px, 3vw, 25px); line-height: 1.3; overflow-wrap: anywhere; }
.home-bulletin-dialog time { color: #888; font-size: 9px; }
.home-bulletin-dialog-body { display: grid; gap: 18px; padding-top: 8px; border-top: 1px solid #363636; }
.home-bulletin-dialog-body section { display: grid; gap: 8px; }
.home-bulletin-dialog-body h3 { margin: 0; color: #ddd; font-size: 12px; font-weight: 600; }
.home-bulletin-dialog-body p { margin: 0; color: #c1c1c1; font-size: 11px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.home-bulletin-dialog-content > .secondary-button { justify-self: end; min-width: 90px; margin-top: 4px; }
.owner-bulletin-management > .section-heading { align-items: center; }
.owner-bulletin-management > .section-heading .cancel-button { margin: 0; padding: 8px 11px; font-size: 9px; }
.owner-home-bulletin-list { display: grid; gap: 7px; }
.owner-home-bulletin-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid #373737; border-radius: 7px; background: #1b1b1b; }
.owner-home-bulletin-row > div { display: grid; min-width: 0; gap: 4px; }
.owner-home-bulletin-row b { color: #e3e3e3; font-size: 10px; overflow-wrap: anywhere; }
.owner-home-bulletin-row small { color: #888; font-size: 8px; overflow-wrap: anywhere; }
.owner-bulletin-management > .muted { margin: 12px 0 0; font-size: 9px; text-align: center; }
.owner-bulletin-management > h5 { margin: 8px 0 -6px; color: #ddd; font-size: 10px; font-weight: 600; }
.home-post-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid #343434; }
.home-post-form .section-heading { margin: 0 0 3px; }
.home-activity-panel { padding: clamp(18px, 2.5vw, 30px); }
.home-activity-panel > .section-heading { margin-bottom: 10px; }
.home-activity-panel h2 { margin: 0; font-size: 16px; }
.home-activity-panel .activity-item:first-child { border-top: 0; }
.balances-panel { width: 100%; padding: clamp(20px, 3vw, 38px); }
.balances-panel > .section-heading { margin-bottom: 24px; }
.balances-panel > .section-heading h2 { font-size: 20px; }
.balance-cards { gap: 18px; }
.currency-card { min-height: 220px; grid-template-rows: auto 1fr auto; gap: 16px; padding: 22px; border-radius: 13px; }
.currency-icon { width: 38px; height: 38px; border-radius: 10px; font-size: 19px; }
.currency-code { font-size: 9px; }
.currency-total { font-size: 36px; }
.currency-total small { font-size: 14px; }
.add-balance-button { min-height: 38px; gap: 15px; padding: 0 13px; border-radius: 8px; font-size: 9px; }
.balance-disclaimer { margin: 14px 0 0; color: #777; font-size: 9px; }
.settings-view { display: grid; align-content: start; gap: 16px; max-width: 900px; }
.settings-heading { padding: 8px 0 14px; border-bottom: 1px solid #2c2c2c; }
.settings-heading .eyebrow { margin-bottom: 6px; }
.settings-heading h2 { margin: 0 0 6px; font-size: 22px; }
.settings-heading .muted { margin: 0; font-size: 10px; }
.settings-options, .settings-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid #343434; border-radius: 11px; background: #1c1c1c; }
.setting-option-copy { display: flex; align-items: center; gap: 12px; }
.setting-option-copy > span:last-child { display: grid; gap: 5px; }
.setting-option-copy b { font-size: 11px; font-weight: 600; }
.setting-option-copy small { color: #888; font-size: 9px; }
.settings-options .secondary-button { min-height: 36px; }
.settings-meta { justify-content: flex-start; color: #888; font-size: 9px; }
.settings-meta b { margin-right: 22px; color: #ddd; font-size: 9px; font-weight: 500; }
.settings-activity { display: grid; gap: 0; padding: 16px; border: 1px solid #343434; border-radius: 11px; background: #1c1c1c; }
.settings-activity .section-heading { padding-bottom: 12px; border-bottom: 1px solid #303030; }
.settings-activity h3 { margin: 0; font-size: 13px; }
.text-button { border: 0; color: #bbb; background: transparent; font: inherit; font-size: 9px; cursor: pointer; }
.text-button:hover { color: #fff; }
.topup-dialog .link-dialog-content { position: relative; display: grid; gap: 12px; padding: 26px; }
.link-dialog-content .eyebrow { margin: 0; color: #999; font-size: 8px; }
.link-dialog-content h2 { margin: 0; font-size: 20px; }
.link-dialog-content .muted { margin: 0 26px 3px 0; font-size: 10px; }
.link-options { display: grid; gap: 9px; }
.link-option { display: flex; min-height: 54px; align-items: center; gap: 11px; padding: 9px 12px; border: 1px solid #424242; border-radius: 9px; color: #eee; background: #242424; text-align: left; cursor: pointer; }
.link-option:hover { border-color: #777; background: #2b2b2b; }
.link-option > span:nth-child(2), .roblox-link-preview .link-option > span:first-child { display: grid; flex: 1; gap: 4px; }
.link-option b { font-size: 10px; font-weight: 600; }
.link-option small { color: #888; font-size: 8px; }
.link-option-icon { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid #555; border-radius: 8px; color: #eee; background: #363636; font-size: 13px; font-weight: 700; }
.link-option-arrow { color: #aaa; font-size: 14px; }
.roblox-link-preview { display: grid; justify-items: center; gap: 12px; padding-top: 7px; text-align: center; }
.roblox-preview-icon { display: grid; width: 56px; height: 56px; place-items: center; border: 1px solid #4b4b4b; border-radius: 15px; color: #ddd; background: #303030; }
.roblox-preview-icon .roblox-logo-symbol { width: 28px; height: 28px; }
.roblox-link-preview p { max-width: 250px; margin: 0; color: #aaa; font-size: 9px; line-height: 1.6; }
.roblox-link-preview .link-option { width: 100%; }
.link-feedback { margin: 0; padding: 10px 12px; border: 1px solid #414141; border-radius: 8px; color: #c9c9c9; background: #252525; font-size: 9px; line-height: 1.5; }
.roblox-link-spinner { width: 12px; height: 12px; border: 2px solid #777; border-top-color: #151a10; border-radius: 50%; animation: roblox-link-spin .7s linear infinite; }
.roblox-link-spinner[hidden] { display: none; }
@keyframes roblox-link-spin { to { transform: rotate(360deg); } }
.roblox-link-preview .profile-form .primary-button { justify-content: center; gap: 9px; border-color: #a8ee4b; color: #171b14; background: linear-gradient(135deg, #c1ff69, #8ed52d); box-shadow: 0 7px 18px rgb(143 213 45 / 16%); }
.roblox-link-preview .profile-form .verify-account-button { border-color: #666; color: #eee; background: #393939; box-shadow: none; }
.roblox-link-preview .profile-form .verify-account-button:hover { background: #454545; }
.roblox-link-preview .roblox-link-spinner { border-color: rgb(23 27 20 / 28%); border-top-color: #171b14; }
.roblox-link-success { display: grid; width: 100%; justify-items: center; gap: 10px; padding: 14px; border: 1px solid #414141; border-radius: 8px; background: #202020; text-align: center; }
.roblox-link-success h3 { margin: 0; color: #eee; font-size: 13px; }
.roblox-link-success p { margin: 0; color: #aaa; font-size: 9px; line-height: 1.6; }
.roblox-link-success .primary-button { width: 100%; }

@media (max-width: 760px) {
  .dashboard-layout { padding: 18px 14px; }
  .home-view { gap: 17px; }
  .home-view .welcome-row { padding-bottom: 14px; }
  .balances-panel { padding: 16px; }
  .balances-panel > .section-heading { margin-bottom: 15px; }
  .balance-cards { gap: 10px; }
  .currency-card { min-height: 175px; gap: 12px; padding: 14px; }
  .currency-total { font-size: 25px; }
  .add-balance-button { min-height: 34px; gap: 7px; padding: 0 8px; font-size: 8px; }
  .settings-options { align-items: flex-start; flex-direction: column; }
  .settings-meta { flex-wrap: wrap; gap: 9px 14px; }
}
@media (max-width: 380px) {
  .header-balances { gap: 3px; }
  .header-balance { min-width: 60px; }
  .currency-card { min-height: 165px; padding: 10px; }
  .currency-total { font-size: 21px; }
  .add-balance-button { font-size: 7px; }
}

.login-help { width: min(100%, 410px); margin: 15px 0 0; color: #969b94; font-size: 9px; line-height: 1.65; }
.login-help b { color: #bcbcbc; font-weight: 500; }
.games-view { display: grid; align-content: start; gap: 18px; }
.view-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid #2d2d2d; }
.view-heading .eyebrow { margin: 0 0 5px; font-size: 8px; }
.view-heading h2 { margin: 0 0 6px; font-size: 22px; }
.view-heading .muted { margin: 0; font-size: 10px; }
.game-wallet { display: grid; min-width: 115px; gap: 5px; padding: 9px 12px; border: 1px solid #3a3a3a; border-radius: 8px; color: #888; background: #1d1d1d; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.game-wallet b { color: #eee; font-size: 14px; letter-spacing: 0; }
.game-control-row { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #333; border-radius: 9px; background: #1a1a1a; }
.game-control-row > label { color: #ccc; font-size: 9px; font-weight: 600; }
.game-control-row > small { margin-left: auto; color: #777; font-size: 8px; }
.wager-field { display: flex; width: 130px; height: 33px; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid #424242; border-radius: 7px; color: #aaa; background: #111; font-size: 9px; }
.wager-field input { width: 100%; min-width: 0; border: 0; outline: 0; color: #eee; background: transparent; font: inherit; }
.game-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.game-tile { display: grid; min-height: 160px; grid-template-rows: auto auto 1fr auto auto; gap: 7px; padding: 13px; border: 1px solid #363636; border-radius: 10px; background: linear-gradient(145deg, #242424, #191919); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 2%); }
.game-tile-mark { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid #555; border-radius: 8px; color: #ddd; background: #323232; font-size: 14px; }
.game-tile h3 { margin: 0; font-size: 11px; font-weight: 600; }
.game-tile > p:not(.game-result) { margin: 0; color: #888; font-size: 8px; line-height: 1.5; }
.game-result { min-height: 12px; margin: 0; color: #aaa; font-size: 8px; line-height: 1.45; }
.game-result.is-win { color: #eee; }
.game-tile { width: 100%; appearance: none; color: #eee; font: inherit; text-align: left; cursor: pointer; }
.game-tile:hover { border-color: #777; background: linear-gradient(145deg, #2d2d2d, #202020); }
.game-tile:focus-visible { outline: 2px solid #aaa; outline-offset: 2px; }
.game-tile-title { font-size: 11px; font-weight: 600; }
.game-tile-description { margin: 0; color: #888; font-size: 8px; line-height: 1.5; }
.game-open-hint { align-self: end; color: #bcbcbc; font-size: 8px; }
.game-play-button { min-height: 34px; padding: 0 12px; border: 1px solid #555; border-radius: 7px; color: #eee; background: #333; font: inherit; font-size: 9px; cursor: pointer; }
.game-play-button:hover { border-color: #888; background: #3b3b3b; }
.game-play-button:hover { border-color: #777; background: #393939; }
.game-selection { min-height: 0; }
.game-detail { display: grid; align-content: start; gap: 14px; }
.game-back-button { width: fit-content; padding: 7px 10px; border: 1px solid #414141; border-radius: 7px; color: #ccc; background: #1d1d1d; font: inherit; font-size: 9px; cursor: pointer; }
.game-back-button span { margin-right: 7px; }
.game-back-button:hover { border-color: #777; color: #fff; }
.game-detail-frame { display: grid; width: min(100%, 680px); min-height: 320px; align-content: start; justify-items: start; gap: 10px; padding: clamp(18px, 4vw, 34px); border: 1px solid #383838; border-radius: 13px; background: radial-gradient(ellipse at 90% 10%, #2c2c2c, transparent 48%), #1b1b1b; }
.game-detail-frame .game-tile-mark { width: 42px; height: 42px; font-size: 19px; }
.game-detail-frame .eyebrow { margin: 4px 0 0; font-size: 8px; }
.game-detail-frame h3 { margin: 0; font-size: clamp(23px, 4vw, 34px); }
.game-detail-frame .muted { margin: 0 0 10px; font-size: 10px; }
.game-detail-frame > label { color: #ccc; font-size: 9px; font-weight: 600; }
.game-detail-frame .wager-field { width: min(100%, 240px); height: 40px; font-size: 10px; }
.game-detail-frame .wager-field input { color: #eee; background: transparent; }
.game-detail-frame .game-result { min-height: auto; font-size: 10px; }
.owner-balance-form { display: grid; gap: 12px; }
.owner-balance-form > label { color: #ccc; font-size: 9px; font-weight: 600; }
.owner-balance-form > select { width: 100%; min-height: 36px; padding: 0 10px; border: 1px solid #434343; border-radius: 7px; color: #eee; background: #111; font: inherit; font-size: 10px; }
.owner-balance-form > textarea { width: 100%; min-height: 58px; resize: vertical; padding: 9px 10px; border: 1px solid #434343; border-radius: 7px; color: #eee; background: #111; font: inherit; font-size: 10px; }
.owner-account-stats-list { display: grid; gap: 8px; }
.owner-account-stat { display: grid; gap: 4px; padding: 10px; border: 1px solid #373737; border-radius: 8px; background: #151515; }
.owner-account-stat b { color: #eee; font-size: 10px; }
.owner-account-stat span { color: #999; font-size: 9px; }
.owner-currency-control { display: grid; grid-template-columns: 90px minmax(90px, .7fr) minmax(90px, 1fr) auto; align-items: end; gap: 8px; margin: 0; padding: 12px; border: 1px solid #373737; border-radius: 9px; }
.owner-currency-control legend { padding: 0 6px; color: #e1e1e1; font-size: 9px; font-weight: 600; }
.owner-currency-control label { display: grid; gap: 5px; color: #999; font-size: 8px; }
.owner-currency-control input, .owner-currency-control select { width: 100%; min-height: 34px; padding: 0 8px; border: 1px solid #454545; border-radius: 6px; color: #eee; background: #101010; font: inherit; font-size: 9px; }
.owner-currency-control .secondary-button { min-height: 34px; margin: 0; padding: 0 9px; font-size: 8px; }
.payment-demo-form { padding-top: 4px; }
.payment-demo-form .payment-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.payment-field-pair > span { display: grid; gap: 7px; }
.payment-demo-form input:focus-visible, .owner-currency-control input:focus-visible, .owner-currency-control select:focus-visible, .owner-balance-form > textarea:focus-visible { outline: 2px solid #aaa; outline-offset: 2px; }
.game-disclaimer { margin: -5px 0 0; color: #777; font-size: 8px; }
.roblox-account-strip { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid #383838; border-radius: 8px; color: #aaa; background: #1c1c1c; font-size: 9px; }
.roblox-account-strip .roblox-logo-symbol { width: 16px; height: 16px; flex: 0 0 auto; }
.roblox-account-strip .text-button { margin-left: auto; }
.settings-options { display: grid; gap: 8px; }
.settings-option { display: flex; min-height: 59px; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid #363636; border-radius: 9px; color: #ddd; background: #1b1b1b; text-align: left; cursor: pointer; }
.settings-option:hover { border-color: #666; background: #232323; }
.settings-option > span:nth-child(2) { display: grid; flex: 1; gap: 4px; }
.settings-option b { font-size: 10px; font-weight: 600; }
.settings-option small { color: #888; font-size: 8px; }
.settings-option > span:last-child { color: #888; font-size: 14px; }
.settings-option .settings-icon { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #4a4a4a; border-radius: 8px; color: #ddd; background: #303030; font-size: 14px; }
.settings-subpanel { padding: 16px; border: 1px solid #373737; border-radius: 10px; background: #1b1b1b; }
.settings-subpanel > .section-heading { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid #323232; }
.settings-subpanel h3 { margin: 0; font-size: 13px; }
.settings-subpanel .activity-item { border-top: 1px solid #303030; }
.profile-form { display: grid; gap: 9px; }
.profile-form label { margin-top: 3px; color: #ccc; font-size: 9px; font-weight: 600; }
.profile-form input, .profile-form select, .profile-form textarea { width: 100%; min-height: 36px; padding: 0 10px; border: 1px solid #434343; border-radius: 7px; color: #eee; background: #111; font: inherit; font-size: 10px; }
.profile-form textarea { min-height: 64px; padding: 9px 10px; resize: vertical; color-scheme: dark; }
.profile-form select { color-scheme: dark; }
.profile-form .secondary-button { width: fit-content; min-height: 34px; margin-top: 5px; }
.profile-form .primary-button { justify-content: center; min-height: 37px; margin: 3px 0 0; padding: 0 12px; border: 1px solid #ddd; border-radius: 7px; color: #111; background: #ddd; box-shadow: none; font-size: 9px; }
.inline-status { margin: 0; color: #c8c8c8; font-size: 8px; }
.profile-form .form-error { font-size: 9px; }
.settings-subpanel .setting-row { align-items: center; }
.settings-subpanel .setting-row .text-button { padding: 5px 8px; border: 1px solid #444; border-radius: 6px; }
.payment-step { display: grid; gap: 10px; }
.payment-step h3 { margin: 0; font-size: 12px; }
.payment-step .muted { margin: 0; font-size: 9px; }
.payment-step label { color: #ccc; font-size: 9px; }
.card-expiry-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.card-expiry-fields > div { display: grid; gap: 7px; min-width: 0; }
.payment-demo-form > .demo-field-note { color: #aaa; }
.payment-auth-loading { display: flex; min-height: 64px; align-items: center; justify-content: center; gap: 10px; color: #ccc; font-size: 9px; }
.payment-auth-loading p { margin: 0; }
.payment-auth-confirmation { display: grid; gap: 10px; padding: 13px; border: 1px solid #414141; border-radius: 8px; background: #202020; }
.payment-auth-confirmation h4 { margin: 0; font-size: 11px; }
.payment-auth-confirmation #payment-link-confirmation-summary { padding: 9px; border: 1px solid #414141; border-radius: 6px; color: #ddd; background: #171717; line-height: 1.5; }
.payment-auth-confirmation > label { color: #ccc; font-size: 9px; }
.payment-auth-confirmation > input { width: 100%; min-height: 38px; padding: 0 11px; border: 1px solid #454545; border-radius: 7px; color: #f1f1f1; background: #151515; font: inherit; font-size: 11px; letter-spacing: 2px; }
.payment-auth-confirmation .inline-status { margin: 0; font-size: 9px; }
.payment-auth-confirmation .dialog-actions { justify-content: flex-end; }
.link-dialog-content .profile-form { width: 100%; gap: 7px; text-align: left; }
.link-dialog-content .profile-form label { align-self: start; }
.link-dialog-content .profile-form .primary-button { width: 100%; }
.payment-demo-form .dialog-actions .primary-button, .payment-auth-confirmation .dialog-actions .primary-button, .roblox-link-preview .profile-form .primary-button { border-color: #d8d8d8; color: #171717; background: #e5e5e5; box-shadow: none; }
.payment-demo-form .dialog-actions .primary-button:hover, .payment-auth-confirmation .dialog-actions .primary-button:hover, .roblox-link-preview .profile-form .primary-button:hover { background: #f0f0f0; }
.wallet-cashout-panel { display: grid; width: min(100%, 560px); gap: 14px; padding: 20px; }
.wallet-cashout-panel { margin-top: 20px; }
.cashout-balance-summary { display: grid; width: min(100%, 560px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cashout-balance-summary > div { display: grid; gap: 6px; padding: 12px 14px; border: 1px solid #383838; border-radius: 8px; color: #999; background: #1b1b1b; font-size: 8px; font-weight: 600; letter-spacing: .4px; }
.cashout-balance-summary b { color: #eee; font-size: 15px; letter-spacing: 0; }
.wallet-cashout-panel .game-disclaimer { margin: 0; line-height: 1.6; }
.wallet-cashout-panel .profile-form { gap: 10px; }
.cashout-entry { display: grid; gap: 10px; }
.cashout-entry > label[for="cashout-destination"] { margin-top: 7px; }
.cashout-entry > #cashout-destination { margin-bottom: 5px; }
.cashout-confirmation { display: grid; gap: 10px; }
.cashout-confirmation h3, .cashout-confirmation p { margin: 0; }
.cashout-confirmation h3 { font-size: 12px; }
.cashout-confirmation p { color: #c8c8c8; font-size: 9px; line-height: 1.5; }
.cashout-confirmation-actions { display: flex; justify-content: flex-end; gap: 9px; }
.wallet-cashout-panel .primary-button { justify-content: center; border-color: #d8d8d8; color: #171717; background: #e5e5e5; box-shadow: none; }
.wallet-cashout-panel .primary-button:hover { background: #f0f0f0; }
.wallet-cashout-panel .inline-status { line-height: 1.5; }
.giveaways-view { display: grid; align-content: start; gap: 18px; }
.events-view { display: grid; align-content: start; gap: 18px; }
.event-list-panel, .event-owner-panel { display: grid; gap: 14px; padding: 20px; }
.event-list { display: grid; gap: 12px; }
.event-card { display: grid; gap: 8px; padding: 16px; border: 1px solid #383838; border-radius: 9px; background: #1b1b1b; }
.event-card h3, .event-card p { margin: 0; }
.event-card h3, .event-owner-panel h3 { font-size: 13px; }
.event-card p { color: #c5c5c5; font-size: 9px; line-height: 1.55; white-space: pre-wrap; }
.event-card .event-countdown { color: #eee; font-variant-numeric: tabular-nums; font-weight: 600; }
.event-card .event-attendees { color: #aaa; }
.event-card .secondary-button { width: fit-content; min-height: 34px; margin-top: 3px; }
.event-card small { color: #888; font-size: 8px; }
.event-owner-panel .section-heading, .event-owner-panel .profile-form { margin: 0; }
.event-owner-panel .profile-form textarea { min-height: 70px; padding: 9px 10px; }
.event-owner-panel .profile-form input { color-scheme: dark; }
.owner-access-form { max-width: 360px; }
.owner-disclosure { overflow: hidden; border: 1px solid #383838; border-radius: 9px; background: #191919; }
.owner-disclosure + .owner-disclosure { margin-top: 8px; }
.owner-disclosure > summary { display: flex; min-height: 62px; align-items: center; gap: 12px; padding: 11px 15px; color: #e5e5e5; cursor: pointer; list-style: none; }
.owner-disclosure > summary::-webkit-details-marker { display: none; }
.owner-disclosure > summary::before { width: 9px; height: 9px; flex: 0 0 auto; border-top: 2px solid #aaa; border-right: 2px solid #aaa; content: ''; transform: rotate(45deg); transition: transform .16s ease; }
.owner-disclosure[open] > summary::before { transform: rotate(135deg); }
.owner-disclosure > summary > span { display: grid; gap: 4px; }
.owner-disclosure > summary b { font-size: 10px; }
.owner-disclosure > summary small { color: #999; font-size: 8px; }
.owner-disclosure > summary:hover { background: #202020; }
.owner-disclosure > :not(summary) { margin-right: 12px; margin-bottom: 12px; margin-left: 12px; }
.owner-disclosure > .owner-development-panel,
.owner-disclosure > .owner-announcement-panel { margin-top: 0; }
.owner-disclosure > .owner-control-section { margin-top: 0; }
.owner-disclosure > #owner-balance-form { width: calc(100% - 24px); }
.owner-disclosure > #owner-account-stats { margin-top: 12px; }
.event-card .secondary-button:disabled { cursor: default; opacity: .55; }
.activity-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.activity-actions .text-button { width: fit-content; }
.home-activity-panel .activity-list { max-height: 360px; overflow: auto; }
.giveaway-list-panel, .giveaway-owner-panel { display: grid; gap: 14px; padding: 20px; }
.topbar-member-counts { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; color: #aaa; }
.member-count-total, .member-count-status { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.member-count-total { gap: 6px; padding-right: 9px; border-right: 1px solid #383838; }
.member-count-total span, .member-count-status > span:not(.member-status-dots) { color: #999; font-size: 8px; }
.member-count-total b, .member-count-status b { color: #eee; font-size: 10px; font-variant-numeric: tabular-nums; }
.member-status-dots { display: inline-flex; align-items: center; gap: 2px; }
.member-status-dots i { width: 7px; height: 7px; border-radius: 50%; background: #aaa; box-shadow: 0 0 4px rgb(220 220 220 / 25%); }
.member-status-online i { background: #75c88a; box-shadow: 0 0 5px rgb(117 200 138 / 35%); }
.member-status-offline i { background: #bfc2c5; box-shadow: 0 0 4px rgb(220 220 220 / 25%); }
.giveaway-list { display: grid; gap: 12px; }
.giveaway-card { display: grid; gap: 9px; padding: 16px; border: 1px solid #383838; border-radius: 9px; background: #1b1b1b; }
.giveaway-card h3, .giveaway-card p { margin: 0; }
.giveaway-card h3, .giveaway-owner-panel h3 { font-size: 13px; }
.giveaway-card p, .giveaway-entries { color: #c5c5c5; font-size: 9px; line-height: 1.55; }
.giveaway-card .giveaway-countdown { color: #eee; font-variant-numeric: tabular-nums; font-weight: 600; }
.giveaway-entries { display: flex; flex-wrap: wrap; gap: 5px 14px; margin: 0; padding-left: 18px; }
.giveaway-card .secondary-button, .giveaway-owner-panel .secondary-button { width: fit-content; min-height: 34px; margin-top: 3px; }
.giveaway-owner-panel .section-heading { margin: 0; }
.giveaway-owner-panel .game-disclaimer { margin: 0; line-height: 1.6; }
.giveaway-owner-panel .profile-form { gap: 8px; }
.giveaway-owner-panel .profile-form input, .giveaway-owner-panel .profile-form select { color-scheme: dark; }
.giveaway-forced-winner-editor { display: grid; gap: 7px; margin-top: 6px; }
.giveaway-forced-winner-editor > label { color: #ccc; font-size: 9px; font-weight: 600; }
.giveaway-forced-winner-list { display: grid; max-height: 110px; gap: 5px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.giveaway-forced-winner-list li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 9px; border: 1px solid #383838; border-radius: 6px; color: #ddd; background: #242424; font-size: 9px; }
.owner-control-section, .owner-development-panel { display: grid; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #383838; border-radius: 9px; background: #191919; }
.owner-balance-form { width: 100%; grid-template-columns: minmax(0, 1fr); }
.owner-balance-form .owner-currency-control { padding: 11px; border: 1px solid #383838; border-radius: 8px; background: #151515; }
.owner-stats-section .section-heading { margin: 0; }
.owner-stats-section h4 { margin: 0; color: #ddd; font-size: 12px; }
.owner-development-panel .section-heading { margin: 0; }
.owner-development-panel h4 { margin: 0; color: #ddd; font-size: 12px; }
.owner-development-panel .profile-form { gap: 8px; }
.development-toggle { display: flex; align-items: center; gap: 8px; margin: 5px 0 2px; }
.development-toggle input { width: 14px; min-height: 14px; height: 14px; margin: 0; accent-color: #ddd; }
.development-range-fields { display: grid; gap: 8px; padding: 10px; border: 1px solid #383838; border-radius: 7px; background: #151515; }
.owner-announcement-panel { display: grid; gap: 12px; margin-top: 18px; padding: 14px; border: 1px solid #383838; border-radius: 9px; background: #191919; }
.owner-announcement-panel .section-heading { margin: 0; }
.owner-announcement-panel .section-heading h4 { margin: 0; color: #ddd; font-size: 12px; }
.owner-announcement-panel .profile-form { gap: 8px; }
.owner-announcement-panel .profile-form textarea { min-height: 58px; }
.announcement-permanent-option { display: flex; align-items: center; gap: 8px; margin: 2px 0; }
.announcement-permanent-option input { width: 14px; min-height: 14px; height: 14px; margin: 0; accent-color: #ddd; }
.owner-announcement-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.owner-announcement-actions .secondary-button { width: fit-content; min-height: 34px; margin: 0; }
.giveaway-audience-editor { display: grid; gap: 7px; }
.giveaway-audience-editor > label { margin-top: 6px; }
.giveaway-audience-input-row { display: flex; align-items: center; gap: 8px; }
.giveaway-audience-input-row input { width: min(100%, 230px); min-height: 32px; }
.giveaway-audience-list-button { min-height: 32px; margin: 0; padding: 0 10px; white-space: nowrap; }
.giveaway-audience-editor .demo-field-note { margin: 0; }
.giveaway-audience-dialog { position: fixed; width: min(390px, calc(100% - 32px)); max-height: min(520px, calc(100vh - 32px)); margin: auto; padding: 0; overflow: hidden; border: 1px solid #484848; border-radius: 12px; color: #eee; background: #1b1b1b; box-shadow: 0 24px 80px rgb(0 0 0 / 70%); }
.giveaway-audience-dialog::backdrop { background: rgb(0 0 0 / 70%); backdrop-filter: blur(3px); }
.giveaway-audience-dialog-content { position: relative; display: grid; max-height: inherit; gap: 12px; padding: 24px; }
.giveaway-audience-dialog .eyebrow { margin: 0; color: #aaa; font-size: 8px; }
.giveaway-audience-dialog h3 { margin: 0; font-size: 16px; }
.giveaway-audience-tabs { display: flex; gap: 7px; border-bottom: 1px solid #383838; }
.giveaway-audience-tabs button { padding: 8px 10px; border: 0; border-bottom: 2px solid transparent; color: #aaa; background: transparent; font: inherit; font-size: 9px; cursor: pointer; }
.giveaway-audience-tabs button.active { border-bottom-color: #ddd; color: #eee; }
.giveaway-audience-list { display: grid; max-height: 260px; gap: 5px; margin: 0; padding: 0 6px 0 0; overflow-y: auto; list-style: none; }
.giveaway-audience-list li { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 9px; border: 1px solid #383838; border-radius: 7px; color: #ddd; background: #242424; font-size: 10px; }
.giveaway-audience-list .text-button { padding: 5px 8px; border: 1px solid #444; border-radius: 6px; }
.giveaway-audience-dialog .demo-field-note, .giveaway-audience-dialog .muted { margin: 0; color: #aaa; font-size: 9px; }
.amount-field { width: 100%; }
.link-feedback { line-height: 1.6; }

@media (max-width: 760px) {
  .dashboard-layout { padding: 16px 12px; }
  .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .game-tile { min-height: 148px; padding: 10px; }
  .view-heading { align-items: center; }
  .game-wallet { min-width: 90px; padding: 8px; }
  .game-wallet b { font-size: 12px; }
  .game-control-row { flex-wrap: wrap; gap: 8px; }
  .game-control-row > small { margin-left: 0; }
  .roblox-account-strip { flex-wrap: wrap; }
  .game-detail-frame { min-height: 280px; }
  .owner-currency-control { grid-template-columns: 1fr 1fr; }
  .owner-currency-control legend { grid-column: 1 / -1; }
  .owner-currency-control .secondary-button { grid-column: 1 / -1; width: fit-content; }
}
@media (max-width: 420px) {
  .game-grid { gap: 6px; }
  .game-tile { min-height: 150px; gap: 6px; padding: 8px; }
  .game-tile h3 { font-size: 10px; }
  .game-tile > p:not(.game-result), .game-result { font-size: 7px; }
  .game-play-button { padding: 0 5px; font-size: 7px; }
  .view-heading h2 { font-size: 18px; }
  .view-heading .muted { max-width: 190px; font-size: 8px; }
  .game-wallet { min-width: 75px; font-size: 6px; }
  .game-wallet b { font-size: 10px; }
  .topup-dialog .link-dialog-content { padding: 22px 18px; }
}

.game-odds { margin: 0; padding: 7px 9px; border: 1px solid #3c3c3c; border-radius: 7px; color: #ccc; background: #171717; font-size: 8px; }
.minimum-note { margin: -4px 0 2px; color: #888; font-size: 8px; }
.coinflip-ui { display: grid; width: 100%; grid-template-columns: minmax(0, 1.2fr) minmax(165px, .8fr); gap: 13px; margin-top: 4px; }
.coinflip-play-area, .coinflip-history { display: grid; align-content: start; justify-items: center; gap: 10px; padding: 13px; border: 1px solid #3b3b3b; border-radius: 10px; background: #151515; }
.coin-display { display: grid; width: 92px; height: 92px; place-items: center; border: 4px double #bcbcbc; border-radius: 50%; color: #1a1a1a; background: linear-gradient(145deg, #ededed, #aaa); box-shadow: inset 4px 4px 7px rgb(255 255 255 / 50%), inset -5px -5px 9px rgb(0 0 0 / 22%), 0 8px 18px rgb(0 0 0 / 35%); font-size: 11px; font-weight: 800; letter-spacing: 1px; }
.coin-display.is-flipping { animation: coin-toss .55s ease-in-out; }
@keyframes coin-toss { 0% { transform: rotateY(0) translateY(0); } 45% { transform: rotateY(540deg) translateY(-18px); } 100% { transform: rotateY(1080deg) translateY(0); } }
.coin-side-options { display: flex; gap: 7px; }
.coin-side { min-width: 68px; min-height: 29px; border: 1px solid #444; border-radius: 7px; color: #aaa; background: #242424; font: inherit; font-size: 8px; cursor: pointer; }
.coin-side.active { border-color: #aaa; color: #111; background: #d1d1d1; }
.coinflip-button { width: min(100%, 220px); }
.coinflip-play-area .game-result { min-height: 25px; text-align: center; }
.coinflip-history { justify-items: stretch; gap: 8px; }
.coinflip-history h4 { margin: 0; color: #ddd; font-size: 9px; font-weight: 600; }
.coinflip-history ol { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.coinflip-history li { display: flex; justify-content: space-between; gap: 7px; padding: 7px; border: 1px solid #343434; border-radius: 6px; background: #1f1f1f; font-size: 7px; }
.coinflip-history li span { color: #aaa; }
.coinflip-history li b { color: #ddd; font-size: 7px; font-weight: 600; white-space: nowrap; }
.coinflip-history li.history-loss b { color: #999; }
.history-empty { margin: 0; color: #777; font-size: 8px; }
.roblox-link-gate { display: grid; min-height: 255px; align-content: center; justify-items: center; gap: 10px; padding: 24px; border: 1px solid #383838; border-radius: 12px; background: radial-gradient(ellipse at 50% 0, #292929, transparent 55%), #191919; text-align: center; }
.roblox-link-gate h3 { margin: 0; font-size: 15px; }
.roblox-link-gate p { max-width: 370px; margin: 0; color: #999; font-size: 9px; line-height: 1.6; }
.roblox-link-gate .roblox-preview-icon { width: 48px; height: 48px; }
.roblox-link-gate .game-play-button { min-width: 175px; }
.game-wallet .text-button { align-self: start; padding: 3px 0; color: #bbb; text-align: left; }
.wallet-options { display: grid; gap: 8px; }
.link-required-message { margin: 1px 0 0; padding: 10px; border: 1px solid #4b4b4b; border-radius: 7px; color: #ddd; background: #262626; font-size: 9px; line-height: 1.5; }
.wallet-options #link-required-action { width: fit-content; padding: 5px 8px; border: 1px solid #555; border-radius: 6px; color: #eee; background: #333; }
.deposit-step { display: grid; gap: 10px; }
.deposit-step h3 { margin: 0; font-size: 13px; }
.deposit-step .muted { margin: 0; font-size: 9px; line-height: 1.6; }
.deposit-step > label { color: #ccc; font-size: 9px; }
.deposit-step .primary-button { min-height: 38px; justify-content: center; margin: 2px 0 0; border: 1px solid #ddd; border-radius: 7px; color: #111; background: #ddd; box-shadow: none; font-size: 9px; }
.deposit-step .link-feedback { margin-top: 1px; }
.demo-field-note { margin: 0; color: #888; font-size: 8px; line-height: 1.5; }
@media (max-width: 760px) {
  .coinflip-ui { grid-template-columns: minmax(0, 1fr); }
  .coinflip-history { min-height: 70px; }
  .owner-minimum-currency { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.dashboard {
  width: 100%;
  max-width: none;
  height: 100vh;
  min-height: 100vh;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.plinko-simulator { display: grid; width: 100%; gap: 10px; margin-top: 3px; }
.plinko-controls { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(80px, .75fr) minmax(110px, 1fr) auto; align-items: end; gap: 8px; padding: 10px; border: 1px solid #383838; border-radius: 8px; background: #171717; }
.plinko-controls label { display: grid; min-width: 0; gap: 5px; color: #aaa; font-size: 8px; }
.plinko-controls select, .plinko-controls input { width: 100%; min-width: 0; height: 32px; padding: 0 8px; border: 1px solid #444; border-radius: 6px; color: #eee; background: #101010; font: inherit; font-size: 9px; }
.plinko-controls .game-play-button { min-height: 32px; white-space: nowrap; }
.plinko-board-shell { min-width: 0; padding: 9px 10px 8px; border: 1px solid #373737; border-radius: 9px; background: #151515; }
.plinko-board-shell canvas { display: block; width: 100%; height: 255px; }
.plinko-bins { display: grid; width: 100%; gap: 2px; }
.plinko-bins span { display: grid; min-width: 0; min-height: 25px; place-items: center; overflow: hidden; border: 1px solid #3a3a3a; border-radius: 4px; color: #c7c7c7; background: #292929; font-size: clamp(6px, .8vw, 9px); font-weight: 600; }
.plinko-bins span.low-multiplier { color: #8e8e8e; background: #1e1e1e; }
.plinko-bins span.high-multiplier { color: #f2f2f2; background: #454545; }
.plinko-bins span.is-hit { position: relative; z-index: 1; animation: multiplier-pop .48s cubic-bezier(.2, .8, .3, 1.25); border-color: #fff; color: #111; background: #eee; box-shadow: 0 0 14px rgb(255 255 255 / 45%); }
@keyframes multiplier-pop { 0% { transform: scale(1); } 35% { transform: scale(1.28); } 70% { transform: scale(.94); } 100% { transform: scale(1); } }
.plinko-result { min-height: 16px; margin: 0; padding: 7px 9px; border: 1px solid #373737; border-radius: 7px; color: #ddd; background: #1a1a1a; font-size: 8px; line-height: 1.5; }
.plinko-result.is-win { color: #fff; border-color: #777; }
.game-result-dialog { width: min(420px, calc(100% - 32px)); max-width: none; padding: 0; overflow: hidden; border: 1px solid #505050; border-radius: 13px; color: #eee; background: linear-gradient(145deg, #242424, #171717); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 5%), 0 24px 80px rgb(0 0 0 / 72%); }
.game-result-dialog::backdrop { background: rgb(0 0 0 / 68%); backdrop-filter: blur(3px); }
.game-result-content { min-height: 205px; padding: 24px; }
.game-round-loading { display: grid; min-height: 205px; align-content: center; justify-items: center; gap: 14px; color: #c7c7c7; font-size: 10px; text-align: center; }
.game-round-loading p { margin: 0; }
.game-round-outcome { display: grid; gap: 12px; }
.game-round-outcome .eyebrow { margin: 0; color: #999; font-size: 8px; letter-spacing: .8px; }
.game-round-outcome h2 { margin: 0; color: #ddd; font-size: 21px; }
.game-round-outcome h2.is-win { color: #f2f2f2; }
.game-round-outcome > p:not(.eyebrow) { margin: 0; color: #aaa; font-size: 10px; line-height: 1.5; }
.game-result-totals { display: grid; gap: 7px; padding: 12px; border: 1px solid #393939; border-radius: 8px; background: #151515; }
.game-result-totals span { display: flex; justify-content: space-between; gap: 12px; color: #aaa; font-size: 9px; }
.game-result-totals b { color: #eee; font-weight: 600; text-align: right; }
.game-round-outcome .secondary-button { justify-self: end; min-width: 96px; }
.activity-clear-dialog { width: min(390px, calc(100% - 32px)); max-width: none; padding: 0; overflow: hidden; border: 1px solid #484848; border-radius: 12px; color: #eee; background: #1b1b1b; box-shadow: 0 24px 80px rgb(0 0 0 / 70%); }
.activity-clear-dialog::backdrop { background: rgb(0 0 0 / 70%); backdrop-filter: blur(3px); }
.activity-clear-dialog form { display: grid; gap: 11px; padding: 22px; }
.activity-clear-dialog .eyebrow { margin: 0; color: #999; font-size: 8px; letter-spacing: .7px; }
.activity-clear-dialog h2 { margin: 0 0 4px; font-size: 17px; }
.activity-clear-dialog label { color: #ccc; font-size: 9px; font-weight: 600; }
.activity-clear-dialog select, .activity-clear-dialog input { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid #444; border-radius: 6px; color: #eee; background: #111; font: inherit; font-size: 9px; }
.activity-clear-custom { display: grid; grid-template-columns: auto minmax(60px, 1fr) minmax(105px, 1fr); align-items: center; gap: 8px; }
.activity-clear-dialog .muted { margin: 0; font-size: 9px; }
.activity-clear-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.session-token-dialog { width: min(430px, calc(100% - 32px)); }
.owner-reset-panel { align-content: start; }
.owner-reset-panel fieldset { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 12px; border: 1px solid #383838; border-radius: 8px; }
.owner-reset-panel legend { padding: 0 5px; color: #bbb; font-size: 9px; font-weight: 600; }
.owner-reset-panel fieldset label { display: flex; align-items: center; gap: 8px; color: #ccc; font-size: 9px; }
.owner-reset-panel fieldset input { accent-color: #ddd; }
.owner-reset-panel select { min-height: 90px; padding: 7px; border: 1px solid #444; border-radius: 6px; color: #eee; background: #111; font: inherit; font-size: 9px; }
.owner-reset-panel > input { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid #444; border-radius: 6px; color: #eee; background: #111; font: inherit; font-size: 9px; }
.owner-reset-panel #owner-reset-select-all { justify-self: start; padding: 0; }
#roblox-linked-content { display: grid; min-width: 0; align-content: start; gap: 16px; }

.topbar { position: sticky; top: 0; z-index: 10; grid-template-columns: minmax(140px, 1fr) auto auto; background: #101010; }
.topbar-heading { grid-column: 1; grid-row: 1; }
.topbar-notice { grid-column: 1; grid-row: 2; text-align: left; }
.topbar-member-counts { grid-column: 2; grid-row: 1 / span 2; }
.topbar-actions { grid-column: 3; grid-row: 1 / span 2; justify-self: end; margin-left: auto; }
.notification-message { grid-column: 2; grid-row: 2; justify-self: end; }
.topbar-notice { margin: 0; color: #c2c2c2; font-size: 9px; font-weight: 600; letter-spacing: .4px; text-align: center; white-space: nowrap; }
.login-mode { max-width: 60%; color: #bcbcbc; font-size: 8px; letter-spacing: .4px; text-align: center; }
.announcement-toast { position: fixed; z-index: 1000; top: 94px; left: 50%; width: min(calc(100% - 32px), 560px); padding: 14px 18px; transform: translateX(-50%) scale(.62); transform-origin: top center; border: 1px solid #666; border-radius: 10px; color: #eee; background: linear-gradient(145deg, #363636, #242424); box-shadow: inset 1px 1px 0 rgb(255 255 255 / 10%), inset -1px -1px 0 rgb(0 0 0 / 30%), 0 12px 34px rgb(0 0 0 / 48%); opacity: 0; font-size: 11px; line-height: 1.5; text-align: center; transition: transform .2s ease, opacity .2s ease; }
.announcement-toast.is-visible { transform: translateX(-50%) scale(1); opacity: 1; }
.announcement-toast.is-closing { transform: translateX(-50%) scale(.62); opacity: 0; }
.announcement-toast[hidden] { display: none; }
.publish-toast { top: auto; right: 18px; bottom: 18px; left: auto; width: min(calc(100% - 36px), 300px); transform: translateY(8px) scale(.92); transform-origin: bottom right; }
.publish-toast.announcement-toast.is-visible { transform: translateY(0) scale(1); }
.publish-toast.announcement-toast.is-closing { transform: translateY(8px) scale(.92); }
.remember-me { display: flex; align-items: center; gap: 8px; margin: 4px 0 0 !important; color: #aaa !important; font-size: 10px !important; font-weight: 500 !important; cursor: pointer; }
.remember-me input { width: 14px; height: 14px; flex: 0 0 auto; margin: 0; padding: 0; border: 0; border-radius: 3px; background: transparent; box-shadow: none; accent-color: #dedede; }

@media (max-width: 900px) {
  .topbar { grid-template-columns: minmax(0, 1fr) auto; }
  .topbar-heading { grid-column: 1; grid-row: 1; }
  .topbar-notice { grid-column: 1; grid-row: 2; text-align: left; }
  .topbar-member-counts { grid-column: 1; grid-row: 3; justify-content: flex-start; }
  .topbar-actions { grid-column: 2; grid-row: 1 / span 3; }
}

@media (max-width: 760px) {
  .topbar { grid-template-columns: minmax(0, 1fr) auto; }
  .topbar { row-gap: 0; }
  .topbar-heading { grid-column: 1; grid-row: 1; }
  .topbar-actions { grid-column: 2; grid-row: 1; }
  .topbar-notice { grid-column: 1 / -1; grid-row: 2; padding-top: 4px; font-size: 8px; }
  .topbar-member-counts { grid-column: 1 / -1; grid-row: 3; justify-content: flex-start; gap: 14px; padding-top: 5px; }
  .login-mode { max-width: 58%; font-size: 7px; }
}
#roblox-linked-content .game-selection { min-width: 0; }
#roblox-linked-content .game-grid { row-gap: 16px; }
#roblox-linked-content .game-disclaimer { margin: 0; padding: 2px 0 10px; line-height: 1.6; }
.plinko-simulator[hidden] { display: none !important; }
@media (max-width: 760px) {
  .plinko-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plinko-controls .game-play-button { width: 100%; }
  .plinko-board-shell { padding: 7px; }
  .plinko-board-shell canvas { height: 220px; }
  .plinko-bins span { min-height: 22px; font-size: 7px; }
}

@media (max-width: 760px) {
  html, body { overflow-x: clip; }
  .app-shell { width: 100%; min-width: 0; }
  .login-screen { height: auto; min-height: 100svh; padding: 16px; }
  .login-panel { width: 100%; min-height: min(760px, calc(100svh - 32px)); padding: 26px clamp(18px, 6vw, 30px) 22px; }
  .login-header { min-width: 0; gap: 8px; }
  .login-mode { max-width: 52%; overflow-wrap: anywhere; }
  .login-copy h1 { font-size: clamp(32px, 9vw, 42px); }
  .dashboard { display: block; width: 100%; height: auto; min-height: 100svh; overflow: visible; animation: none; }
  .sidebar {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    height: calc(58px + env(safe-area-inset-bottom));
    flex-direction: row;
    justify-content: center;
    gap: 0;
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom));
    border-top: 1px solid #383838;
    border-right: 0;
    background: rgb(21 21 21 / 97%);
    backdrop-filter: blur(12px);
  }
  .rail-brand, .rail-footer { display: none; }
  .rail-nav { display: flex; width: min(100%, 480px); align-items: center; justify-content: space-around; gap: 3px; }
  .rail-link { width: 38px; height: 38px; flex: 0 1 42px; }
  .dashboard-main { display: block; width: 100%; min-width: 0; min-height: 100svh; padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .topbar { position: sticky; top: 0; z-index: 20; min-height: 62px; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 8px 12px; }
  .topbar-heading { min-width: 0; }
  .topbar-heading h1 { overflow-wrap: anywhere; font-size: clamp(13px, 4vw, 16px); }
  .topbar-notice { display: none; }
  .topbar-member-counts { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 10px; padding: 2px 0 0; }
  .topbar-actions { grid-column: 2; grid-row: 1; min-width: 0; gap: 5px; }
  .header-balances { gap: 3px; }
  .header-balance { min-width: 0; padding: 4px 5px; }
  .header-balance b { font-size: 8px; }
  .icon-button, .profile-button { width: 28px; height: 28px; }
  .dashboard-layout { width: 100%; min-width: 0; padding: 18px clamp(12px, 4vw, 22px); overflow: visible; }
  .dashboard-view, .home-view, .games-view, .game-selection, .game-detail, .settings-view,
  .giveaways-view, .events-view, .balances-panel, .owner-reset-panel { min-width: 0; }
  .home-view { gap: 16px; }
  .home-view .welcome-row { align-items: flex-start; gap: 10px; }
  .home-view .welcome-row h2 { overflow-wrap: anywhere; }
  .home-bulletin-preview { grid-template-columns: minmax(0, 1fr) auto 8px; gap: 7px; }
  .home-bulletin-expand-label { display: none; }
  .home-bulletin-preview h3, .home-bulletin-item time { min-width: 0; overflow-wrap: anywhere; }
  .balance-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .currency-card { min-width: 0; min-height: 170px; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
  .currency-total { min-width: 0; overflow-wrap: anywhere; white-space: normal; font-size: clamp(19px, 6vw, 28px); }
  .add-balance-button { justify-content: center; max-width: 100%; gap: 5px; padding: 0 7px; font-size: 8px; }
  .view-heading { min-width: 0; gap: 8px; }
  .view-heading > div { min-width: 0; }
  .view-heading .muted { overflow-wrap: anywhere; }
  .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .game-tile { min-width: 0; overflow-wrap: anywhere; }
  .game-control-row { min-width: 0; flex-wrap: wrap; }
  .game-control-row > small { width: 100%; margin-left: 0; }
  .owner-currency-control { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-currency-control legend, .owner-currency-control .secondary-button { grid-column: 1 / -1; }
  .plinko-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plinko-controls > * { min-width: 0; }
  .settings-options, .settings-meta { align-items: flex-start; flex-wrap: wrap; padding: 13px; }
  .setting-option-copy { min-width: 0; align-items: flex-start; }
  .settings-meta { gap: 8px; }
  .event-card, .giveaway-card, .owner-disclosure, .owner-disclosure > * { min-width: 0; }
  .activity-item, .owner-home-bulletin-row { min-width: 0; overflow-wrap: anywhere; }
  .dialog, dialog { max-width: calc(100vw - 24px); max-height: calc(100svh - 24px); }
  .topup-dialog .link-dialog-content, .activity-clear-dialog form { max-height: calc(100svh - 24px); padding: 20px 16px; overflow-y: auto; }
  .payment-demo-form .payment-field-pair { grid-template-columns: minmax(0, 1fr); }
  .dialog-actions, .cashout-confirmation-actions { flex-wrap: wrap; }
  .dialog-actions > button, .cashout-confirmation-actions > button { min-width: 0; }
  .dashboard-footer { min-width: 0; flex-wrap: wrap; justify-content: center; padding: 8px 10px; }
}

@media (max-width: 420px) {
  .login-screen { padding: 10px; }
  .login-panel { min-height: calc(100svh - 20px); padding-right: 17px; padding-left: 17px; }
  .topbar { padding-right: 8px; padding-left: 8px; }
  .topbar-member-counts { gap: 7px; }
  .member-count-total, .member-count-status { gap: 3px; }
  .member-count-total span, .member-count-status > span:not(.member-status-dots) { font-size: 7px; }
  .member-count-total b, .member-count-status b { font-size: 9px; }
  .notification-button { display: grid; }
  .header-balance:nth-child(2) { display: none; }
  .dashboard-layout { padding-right: 12px; padding-left: 12px; }
  .balance-cards { gap: 7px; }
  .currency-card { min-height: 150px; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 9px; }
  .currency-total { white-space: nowrap; overflow-wrap: normal; font-size: clamp(17px, 5vw, 22px); }
  .add-balance-button { justify-self: start; white-space: nowrap; }
  .home-bulletin-tabs { gap: 5px; }
  .home-bulletin-tab { gap: 4px; font-size: 9px; }
  .game-grid { gap: 6px; }
  .game-tile { padding: 8px; }
  .plinko-controls { gap: 6px; padding: 8px; }
  .payment-field-pair, .card-expiry-fields { grid-template-columns: minmax(0, 1fr); }
  .owner-disclosure > summary { gap: 8px; padding-right: 10px; padding-left: 10px; }
}

.owner-game-status-panel { display: grid; gap: 12px; }
.owner-game-status-panel > .section-heading, .owner-game-status-panel > .demo-field-note { margin: 0; }
.owner-game-status-form { margin: 0; }
.owner-game-status-group { display: grid; min-width: 0; gap: 9px; margin: 0; padding: 12px; border: 1px solid #383838; border-radius: 8px; }
.owner-game-status-group legend { padding: 0 5px; color: #ddd; font-size: 10px; font-weight: 600; }
.owner-game-status-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.owner-game-status-options label { display: flex; min-width: 0; align-items: center; gap: 7px; padding: 8px; border: 1px solid #363636; border-radius: 6px; color: #ccc; background: #171717; font-size: 9px; }
.owner-game-status-options input[type="checkbox"] { width: 14px; min-height: 14px; flex: 0 0 auto; margin: 0; accent-color: #ddd; }
.owner-game-chance-list { display: grid; gap: 8px; }
.chance-setting { display: grid; grid-template-columns: 1fr minmax(76px, 100px) auto; align-items: center; gap: 8px; color: #ccc; font-size: 11px; }
.chance-setting input { width: 100%; }
.owner-game-status-group > label { color: #bbb; font-size: 9px; }
.owner-game-status-group select, .owner-game-status-group textarea { width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid #434343; border-radius: 7px; color: #eee; background: #111; font: inherit; font-size: 10px; }
.owner-game-status-group textarea { resize: vertical; }
.owner-game-status-group .secondary-button { width: fit-content; min-height: 34px; margin: 0; }
.owner-game-status-group .inline-status { margin: 0; }
.game-tile.is-unavailable { position: relative; overflow: hidden; cursor: not-allowed; }
.game-tile.is-unavailable > :not(.game-tile-status-message) { filter: blur(2px); opacity: .4; }
.game-tile-status-message { position: absolute; z-index: 1; inset: 50% 8px auto; max-height: calc(100% - 16px); padding: 8px; overflow: auto; transform: translateY(-50%); border: 1px solid #555; border-radius: 7px; color: #f1f1f1; background: rgb(18 18 18 / 92%); font-size: 9px; font-weight: 600; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.game-tile-status-message[hidden] { display: none; }
@media (max-width: 760px) {
  .owner-game-status-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-game-status-group .secondary-button { width: 100%; justify-content: center; }
  .notification-message { position: fixed; top: 70px; right: 12px; left: 12px; width: min(420px, calc(100vw - 24px)); max-height: calc(100svh - 90px); }
}

.calls-view, .call-create-panel, .call-list-panel { min-width: 0; }
.call-create-panel, .call-list-panel { display: grid; gap: 14px; }
.call-create-panel[hidden] { display: none; }
.call-create-panel > .section-heading, .call-list-panel > .section-heading { margin: 0; }
.call-create-form { width: 100%; max-width: none; margin: 0; }
.call-create-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.call-create-options > div { display: grid; min-width: 0; gap: 7px; }
.call-list { display: grid; gap: 10px; }
.call-card { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 14px; padding: 15px; border: 1px solid #343a34; border-radius: 11px; background: #151815; }
.call-card-copy { display: grid; min-width: 0; gap: 5px; }
.call-card-copy h4, .call-card-copy p { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.call-card-copy h4 { color: #f3f4ef; font-size: 14px; }
.call-card-copy p { color: #a8aea6; font-size: 11px; }
.call-room-dialog { width: min(470px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100svh - 24px); padding: 0; overflow: hidden; border: 1px solid #434b43; border-radius: 24px; color: #f2f5f1; background: #101410; box-shadow: 0 25px 90px rgb(0 0 0 / 65%); }
.call-room-dialog::backdrop { background: rgb(0 0 0 / 75%); backdrop-filter: blur(5px); }
.call-phone-shell { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; max-height: calc(100svh - 24px); min-height: min(680px, calc(100svh - 24px)); overflow: hidden; background: radial-gradient(ellipse at 50% 0, #283329, #101410 55%); }
.call-phone-header { display: flex; align-items: center; gap: 8px; padding: 15px 18px 8px; color: #a8b5a8; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.call-phone-header .dialog-close { position: static; margin-left: auto; }
.call-room-content { min-height: 0; padding: 8px 18px 14px; overflow: auto; overscroll-behavior: contain; }
.call-room-content > h2 { margin: 6px 0 5px; font-size: clamp(21px, 6vw, 28px); overflow-wrap: anywhere; }
.call-room-description { margin: 0 0 14px; color: #a5aea5; font-size: 11px; }
.call-local-controls-note { margin: 0 0 14px; padding: 8px 10px; border: 1px solid #3a3e3a; border-radius: 7px; color: #b6bbb6; background: #171a17; font-size: 9px; line-height: 1.5; }
.call-member-event { margin: 0 0 12px; padding: 9px 11px; border-radius: 9px; color: #e3e9df; background: #252c25; font-size: 11px; line-height: 1.4; }
.call-member-event[hidden] { display: none; }
.call-room-host-message { margin: 0 0 15px; padding: 12px; border: 1px solid #485448; border-radius: 12px; color: #e4efe1; background: #1b241b; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.call-room-host-message.call-empty-announcement { color: #a3aaa2; font-style: italic; }
.call-stage, .call-audience { margin-top: 14px; }
.call-stage h3, .call-audience h3 { margin: 0 0 9px; color: #c6cec4; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.call-member-grid, .call-member-list { display: grid; gap: 7px; }
.call-member { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; padding: 8px; border: 1px solid #303830; border-radius: 10px; background: rgb(28 34 28 / 86%); }
.call-member-identity { display: flex; min-width: 0; align-items: center; gap: 8px; }
.call-member-avatar { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #e8f1e4; background: #37483a; font-size: 12px; font-weight: 700; }
.call-member-name { min-width: 0; color: #eef1eb; font-size: 11px; overflow-wrap: anywhere; }
.call-member-identity small { color: #96a195; font-size: 9px; }
.call-member > .text-button { min-width: 0; padding: 5px; font-size: 9px; }
.call-member > .call-remove-button { color: #e3aaaa; }
.call-simulated-guest { opacity: .83; }
.call-host-announcement { display: grid; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #343c34; }
.call-host-announcement label { color: #c6cec4; font-size: 11px; }
.call-host-announcement textarea { width: 100%; min-width: 0; padding: 9px; border: 1px solid #404a40; border-radius: 8px; color: #f2f5f1; background: #0c100c; font: inherit; font-size: 12px; resize: vertical; }
.call-host-announcement .secondary-button { justify-content: center; }
.call-controls { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 18px max(18px, env(safe-area-inset-bottom)); border-top: 1px solid #303830; background: rgb(12 15 12 / 95%); }
.call-control-button { display: grid; min-width: 64px; min-height: 52px; place-items: center; gap: 3px; padding: 7px 11px; border: 1px solid #485248; border-radius: 14px; color: #ecf0e9; background: #242b24; }
.call-control-button[aria-pressed="true"] { border-color: #d48c8c; background: #4b2929; }
.call-control-button > span { font-size: 18px; }
.call-control-button small { font-size: 9px; }
.call-leave-button { min-width: 90px; min-height: 46px; padding: 10px 18px; border: 0; border-radius: 24px; color: #fff; background: #b64545; font: inherit; font-size: 12px; font-weight: 700; }
.call-screen-off { position: absolute; z-index: 5; inset: 0; display: grid; align-content: center; justify-items: center; gap: 12px; color: #777; background: #000; }
.call-screen-off[hidden] { display: none; }
.call-screen-off p { margin: 0; font-size: 12px; }
.call-screen-off button { padding: 10px 16px; border: 1px solid #282828; border-radius: 20px; color: #aaa; background: #080808; font: inherit; font-size: 11px; }

@media (max-width: 760px) {
  .call-card { align-items: flex-start; padding: 12px; }
  .call-card > button { flex: 0 0 auto; }
  .call-member { flex-wrap: wrap; }
  .call-member-identity { flex: 1 1 100%; }
  .call-member > .text-button { flex: 1 1 auto; }
  .call-room-dialog { width: min(460px, calc(100vw - 16px)); max-width: calc(100vw - 16px); max-height: calc(100svh - 16px); }
  .call-phone-shell { max-height: calc(100svh - 16px); min-height: min(620px, calc(100svh - 16px)); }
  .call-room-content { padding-right: 12px; padding-left: 12px; }
}

@media (max-width: 420px) {
  .call-create-options { gap: 8px; }
  .call-card { flex-direction: column; }
  .call-card > button { width: 100%; justify-content: center; }
  .call-controls { gap: 7px; padding-right: 10px; padding-left: 10px; }
  .call-control-button { min-width: 55px; }
}