/* Entry revision 2. Owner-approved artwork with technical alpha cutout; all controls are HTML. */
:root { --entry-gold: #e4be72; --entry-muted: #b3b0a2; --motion-fast: 140ms; --motion-normal: 240ms; }
.shared-brand { display: block; max-width: 100%; object-fit: contain; mix-blend-mode: normal !important; background: transparent !important; border: 0; border-radius: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body:has(#auth:not(.hidden)) { background: #030907; overflow-y: auto; }
body:has(#auth:not(.hidden)) .app { width: 100%; max-width: none; min-height: 100svh; height: auto; padding: 0; display: block; overflow: visible; }
body:has(#auth:not(.hidden)) .topbar, body:has(#auth:not(.hidden)) #mobileDock { display: none !important; }
#auth.auth-stage { position: relative; isolation: isolate; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 0; width: 100%; min-height: 100svh; margin: 0; padding: 20px 32px 24px; background: #030907 url('/assets/splash/login-club-v1.png') center / cover no-repeat; border: 0; border-radius: 0; color: #f4eedf; }
#auth.hidden { display: none; }
#auth .entry-tools { position: absolute; z-index: 2; top: 40px; left: 3%; right: 3%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#auth .entry-language, #auth .entry-support { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0; min-height: 52px; padding: 8px 18px; border: 1px solid #8a7341; border-radius: 16px; background: #07100de8; color: #eee9df; font: 18px/1.3 system-ui, sans-serif; box-shadow: none; text-transform: none; letter-spacing: 0; }
#auth .entry-language > span:first-child, #auth .entry-support > span:first-child { color: var(--entry-gold); font-size: 28px; }
#entryLanguage { width: auto; max-width: 170px; border: 0; padding: 4px; background: transparent; color: inherit; font: inherit; }
#entryLanguage option { background: #10241a; color: #fff; }
.entry-tool-icon { width: 26px; height: 26px; fill: none; stroke: var(--entry-gold); stroke-width: 1.8; flex: 0 0 26px; }
#auth .entry-support > span, #auth .entry-language select { font-family: system-ui, sans-serif !important; }
#auth .entry-logo { display: block; flex: 0 0 auto; width: min(560px, 44vw); height: min(40svh, 400px); min-height: 180px; margin: 0 auto 16px; object-fit: contain; }
#auth .auth-card { width: min(1300px, 100%); max-width: none; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: center; }
#auth .auth-card::before, #auth .auth-card::after, #auth .auth-choice::before, #auth .auth-choice::after { display: none; }
#auth .auth-card-heading { display: block; margin: 0; text-align: center; }
#auth .entry-welcome, #auth .entry-choose { margin: 0; color: var(--entry-gold); font: 500 clamp(18px, 1.6vw, 27px)/1.25 Georgia, 'Times New Roman', serif; text-transform: uppercase; letter-spacing: .055em; }
#auth .entry-welcome::before, #auth .entry-welcome::after, #auth .entry-choose::before, #auth .entry-choose::after { content: ' ◇ '; color: #d4a649; }
#auth .auth-card-heading > p { margin: 12px auto 22px; max-width: 640px; color: var(--entry-muted); font: 400 clamp(15px, 1.35vw, 22px)/1.4 system-ui, sans-serif; }
#auth .auth-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 55px); margin: 24px 0 12px; }
#auth .auth-choice { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 1.6vw, 26px); width: 100%; min-width: 0; min-height: 98px; padding: 18px 16px; border: 1.5px solid var(--entry-gold); border-radius: 30px; text-align: left; color: #f7efd8; box-shadow: inset 0 1px 14px #ffffff08; background: linear-gradient(140deg, #213528ee, #0d1b13ef); cursor: pointer; }
#auth .auth-choice-vk { border-color: #81b7eb; background: linear-gradient(140deg, #295786f2, #173c66f2); }
#auth .auth-choice-phone { border-color: #d39771; background: linear-gradient(140deg, #59241ceb, #2a1410ef); }
#auth .auth-choice > span:last-child { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
#auth .auth-choice strong { color: inherit; font: 500 clamp(18px, 1.5vw, 25px)/1.2 Georgia, 'Times New Roman', serif; letter-spacing: .02em; text-transform: uppercase; overflow-wrap: anywhere; }
#auth .auth-choice small { font: 400 clamp(13px, 1vw, 17px)/1.3 system-ui, sans-serif; color: #dfcb9f; }
#auth .auth-choice small, #auth .auth-note, #auth .entry-legal *, #auth .auth-card-heading > p { font-family: system-ui, sans-serif !important; }
#auth .entry-method-icon { display: block; width: 42px; height: 46px; flex: 0 0 42px; color: var(--entry-gold); fill: currentColor; }
#auth .entry-vk-mark { color: white; font: 900 29px/46px system-ui, sans-serif; letter-spacing: -3px; }
#auth .auth-choice:disabled { opacity: .58; cursor: not-allowed; filter: none; }
#auth button:focus-visible, #auth select:focus-visible, #auth summary:focus-visible { outline: 3px solid #ffe6a1; outline-offset: 4px; }
#auth .auth-choice:not(:disabled):hover { filter: brightness(1.2); transform: translateY(-2px); }
#auth .auth-note { margin: 4px 0; min-height: 1.4em; color: var(--entry-muted); font: 13px/1.4 system-ui, sans-serif; }
#auth .entry-other-methods { margin: 5px auto 10px; color: #c7b790; font: 13px/1.5 system-ui, sans-serif; }
#auth .entry-other-methods summary { cursor: pointer; width: fit-content; margin: auto; }
#auth .entry-other-methods > div { display: flex; justify-content: center; gap: 12px; padding: 8px; }
#auth .auth-password-link { width: auto; margin: 0; }
#auth .entry-legal { color: var(--entry-muted); font: 400 clamp(13px, 1.2vw, 20px)/1.5 system-ui, sans-serif; }
#auth .entry-legal button { display: inline; padding: 0; border: 0; min-height: 0; border-radius: 0; background: none; box-shadow: none; font: inherit; color: var(--entry-gold); text-decoration: underline; text-transform: none; letter-spacing: 0; }
#auth .entry-legal small { display: block; font-size: 11px; }
#auth .download-link { margin: 10px auto 0; font-size: 11px; opacity: .7; }
#auth .auth-method-panel { width: min(460px, 100%); margin: 0 auto 24px; padding: 22px; border: 1px solid #977747; border-radius: 22px; background: #07120fee; text-align: left; }
#auth .auth-method-section h2 { margin: 16px 0; font: 500 24px/1.3 system-ui, sans-serif; }
#auth .auth-method-section label { margin: 12px 0; text-align: left; font: 15px/1.4 system-ui, sans-serif; }
#auth .auth-method-section button.primary-cta { margin-top: 16px; width: 100%; }
#auth .auth-method-section input { color: #fff; min-height: 44px; font: 16px/1.4 system-ui, sans-serif; background: #13231d; }
#auth:not([data-method='choice']) .entry-logo { height: 150px; min-height: 0; margin-top: 20px; }
#auth .form-error { max-width: 520px; margin: 10px auto; color: #ffb6a6; font: 15px/1.5 system-ui, sans-serif; }
#resendOtpBtn { width: 100%; margin-top: 12px; }
.entry-dialog { width: min(620px, calc(100vw - 32px)); max-height: calc(100svh - 40px); padding: 28px; border: 1px solid #b18b4f; border-radius: 20px; background: #0b1912; color: #ede7d8; font: 16px/1.6 system-ui, sans-serif; overflow-y: auto; }
.entry-dialog::backdrop { background: #000b; }
.entry-dialog h2 { font: 500 24px/1.3 system-ui, sans-serif; padding-right: 28px; }
.entry-dialog-close { position: absolute; right: 16px; top: 12px; font-size: 26px; }
.entry-dialog details { padding: 12px 0; border-bottom: 1px solid #99805444; }
.entry-dialog summary { cursor: pointer; color: var(--entry-gold); }
.entry-dialog textarea { width: 100%; min-height: 110px; }
.entry-dialog button { margin-top: 10px; }
.brand-lockup .brand-copy > strong { display: block; }
.topbar .brand-lockup .brand-emblem { width: 195px; height: 125px; max-width: 100%; object-fit: contain; filter: none; }
.admin-global-brand .shared-brand { width: 88px; height: 64px; object-fit: contain; }
.admin-global-role .shared-brand { width: 44px; height: 32px; flex: 0 0 44px; }
.lottery-brand .shared-brand { width: 110px; height: 80px; }
.lottery-live-brand .shared-brand { width: 88px; height: 64px; }
.fortune-joker-art .shared-brand { width: 70%; height: 74%; filter: drop-shadow(0 3px 8px #0005); }
.tutorial-header .shared-brand { width: 74px; height: 54px; flex: 0 0 74px; }
.launch-title .shared-brand { width: min(500px, 72vw); max-height: 60vh; }
@media (max-height: 600px) and (min-width: 601px) {
  .admin-global-brand .shared-brand { width: 44px; height: 32px; }
  .admin-global-role .shared-brand { width: 30px; height: 22px; flex-basis: 30px; }
}
@media (max-width: 600px) {
  .admin-global-header { grid-template-columns: minmax(0, 1fr) 60px; }
  .admin-global-brand { display: flex; }
  .admin-global-brand .shared-brand { width: 60px; height: 44px; }
  .tutorial-header .shared-brand { width: 55px; height: 40px; flex-basis: 55px; }
}
@media (max-height: 800px) and (min-width: 701px) {
  #auth.auth-stage { padding-top: 12px; }
  #auth .entry-logo { height: 38svh; min-height: 160px; }
  #auth .auth-choice-grid { margin-top: 18px; }
  #auth .auth-choice { min-height: 84px; padding: 14px; border-radius: 24px; }
  #auth .auth-card-heading > p { margin: 8px auto 16px; }
}
@media (max-width: 900px) {
  #auth .entry-tools { position: relative; top: auto; left: auto; right: auto; width: 100%; }
  #auth .entry-language, #auth .entry-support { font-size: 14px; min-height: 44px; padding: 5px 12px; border-radius: 12px; }
  #auth .entry-logo { width: min(460px, 60vw); height: 250px; min-height: 140px; }
  #auth .auth-choice { gap: 12px; }
  #auth .entry-method-icon { flex-basis: 30px; width: 30px; }
}
@media (max-width: 700px) {
  #auth.auth-stage { padding: 16px; }
  #auth .entry-logo { width: min(340px, 86vw); height: 220px; }
  #auth .auth-choice-grid { grid-template-columns: 1fr; max-width: 440px; margin: 20px auto 12px; gap: 12px; }
  #auth .auth-choice { min-height: 76px; border-radius: 20px; justify-content: flex-start; padding: 12px 26px; }
  #auth .auth-choice strong { font-size: 20px; }
  #auth .auth-choice small { font-size: 14px; }
  #auth .entry-welcome::before, #auth .entry-welcome::after { content: ''; }
  #auth:not([data-method='choice']) .entry-logo { height: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { --motion-fast: 0ms; --motion-normal: 0ms; }
  #auth *, .launch-splash * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  #auth .auth-choice:not(:disabled):hover { transform: none; }
}
@media (min-width: 701px) and (max-width: 900px) and (max-height: 500px) {
  #auth .entry-tools { position: absolute; top: 12px; left: 16px; right: 16px; width: auto; }
  #auth .entry-logo { height: 140px; min-height: 0; width: 230px; margin: 0 auto; }
  #auth .auth-card-heading > p { max-width: 520px; font-size: 14px; margin: 6px auto 10px; }
  #auth .auth-choice-grid { margin: 12px 0 6px; gap: 12px; }
  #auth .auth-choice { min-height: 68px; padding: 10px; }
  #auth .auth-choice strong { font-size: 16px; }
  #auth .auth-choice small { font-size: 12px; }
  #auth .entry-welcome, #auth .entry-choose { font-size: 16px; }
}
@media (orientation:landscape) and (max-height:500px) and (max-width:1099px) {
  body:has(#auth:not(.hidden)),body:has(#auth:not(.hidden)) .app{height:100dvh;min-height:0;overflow:hidden}
  #auth.auth-stage{height:100dvh;min-height:0;padding:6px 10px;overflow:hidden}
  #auth .entry-tools{position:absolute;top:6px;left:10px;right:10px;width:auto}
  #auth .entry-language,#auth .entry-support{min-height:44px;height:44px;box-sizing:border-box;padding:4px 8px;font-size:12px;gap:5px}
  #auth .entry-logo,#auth:not([data-method='choice']) .entry-logo{height:52px;min-height:0;width:92px;margin:0 auto;flex:0 0 52px}
  #auth .auth-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
  #auth .auth-entry-choice:not(.hidden){flex:1;min-height:0;overflow:auto}
  #auth .entry-welcome,#auth .entry-choose{font-size:13px;line-height:1.2}
  #auth .auth-card-heading>p{font-size:11px;line-height:1.2;margin:3px auto}
  #auth .auth-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin:6px 0 3px;gap:6px}
  #auth .auth-choice{min-height:58px;padding:6px;border-radius:12px;gap:6px;justify-content:center}
  #auth .auth-choice strong{font-size:13px}
  #auth .auth-choice small{font-size:10px;line-height:1.15}
  #auth .entry-method-icon{width:24px;height:30px;flex-basis:24px;font-size:22px;line-height:30px}
  #auth .auth-note{font-size:10px;line-height:1.2;margin:2px 0;min-height:0}
  #auth .entry-other-methods{margin:0;font-size:12px}
  #auth .entry-other-methods summary{min-height:30px;display:grid;place-items:center}
  #auth .entry-other-methods[open]>div{position:fixed;z-index:3;left:10px;right:10px;bottom:54px;background:#10251c;border:1px solid #b18b4f;border-radius:10px}
  #auth .entry-legal{flex:none;font-size:10px;line-height:1.2}
  #auth .entry-legal small{font-size:9px}
  #auth .download-link{flex:none;margin:2px auto 0;font-size:9px;min-height:18px;padding:2px;line-height:12px}
  #auth .auth-method-panel:not(.hidden){width:100%;max-width:680px;flex:1;min-height:0;overflow:auto;grid-template-columns:156px minmax(0,1fr);align-content:start;align-items:start;gap:8px;scroll-padding-top:6px;margin:0 auto 3px;padding:6px;box-sizing:border-box;border-radius:10px}
  #auth .auth-back{position:sticky;top:0;z-index:2;width:100%;min-height:44px;padding:6px;font-size:13px;background:#11271b}
  #auth .auth-method-section{min-width:0;gap:4px}
  #auth .auth-method-section h2{font-size:17px;margin:4px 0}
  #auth .auth-method-section .auth-kicker{display:none}
  #auth .auth-method-section label{min-width:0;margin:0;font-size:12px;gap:3px}
  #auth .auth-method-section input{width:100%;min-width:0;height:44px;box-sizing:border-box;padding:6px 8px}
  #auth .auth-method-section button.primary-cta{min-height:44px;padding:6px;margin-top:0}
  #auth .auth-mode-switch{padding:0}
  #auth .auth-mode-switch button{min-height:44px;padding:6px;font-size:13px}
  #auth .auth-mode-switch button.selected{color:#ffe19b;background:#263522}
  #auth .auth-method-section .account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  #auth .auth-method-section .form-hint{font-size:10px;margin:3px 0}
  #auth .form-error{font-size:12px;margin:3px auto}
}
