/* Gamador shared UI. One owner per component; page styles only own their page.
   Replaces home + polish + layout-fix + wireframe + member-chrome on shared pages. */
:root, body.gm-sidebar-layout {
  color-scheme: dark;
  --bg-0: var(--gm-canvas, #020b12); --bg-1: var(--gm-surface, #061a26); --bg-2: #0c2433;
  --panel: #0a2230; --panel-strong: #0e3348; --secondary: var(--gm-surface, #061a26);
  --text: var(--gm-text, #f2f9fc); --muted: var(--gm-muted, #8fb4c8);
  --gold: var(--gm-accent, #00e5ff); --gold-soft: var(--gm-cyan-bright, #5eefff); --gold-text: var(--gm-cyan-soft, #b8f4ff);
  --gold-bright: #7af0ff; --gold-dark: var(--gm-ocean, #0077b6);
  --primary: var(--gold); --tertiary: var(--gold-soft); --neutral: var(--bg-0);
  --amethyst: var(--gm-leaf, #0096c7); --amethyst-strong: var(--gm-raised, #0a2f44); --figma-purple: var(--gm-raised, #0a2f44);
  --lavender: var(--gold-text); --green-emerald: var(--gm-accent, #00e5ff); --green-deep: var(--gm-leaf, #0096c7);
  --emerald: var(--gm-accent, #00e5ff); --emerald-strong: var(--gm-leaf, #0096c7); --mint: var(--gm-soft, #c8e4f0);
  --header: var(--bg-1); --red: #bd4050; --red-bright: #ec8190; --red-dark: #722e37;
  --line: rgb(var(--gm-accent-rgb, 0 229 255) / .28); --line-soft: rgba(140, 190, 210,.14);
  --shadow: 0 18px 45px rgba(0,0,0,.28);
  --gm-radius: 16px; --gm-rail: 224px; --gm-announce: 32px; --gm-header: 88px;
  --gm-top: calc(var(--gm-announce) + var(--gm-header));
  --gm-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
}
* { box-sizing: border-box; scrollbar-width: thin; scrollbar-color: var(--gm-leaf, #0096c7) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--gm-surface, #061a26); }
::-webkit-scrollbar-thumb { background: var(--gm-leaf, #0096c7); border: 2px solid var(--gm-surface, #061a26); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: var(--gm-accent, #00e5ff); }
html, body { scroll-padding-top: calc(var(--gm-top) + 20px); }
:target { scroll-margin-top: calc(var(--gm-top) + 20px); }
body { margin: 0; min-width: 280px; padding-top: var(--gm-top); background: var(--bg-0); color: var(--text); font: 400 14px/1.55 "Inter", system-ui, sans-serif; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, [role="button"] { cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; }
a { color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--gold-soft); outline-offset: 3px; }
[hidden] { display: none !important; } /* Preserve native hidden state against component display. */
.bg-aurora {
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 45% at 18% -8%, rgba(0, 229, 255, .20) 0%, transparent 55%),
    radial-gradient(ellipse 65% 40% at 88% 4%, rgba(0, 150, 199, .22) 0%, transparent 52%),
    radial-gradient(ellipse 80% 50% at 50% 110%, rgba(0, 119, 182, .14) 0%, transparent 55%),
    radial-gradient(ellipse 50% 35% at 60% 40%, rgba(0, 229, 255, .05) 0%, transparent 60%),
    var(--gm-canvas, #020b12);
}
.page-shell { min-width: 0; width: auto; max-width: 1560px; margin: 0 auto 28px; padding: 24px; }
body.gm-sidebar-layout { padding-left: 0; }
.gm-sidebar-layout > .dash-shell { display: grid; grid-template-columns: 260px minmax(0,1fr); width: auto; max-width: none; margin: 0 0 32px; padding: 24px; gap: 24px; min-height: 0; align-items: start; }
.gm-wire > * { max-width: 1180px; margin-left: auto; margin-right: auto; }
.surface { padding: clamp(16px,2.2vw,28px); border: 1px solid var(--line-soft); border-radius: var(--gm-radius); background: var(--panel); }
.section-header, .gm-row-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.section-title, .gm-row-head h2 { margin: 0; color: var(--text); font-size: clamp(20px,2.2vw,28px); font-weight: 700; line-height: 1.25; letter-spacing: -.5px; }
.view-all-link, .gm-row-all { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: var(--gold-text); text-decoration: none; font-weight: 600; }
.view-all-link:hover, .gm-row-all:hover { text-decoration: underline; }
.reveal { opacity: 1; } /* Content remains visible when JS or observers fail. */
.btn-primary, .gm-btn-gold, .auth-submit-btn, .promotions-cta {
  display: inline-flex; justify-content: center; align-items: center; gap: 10px;
  min-height: 46px; padding: 11px 22px; border: 1px solid var(--gold-soft);
  border-radius: 10px; color: #04141c;
  background: linear-gradient(135deg, #00fbff 0%, #00e5ff 42%, #0096c7 100%);
  text-decoration: none; font-weight: 700;
  box-shadow: 0 0 0 0 rgba(0, 229, 255, 0), 0 8px 22px rgba(0, 150, 199, .28);
  transition: transform .2s ease, filter .2s ease, box-shadow .25s ease;
}
.promotions-hero { padding: 28px 16px; text-align: center; }
.promotions-kicker { color: var(--gold-text); font-weight: 650; }
.promotions-hero h2 { margin-top: 0; color: var(--text); letter-spacing: -1px; }
.promotions-subtitle { max-width: 640px; margin-inline: auto; color: var(--muted); }
.btn-primary:hover, .gm-btn-gold:hover, .auth-submit-btn:hover, .promotions-cta:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 0 24px rgba(0, 229, 255, .35), 0 10px 26px rgba(0, 150, 199, .32);
}
.btn-primary:active, .gm-btn-gold:active, .auth-submit-btn:active, .promotions-cta:active {
  transform: translateY(0); filter: brightness(.98);
}

/* Fixed chrome shares a single height contract with the content and rail. */
.gm-topbar-announce { position: fixed; inset: 0 0 auto; height: var(--gm-announce); z-index: 100; display: flex; align-items: center; justify-content: center; padding: 0 46px 0 18px; overflow: hidden; background: linear-gradient(90deg, #041820, #0a3a52 35%, #0077b6 50%, #0a3a52 65%, #041820); color: var(--gm-cyan-soft, #b8f4ff); border-bottom: 1px solid rgb(var(--gm-accent-rgb, 0 229 255) / .35); box-shadow: inset 0 -1px 0 rgb(var(--gm-accent-rgb, 0 229 255) / .12), 0 0 18px rgb(var(--gm-accent-rgb, 0 229 255) / .10); font-size: 11px; }
.gm-announce-track { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gm-announce-track i { margin-right: 8px; color: var(--gold); }
.gm-announce-track strong { color: var(--gold-text); }
.gm-announce-close { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid rgba(184,244,255,.25); border-radius: 50%; background: rgba(2,11,18,.35); color: var(--gm-cyan-soft,#b8f4ff); font-size: 11px; cursor: pointer; transition: background .2s ease, transform .15s ease; }
.gm-announce-close:hover { background: rgba(0,229,255,.2); }
.gm-announce-close:active { transform: translateY(-50%) scale(.9); }
body.gm-no-announce { --gm-announce: 0px; }
body.gm-no-announce .gm-topbar-announce { display: none; }
.topbar { position: fixed; top: calc(var(--gm-announce) + 10px); left: 16px; right: 16px; height: var(--gm-header); z-index: 100; background: linear-gradient(165deg, rgba(17,40,57,.78), rgba(4,17,26,.66)); border: 1px solid rgba(140,205,232,.16); border-radius: 22px; box-shadow: 0 12px 36px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); transition: height .3s ease, top .3s ease; }
.topbar.scrolled { height: 68px; top: calc(var(--gm-announce) + 6px); }
.topbar.scrolled .brand img { height: 52px; }
.topbar-row { position: relative; display: flex; align-items: center; gap: 20px; height: 100%; padding: 8px 26px; }
.gm-brand-cluster { min-width: 0; flex-shrink: 0; display: flex; align-items: center; height: 100%; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--gold-text); text-decoration: none; height: 100%; max-height: 100%; }
.brand img { display: block; width: auto; max-width: min(320px, 42vw); height: 68px; object-fit: contain; object-position: left center; flex-shrink: 0; transition: height .3s ease; }
.gm-brand-name { font-size: 21px; font-weight: 800; letter-spacing: .9px; }
.main-text-nav { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; margin: 0; }
@media (min-width: 901px) { .gm-sidebar .gm-side-moved { display: none; } }
.text-link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; border: 1px solid transparent; border-radius: 12px; color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 700; white-space: nowrap; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.text-link i { font-size: 15px; color: #6ec8e0; }
.text-link:hover { background: rgba(0,229,255,.08); border-color: rgba(140,205,232,.18); }
.text-link.active { background: rgba(0,229,255,.12); border-color: rgba(0,229,255,.25); }
.text-link.active i { color: var(--gold-soft); }
@media (max-width: 1600px) {
  .auth-links-member .gm-header-deposit-btn span, .auth-links-member .gm-header-withdraw-btn span { display: none; }
  .auth-links-member .gm-header-deposit-btn, .auth-links-member .gm-header-withdraw-btn { width: 44px; min-height: 44px; padding: 0; border-radius: 50%; }
  .auth-links-member { gap: 8px; }
}
.text-link.active, .text-link:hover { color: var(--gold-soft); }
.auth-links { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.auth-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 18px; border: 1px solid var(--line); border-radius: 999px; background: #0a2230; color: var(--text); font-weight: 650; font-size: 13px; text-decoration: none; white-space: nowrap; transition: background .2s ease, border-color .2s ease; }
.auth-btn:hover { background: #0e3348; border-color: var(--gold); }
.auth-btn.btn-login { border-color: rgb(var(--gm-accent-rgb, 0 229 255) / .45); color: var(--gm-cyan-soft, #b8f4ff); background: #0a2230; }
.auth-btn.btn-login:hover { border-color: var(--gold); color: #fff; background: #0e3348; box-shadow: 0 0 14px rgb(var(--gm-accent-rgb, 0 229 255) / .18); }

.btn-register, .gm-header-deposit-btn { background: linear-gradient(135deg, #00fbff, #0096c7); border-color: var(--gold-soft); color: #04141c; box-shadow: 0 0 16px rgba(0, 229, 255, .22); transition: transform .2s ease, filter .2s ease, box-shadow .25s ease; }
.btn-register:hover, .gm-header-deposit-btn:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 0 22px rgba(0, 229, 255, .38); }
.gm-header-balance { display: flex; flex-direction: column; align-items: flex-end; min-width: 0; padding: 6px 16px; border: 1px solid rgba(140,205,232,.14); border-radius: 999px; background: rgba(0,229,255,.06); font-variant-numeric: tabular-nums; }
.gm-header-balance-main { font-size: 17px; font-weight: 750; color: var(--gold-text); white-space: nowrap; }
.gm-header-balance-bonus { font-size: 11px; color: var(--muted); white-space: nowrap; }
.gm-header-account-btn { width: 44px; padding: 0; }
.gm-account-menu { position: relative; }
.gm-account-dropdown { position: absolute; top: calc(100% + 12px); right: 0; width: 228px; max-width: calc(100vw - 24px); padding: 8px; border: 1px solid rgba(140,205,232,.2); border-radius: 16px; background: linear-gradient(165deg, rgba(17,40,57,.92), rgba(4,17,26,.88)); box-shadow: 0 18px 48px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); }
.gm-account-dropdown-user { margin: 0 0 6px; padding: 10px; border-bottom: 1px solid var(--line-soft); color: var(--gold-text); overflow-wrap: anywhere; }
.gm-account-dropdown-item { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px; border-radius: 12px; text-decoration: none; transition: background .2s ease; }
.gm-account-dropdown-item:hover { background: rgba(0,229,255,.1); }
.gm-account-dropdown-item i { width: 20px; color: var(--gold); }
.gm-account-dropdown-logout { color: #ffafb6; }
.gm-sidebar { position: fixed; top: var(--gm-top); bottom: 0; left: 0; z-index: 90; display: flex; flex-direction: column; width: var(--gm-rail); padding: 18px 12px; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid var(--line-soft); background: var(--bg-1); }
.gm-side-nav { display: grid; gap: 5px; }
.gm-side-link { display: flex; align-items: center; gap: 13px; min-height: 46px; padding: 10px 14px; border: 1px solid transparent; border-radius: 10px; color: var(--muted); text-decoration: none; font-weight: 550; font-size: 13px; }
.gm-side-link i { flex: 0 0 20px; text-align: center; color: #6ec8e0; font-size: 17px; }
.gm-side-link:hover { color: var(--text); background: #0a2f44; }
.gm-side-link.active { color: var(--gold-text); background: linear-gradient(90deg, rgba(0,229,255,.12), #0a2f44); border-color: var(--line); box-shadow: inset 3px 0 0 var(--gold); }
.gm-side-link.active i { color: var(--gold-soft); }
.gm-side-foot { margin-top: auto; padding: 28px 12px 8px; text-align: center; }
.gm-side-brand { display: flex; flex-direction: column; align-items: center; gap: 7px; text-decoration: none; }
.gm-side-brand img, .gm-side-brand-logo { display: block; width: 192px; height: auto; max-height: 64px; object-fit: contain; }
.gm-side-brand-text { color: var(--gold-text); font-size: 12px; font-weight: 650; }
.gm-side-social-icons { display: flex; justify-content: center; gap: 12px; margin-top: 18px; }
.gm-side-social-icons a { display: grid; place-items: center; min-width: 38px; min-height: 38px; color: var(--muted); text-decoration: none; }
.gm-side-toggle, .gm-side-overlay, .gm-bottombar { display: none; }
.gm-menu-open { overflow: hidden; }

/* Homepage: stable image geometry; no continuous decorative animations. */
.gm-slider { position: relative; width: 100%; max-width: 1038px; margin: 0 auto 22px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--gm-radius); background: var(--panel); box-shadow: var(--shadow); }
.gm-slider-viewport { position: relative; aspect-ratio: 1038 / 358; touch-action: pan-y pinch-zoom; user-select: none; }
.gm-slides { position: absolute; inset: 0; }
.gm-slide { position: absolute; inset: 0; display: block; opacity: 0; visibility: hidden; transition: opacity .3s; text-decoration: none; }
.gm-slide.active { opacity: 1; visibility: visible; }
.gm-slide img { display: block; width: 100%; height: 100%; object-fit: cover; -webkit-user-drag: none; }
.gm-slide-ph { display: flex; justify-content: center; align-items: center; text-align: center; background: radial-gradient(ellipse at 20% 0,var(--gm-pine, #074a66),transparent 75%),var(--gm-canvas, #020b12); }
.gm-slide-ph-inner { padding: 20px 50px; }
.gm-slide-ph h2 { margin: 0 0 10px; color: var(--gold-text); font-size: clamp(19px,3vw,34px); line-height: 1.15; }
.gm-slide-ph p { margin: 0 0 16px; }
.gm-slide-ph .gm-slide-logo { width: 82px; height: 82px; object-fit: contain; margin: 0 auto 12px; }
.gm-slider-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* 20260918-lines: slayt sayisi kadar tiklanabilir cizgi, aktif cizgi vurgulu */
.gm-slide-lines { position: absolute; left: 0; right: 0; bottom: 12px; z-index: 3; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 0 16px; pointer-events: none; }
.gm-slide-line { pointer-events: auto; width: 36px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: rgba(255,255,255,.35); cursor: pointer; transition: background .2s ease, width .2s ease; }
.gm-slide-line:hover { background: rgba(255,255,255,.6); }
.gm-slide-line.active { background: var(--gold, #6fd9f2); width: 56px; }
.gm-slide-line:focus-visible { outline: 2px solid var(--gold, #6fd9f2); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .gm-slide-line { transition: none; } }
/* 20260918-fav: favori kalp */
.slot-card, .lc-card, .lc-featured-card { position: relative; }
.gm-fav { position: absolute; top: 8px; right: 8px; z-index: 5; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgb(255 255 255 / .25); background: rgba(0,13,18,.6); color: #fff; cursor: pointer; font-size: 14px; padding: 0; }
.gm-fav:hover { border-color: rgb(255 255 255 / .5); }
.gm-fav.active { color: #ff5a7a; border-color: rgb(255 90 122 / .6); }
.gm-fav .fa-solid { display: none; }
.gm-fav.active .fa-solid { display: inline-block; }
.gm-fav.active .fa-regular { display: none; }
.gm-fav:focus-visible { outline: 2px solid var(--gold, #6fd9f2); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .gm-slide { transition: none; } }
.gm-cats-wrap { margin-top: 22px; }
.gm-cats4 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.gm-cat { position: relative; display: block; min-width: 0; border-radius: 16px; line-height: 0; transition: transform .2s; }
.gm-cat img { display: block; width: 100%; height: auto; }
.gm-cat:hover { transform: translateY(-3px); }
.gm-cat-glow { display: none; }
.gm-row-section { margin-top: 32px; }
.gm-row { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
.gm-game { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--panel); transition: transform .2s,border-color .2s; }
.gm-game:hover { transform: translateY(-3px); border-color: var(--gold); }
.gm-game-cover { position: relative; aspect-ratio: var(--ar, 1 / 1) !important; overflow: hidden; background: var(--panel-2, #0a2231); }
.gm-game-cover img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; }
.gm-masa-section .gm-game-cover { aspect-ratio: var(--ar, 1 / 1) !important; }
.gm-quicklinks-wrap { margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--line-soft); text-align: center; }
.gm-ql-title { margin: 0 0 16px; color: var(--muted); font-size: 15px; font-weight: 600; }
.gm-quicklinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gm-ql { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 10px; color: var(--gold-text); background: var(--panel); text-decoration: none; }

/* Auth dialog: visible labels, large targets and bounded viewport scrolling. */
.auth-modal-overlay { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 20px; overflow-y: auto; overscroll-behavior: contain; background: rgba(2,11,18,.86); }
.auth-modal-overlay.active { display: flex; }
.auth-modal { position: relative; display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1fr); width: min(880px,100%); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid rgb(var(--gm-accent-rgb, 0 229 255) / .45); border-radius: 20px; background: var(--bg-1); box-shadow: 0 0 28px rgba(0, 229, 255, .16), 0 32px 100px #0009; }
.auth-close-btn { position: absolute; right: 12px; top: 12px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgb(var(--gm-accent-rgb, 0 229 255) / .35); border-radius: 50%; background: #0a2f44; color: var(--text); box-shadow: 0 0 12px rgba(0, 229, 255, .12); }
.auth-stage {
  min-height: 440px;
  border-right: 1px solid rgb(var(--gm-accent-rgb, 0 229 255) / .35);
  background-color: var(--gm-surface, #061a26);
  background-image: image-set(
    url('/assets/aqua/auth-giris.webp?v=20260917-goldlogo3') type('image/webp'),
    url('/assets/aqua/auth-giris.png?v=20260917-goldlogo3') type('image/png')
  );
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset -1px 0 0 rgb(var(--gm-accent-rgb, 0 229 255) / .12);
}
.auth-modal.is-register .auth-stage {
  background-image: image-set(
    url('/assets/aqua/auth-kayit.webp?v=20260917-goldlogo3') type('image/webp'),
    url('/assets/aqua/auth-kayit.png?v=20260917-goldlogo3') type('image/png')
  );
}
.auth-modal-header, .auth-stage-copy, .auth-stage-metrics { display: none; }
.auth-workspace { min-width: 0; padding: 56px 28px 28px; }
.auth-tabs { display: flex; padding: 4px; gap: 4px; border: 1px solid var(--line-soft); border-radius: 12px; background: #020b12; }
.auth-tab-btn { flex: 1; min-height: 44px; padding: 10px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; font-weight: 650; }
.auth-tab-btn.active { background: #0a2f44; color: var(--gold-text); }
.auth-tab-btn i { margin-right: 5px; }
.auth-panel { display: none; }
.auth-panel.active { display: block; }
.auth-panel-heading { margin: 24px 0 22px; }
.auth-panel-heading h3 { margin: 0 0 7px; font-size: 24px; line-height: 1.25; letter-spacing: -.5px; }
.auth-panel-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.auth-form { display: grid; gap: 17px; }
.auth-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.auth-field { position: relative; min-width: 0; }
.auth-field > label { display: block; margin-bottom: 7px; color: var(--text); font-weight: 550; font-size: 13px; }
.auth-field > i { position: absolute; bottom: 17px; left: 14px; color: var(--muted); font-size: 14px; pointer-events: none; }
.auth-input-wrap { position: relative; }
.auth-input-wrap > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.auth-field select { display: block; width: 100%; min-height: 48px; padding: 11px 36px 11px 39px; border: 1px solid #1a3a4c; border-radius: 10px; background-color: #020b12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238fb4c8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; color: var(--text); font-size: 16px; appearance: none; }
.auth-field select:focus { border-color: var(--gold); outline: 2px solid rgb(var(--gm-accent-rgb, 0 229 255) / .3); outline-offset: 1px; }
.auth-field input:not([type="checkbox"]) { display: block; width: 100%; min-height: 48px; padding: 11px 13px 11px 39px; border: 1px solid #1a3a4c; border-radius: 10px; background: #020b12; color: var(--text); font-size: 16px; }
.auth-field input::placeholder { color: #98a5aa; font-size: 13px; }
.auth-field input:focus { border-color: var(--gold); outline: 2px solid rgb(var(--gm-accent-rgb, 0 229 255) / .3); outline-offset: 1px; }
.auth-field.auth-field-password input:not([type="checkbox"]) { padding-right: 48px; }
.auth-password-toggle { position: absolute; top: 2px; right: 2px; bottom: 2px; width: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted); }
.auth-password-toggle:hover { color: var(--gold); background: #1b2e35; }
.auth-otp-row { display: flex; gap: 10px; }
.auth-otp-input-wrap { flex: 1; min-width: 0; }
.auth-otp-send-btn { padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-strong); color: var(--gold-text); font-size: 12px; font-weight: 650; white-space: nowrap; align-self: stretch; }
.auth-otp-field .auth-input-wrap input { width: 100%; min-height: 48px; }
#regGender, #regTc { border-color: #1a3a4c; background-color: #020b12; }
.auth-otp-help { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.auth-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.auth-check { display: inline-flex; align-items: flex-start; gap: 9px; min-height: 24px; cursor: pointer; }
.auth-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--gold); flex-shrink: 0; }
.check-box { display: none; }
.auth-forgot, .auth-check a { color: var(--gold-text); text-underline-offset: 3px; }
.auth-submit-btn { width: 100%; }
.auth-form-error { padding: 12px; border: 1px solid #b2616d; border-radius: 10px; background: #40272c; color: #ffdce0; font-size: 13px; overflow-wrap: anywhere; }

/* Footer content lives in the shared partial; the shell owns positioning. */
.site-footer { position: relative; background: #020b12; border-top: 1px solid var(--line-soft); }
.gmf-shell { max-width: 1180px; margin: 0 auto; padding: 24px; text-align: center; }
.gmf-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 26px; padding: 0 0 24px; }
.gmf-trust-item { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.gmf-trust-item i { color: var(--gold); font-size: 16px; }
.gmf-sec { padding: 24px 0; border-top: 1px solid var(--line-soft); }
.gmf-h { margin: 0 0 18px; font-size: 12px; font-weight: 650; color: var(--muted); }
.gmf-pay-marquee { overflow: auto; scrollbar-width: thin; scrollbar-color: #425961 transparent; }
.gmf-pay-track { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; }
.gmf-logo { display: inline-flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 700; color: #d8dee0; }
.gmf-logo-img { display: block; width: auto; height: 24px; max-width: 75px; object-fit: contain; filter: grayscale(1) brightness(1.6); }
.gmf-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px 22px; padding: 20px 0; border-block: 1px solid var(--line-soft); }
.gmf-links a { display: inline-flex; align-items: center; min-height: 38px; font-size: 11px; color: var(--muted); text-decoration: none; }
.gmf-links a:hover { color: var(--gold-text); text-decoration: underline; }
.gmf-copy { padding-top: 22px; }
.gmf-cr { color: var(--gold-text); font-size: 12px; }
.gmf-copy p { max-width: 880px; margin: 10px auto 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.gmf-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--line-soft); }
.gmf-rg { display: flex; align-items: center; gap: 10px; }
.gmf-18 { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-text); font-weight: 750; }
.gmf-rg-txt { color: var(--muted); font-size: 9px; font-weight: 650; text-align: left; }
.gmf-badge { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--line-soft); border-radius: 8px; padding: 8px 10px; color: var(--muted); font-size: 10px; }
.gmf-social { display: flex; gap: 8px; }
.gmf-social a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-soft); border-radius: 10px; text-decoration: none; color: var(--gold-text); }
.gmf-warn { max-width: 270px; color: var(--muted); font-size: 10px; text-align: right; }
.gm-live-support-fab { position: fixed; right: 22px; bottom: 22px; z-index: 80; display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #0a2f44, #061a26); color: var(--gold-text); box-shadow: 0 0 20px rgba(0, 229, 255, .18), var(--shadow); transition: transform .2s ease, box-shadow .25s ease; }
.gm-live-support-fab:hover { transform: translateY(-2px); box-shadow: 0 0 28px rgba(0, 229, 255, .32), var(--shadow); }
.gm-live-support-fab-icon { font-size: 23px; color: var(--gold); }
.gm-live-support-fab-copy { display: grid; gap: 2px; text-align: left; line-height: 1.2; }
.gm-live-support-fab-copy strong { font-size: 12px; }
.gm-live-support-fab-copy small { color: var(--muted); font-size: 11px; }
.gm-support-status { position: fixed; right: 22px; bottom: 88px; z-index: 2050; width: min(340px,calc(100vw - 32px)); padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.gm-support-status p { margin: 0 0 12px; }
.gm-support-status a { color: var(--gold-text); font-weight: 650; }
.gm-support-status button { position: absolute; right: 5px; top: 4px; width: 28px; height: 28px; border: 0; background: transparent; color: var(--text); }
.gm-livechat-open .gm-live-support-fab { display: none; }

@media (max-width: 1200px) {
  :root, body.gm-sidebar-layout { --gm-rail: 206px; }
  .main-text-nav { gap: 4px; }
  .text-link { padding: 10px 12px; }
  .text-link span { display: none; }
  .text-link i { font-size: 17px; }
  .gm-brand-name { font-size: 19px; }
  .gm-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gm-masa-section .gm-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  :root, body.gm-sidebar-layout { --gm-header: 84px; }
  .main-text-nav { display: none; }
  .topbar-row { padding: 6px 16px; gap: 10px; }
  .brand img { width: auto; max-width: min(280px, 38vw); height: 70px; }
  .gm-brand-name { font-size: 18px; }
  body.gm-sidebar-layout { padding-left: 0; }
  .page-shell { padding: 18px; }
  .gm-sidebar { top: var(--gm-top); bottom: var(--gm-bottom); width: min(300px,85vw); z-index: 120; transform: translateX(-100%); visibility: hidden; transition: transform .2s,visibility .2s; }
  .gm-sidebar.open { transform: translateX(0); visibility: visible; }
  .gm-side-toggle { position: fixed; top: calc(var(--gm-announce) + 16px); left: 12px; z-index: 125; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line-soft); border-radius: 10px; color: var(--gold-text); background: #0a2230; }
  .gm-side-overlay.show { position: fixed; inset: var(--gm-top) 0 var(--gm-bottom); z-index: 110; display: block; background: rgba(0,8,4,.72); }
  body { padding-bottom: var(--gm-bottom); }
  .gm-bottombar { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 130; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; height: var(--gm-bottom); padding: 8px 10px; background: linear-gradient(165deg, rgba(17,40,57,.82), rgba(4,17,26,.72)); border: 1px solid rgba(140,205,232,.16); border-radius: 22px; box-shadow: 0 14px 40px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); }
  .gm-bb { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; padding: 7px 2px; border: 1px solid transparent; border-radius: 14px; background: transparent; color: var(--muted); text-decoration: none; font: inherit; font-size: 10px; line-height: 1.2; font-weight: 650; cursor: pointer; }
  .gm-bb i { font-size: 20px; color: var(--gold); }
  .gm-bb-center { color: #04141c; background: linear-gradient(135deg, #00fbff, #0096c7); border-color: transparent; border-radius: 16px; box-shadow: 0 6px 20px rgba(0, 229, 255, .35); }
  .gm-bb-center i { color: #04141c; }
  .gm-bb:hover, .gm-bb[aria-current="page"] { color: var(--gold-text); background: rgba(0,229,255,.1); border-color: rgba(140,205,232,.2); }
  .gm-bb-center:hover, .gm-bb-center[aria-current="page"] { color: #04141c; background: linear-gradient(135deg, #00fbff, #0096c7); border-color: transparent; }
  .gm-live-support-fab { display: none; }
  .gm-support-status { bottom: calc(var(--gm-bottom) + 14px); right: 16px; }
}
@media (max-width: 600px) {
  :root, body.gm-sidebar-layout { --gm-header: 76px; --gm-announce: 28px; }
  .gm-topbar-announce { font-size: 10px; padding: 0 42px 0 12px; }
  .gm-side-toggle { top: calc(var(--gm-announce) + 14px); left: 10px; width: 42px; height: 42px; }
  .topbar { left: 10px; right: 10px; border-radius: 18px; }
  .topbar-row { padding: 6px 12px; }
  .brand img { width: auto; max-width: min(220px, 36vw); height: 64px; }
  .gm-brand-name { display: none; }
  .auth-links { gap: 7px; }
  .auth-btn { padding: 9px 12px; font-size: 12px; }
  .auth-links-guest .auth-btn i { display: none; }
  .gm-header-balance { padding-inline: 0; }
  .gm-header-balance-main { font-size: 14px; }
  .gm-header-balance-bonus { font-size: 9px; }
  .gm-header-withdraw-btn { display: none; }
  .gm-header-deposit-btn { width: 40px; padding: 0; }
  .gm-header-deposit-btn span { display: none; }
  .gm-header-account-btn { width: 40px; padding: 0; }
  .page-shell { padding: 14px 12px 22px; }
  .gmf-shell { padding: 24px 16px; }
  .gmf-bottom { justify-content: center; }
  .gmf-warn { max-width: none; text-align: center; }
  .surface { padding: 16px 12px; }
  .gm-cats4 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .gm-cats-wrap { margin-top: 16px; }
  .gm-row-section { margin-top: 26px; }
  .gm-row-head, .section-header { gap: 8px; margin-bottom: 14px; }
  .gm-row-head h2, .section-title { font-size: 19px; }
  .gm-row { gap: 9px; }
  .gm-masa-section .gm-row { grid-template-columns: repeat(3,minmax(0,1fr)); } /* 20260918-live3: mobil de 3 sutun */
  .gm-game { border-radius: 10px; }
  .gm-slider { border-radius: 12px; }
  .gm-slider-viewport:has(.gm-slide-ph) { min-height: 270px; }
  .gm-slide-ph-inner { padding: 22px 38px 30px; }
  .gm-slide-ph .gm-slide-logo { width: 52px; height: 52px; margin-bottom: 8px; }
  .gm-slide-ph h2 { font-size: 21px; }
  .gm-slide-ph p { font-size: 12px; margin-bottom: 12px; }
  .gm-slide-ph .gm-btn-gold { min-height: 40px; padding: 8px 14px; font-size: 12px; }
  .auth-modal-overlay { padding: 12px; align-items: flex-start; }
  .auth-modal { display: block; margin: auto; max-height: calc(100dvh - 24px); border-radius: 16px; }
  .auth-stage { display: none; }
  .auth-workspace { padding: 56px 20px 24px; }
  .auth-panel-heading { margin: 20px 0; }
  .auth-panel-heading h3 { font-size: 23px; }
  .auth-form-row { grid-template-columns: 1fr; gap: 17px; }
}
/* ── Homepage motion: slow slider zoom + cover zoom on hover ── */
@keyframes gm-slide-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.07); }
}
.gm-slide.active img { animation: gm-slide-zoom 7s ease-out forwards; }
.gm-game-cover { overflow: hidden; }
.gm-game-cover img { transition: transform .35s ease; object-fit: cover; object-position: center top; }
.gm-game:hover .gm-game-cover img { transform: scale(1.045); }
.gm-row-all { transition: color .2s ease; }
.gm-row-all:hover { color: var(--gold-text); }

/* Ocean chrome motion — tasteful lifts / soft cyan glow */
.gm-ql { transition: transform .2s ease, border-color .2s ease, box-shadow .25s ease; }
.gm-ql:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 0 18px rgba(0, 229, 255, .18); }
.gm-cat { transition: transform .22s ease, box-shadow .25s ease; }
.gm-cat:hover { box-shadow: 0 10px 28px rgba(0, 150, 199, .25); }
.gm-side-link { transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.gm-bb { transition: background .25s ease, color .25s ease, border-color .25s ease, transform .15s ease; }
.gm-bb:active { transform: scale(.93); }
.text-link { transition: color .2s ease; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ocean2-chrome-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .gm-btn-gold, .auth-submit-btn, .promotions-cta,
  .btn-register, .gm-header-deposit-btn, .gm-live-support-fab, .auth-btn,
  .gm-bb-center {
    transition: none !important;
    animation: none !important;
  }
  .btn-primary:hover, .gm-btn-gold:hover, .auth-submit-btn:hover, .promotions-cta:hover,
  .btn-register:hover, .gm-header-deposit-btn:hover, .gm-live-support-fab:hover {
    transform: none !important;
  }
}

/* ocean3i — unify game thumbs; beat inline aspect-ratio (slot 3/4 crop) */
.gm-game-cover,
.gm-game-cover[style],
.gm-home .gm-game-cover,
.gm-slot-page .gm-game-cover,
.slot-grid .gm-game-cover {
  aspect-ratio: var(--ar, 1 / 1) !important; /* 20260917-titan */
  overflow: hidden;
}
.gm-game-cover img,
.gm-game-cover[style] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* ocean3n - keep guest auth labels readable on mobile (icons optional) */
@media (max-width: 600px) {
  .auth-links-guest .auth-btn {
    padding: 8px 10px;
    font-size: 11px;
  }
  /* do not rely on icons alone; labels come from member-chrome ocean3n */
  .auth-links-guest .auth-btn span {
    display: inline !important;
  }
}

/* ocean3q-covers — full art in square thumb (no half-crop from cover+portrait mismatch) */
.gm-game-cover,
.gm-game-cover[style],
.gm-home .gm-game-cover,
.gm-slot-page .gm-game-cover,
.slot-grid .gm-game-cover,
.gm-masa-section .gm-game-cover {
  aspect-ratio: var(--ar, 1 / 1) !important; /* 20260917-titan */
  overflow: hidden !important;
  background: #071824 !important;
}
.gm-game-cover img,
.gm-game-cover[style] img,
.gm-game-cover > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.game-thumb {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #071824 !important;
}
.game-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* 20260914-covers — populer slot kapaklari yatay (325x234 ~7:5); kare kutu
   + contain alt-ust bosluk birakiyordu. Populer bolum kutusunu kapak oranina
   uydur (oran farki <%1, gozle gorunur kirpma yok). Masa kare kapak aynen kalir. */
.gm-row-section:not(.gm-masa-section) .gm-game-cover,
.gm-home .gm-row-section:not(.gm-masa-section) .gm-game-cover {
  aspect-ratio: var(--ar, 7 / 5) !important; /* 20260917-titan */
}
.gm-row-section:not(.gm-masa-section) .gm-game-cover img,
.gm-home .gm-row-section:not(.gm-masa-section) .gm-game-cover img {
  object-fit: cover !important;
  object-position: center center !important;
}
/* 20260917-goldlogo: JS is-register sinifini overlaye ekler, ic panele degil */
.auth-modal-overlay.is-register .auth-stage{background-image:image-set(url('/assets/aqua/auth-kayit.webp?v=20260917-goldlogo3') type('image/webp'),url('/assets/aqua/auth-kayit.png?v=20260917-goldlogo3') type('image/png'));}
