:root{
  --ember-ui-bg:#080607;
  --ember-ui-card:#1b1418;
  --ember-ui-card-soft:#21191e;
  --ember-ui-text:#fff8f3;
  --ember-ui-muted:#c9bdba;
  --ember-ui-soft:#a99b9c;
  --ember-ui-coral:#ff6658;
  --ember-ui-coral-soft:#ff9b8f;
  --ember-ui-rose:#d94d79;
  --ember-ui-green:#34a970;
  --ember-ui-danger:#ff7777;
  --ember-ui-border:rgba(255,255,255,.105);
  --ember-ui-warm-border:rgba(255,102,88,.20);
  --ember-ui-focus:rgba(255,155,143,.92);
}

html{
  color-scheme:dark;
  background:var(--ember-ui-bg);
}

button,
a,
input,
textarea,
select{
  -webkit-tap-highlight-color:transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid var(--ember-ui-focus)!important;
  outline-offset:3px!important;
}

.emberSectionPage .back,
.emberGamePage .gameBackTopBtn:not(.hidden){
  min-height:44px!important;
  padding:10px 8px!important;
  display:inline-flex!important;
  align-items:center!important;
  color:var(--ember-ui-muted)!important;
  font-size:15px!important;
  font-weight:800!important;
  border-radius:14px!important;
}

.emberSectionPage .back:active,
.emberGamePage .gameBackTopBtn:not(.hidden):active{
  background:rgba(255,255,255,.06)!important;
}

.emberSectionPage .settingsBtn,
.emberSectionPage .sparkSettingsBtn,
.emberGamePage .iconBtn{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
}

.emberSectionPage .sub,
.emberSectionPage .hint,
.emberSectionPage .empty,
.emberSectionPage .note{
  color:var(--ember-ui-muted)!important;
}

.emberSectionPage button,
.emberSectionPage .btn,
.emberSectionPage .links a{
  min-height:48px;
}

.emberGamePage .homeSettingsBtn{
  position:absolute;
  z-index:6;
  top:calc(12px + env(safe-area-inset-top));
  right:16px;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(32,25,29,.72);
  color:#d8ccca;
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:grid;
  place-items:center;
}

.emberGamePage .homeSettingsBtn svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.emberGamePage:not(.emberStartActive) .homeSettingsBtn{
  display:none;
}

.emberGamePage.emberStartActive .startHero{
  padding-right:58px!important;
}

.emberGamePage.emberStartActive .lustHomeCard{
  grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;
}

.emberGamePage .settingsSheet{
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

.emberGamePage .settingsList{
  display:grid!important;
  gap:12px!important;
}

.emberGamePage .settingsSection{
  display:grid;
  gap:7px;
}

.emberGamePage .settingsSectionLabel{
  padding:2px 5px 0;
  color:#c8968c;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.7px;
  text-transform:uppercase;
}

.emberGamePage .settingBtn{
  min-height:54px!important;
}

.emberGamePage .settingBtnDanger{
  color:#ffc6c6!important;
  border-color:rgba(255,100,100,.18)!important;
  background:rgba(125,42,48,.14)!important;
}

.emberGamePage .settingBtnDangerStrong{
  color:#fff0f0!important;
  border-color:rgba(255,100,100,.28)!important;
  background:linear-gradient(135deg,rgba(145,45,53,.30),rgba(84,31,39,.22))!important;
}

.emberGamePage .personSettingSummary{
  display:block;
  margin-top:3px;
  color:var(--ember-ui-soft);
  font-size:12px;
  font-weight:700;
}

.emberGamePage .lustPrivacyNote{
  margin:6px 2px 0;
  color:#a99b9e;
  font-size:11px;
  line-height:1.3;
  text-align:center;
}

.emberGamePage .gameStartResume{
  display:none;
  margin:0 0 12px;
  padding:13px 14px;
  border:1px solid rgba(255,155,143,.20);
  border-radius:18px;
  background:rgba(255,102,88,.08);
}

.emberGamePage .gameStartResume.isVisible{
  display:block;
}

.emberGamePage .gameStartResumeTitle{
  color:var(--ember-ui-text);
  font-size:16px;
  font-weight:900;
}

.emberGamePage .gameStartResumeText{
  margin-top:4px;
  color:var(--ember-ui-muted);
  font-size:13px;
  line-height:1.35;
}

.emberGamePage .gameStartResumeBtn{
  width:100%;
  min-height:50px;
  margin-top:11px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--ember-ui-coral),var(--ember-ui-rose));
  color:#fff;
  font-size:16px;
  font-weight:900;
}

.emberGamePage .appConfirmOverlay{
  position:fixed;
  inset:0;
  z-index:12000;
  padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
  background:rgba(0,0,0,.70);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  display:none;
  align-items:center;
  justify-content:center;
}

.emberGamePage .appConfirmOverlay.isVisible{
  display:flex;
}

.emberGamePage .appConfirmCard{
  width:min(390px,100%);
  padding:22px;
  border:1px solid var(--ember-ui-warm-border);
  border-radius:26px;
  background:linear-gradient(155deg,#24191d,#141014);
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.emberGamePage .appConfirmKicker{
  color:var(--ember-ui-coral-soft);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.emberGamePage .appConfirmTitle{
  margin-top:7px;
  color:var(--ember-ui-text);
  font-size:25px;
  font-weight:950;
  line-height:1.08;
  letter-spacing:-.5px;
}

.emberGamePage .appConfirmText{
  margin-top:10px;
  color:var(--ember-ui-muted);
  font-size:15px;
  line-height:1.45;
}

.emberGamePage .appConfirmActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px;
}

.emberGamePage .appConfirmActions button{
  min-height:50px;
  border-radius:16px;
  font-size:15px;
  font-weight:900;
}

.emberGamePage .appConfirmCancel{
  background:rgba(255,255,255,.075);
  border:1px solid var(--ember-ui-border);
  color:var(--ember-ui-text);
}

.emberGamePage .appConfirmOk{
  background:linear-gradient(135deg,var(--ember-ui-coral),var(--ember-ui-rose));
  border:0;
  color:#fff;
}

.emberGamePage .appConfirmOk.isDanger{
  background:linear-gradient(135deg,#d94f55,#9b303d);
}

.emberGamePage #flashOverlay{
  padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
}

.emberGamePage .timerDoneCard{
  width:min(360px,100%);
  padding:24px 20px;
  border:1px solid rgba(255,155,143,.25);
  border-radius:26px;
  background:linear-gradient(155deg,rgba(48,27,32,.98),rgba(20,14,17,.99));
  box-shadow:0 28px 80px rgba(0,0,0,.48);
  text-align:center;
}

.emberGamePage .timerDoneIcon{
  font-size:38px;
}

.emberGamePage .timerDoneTitle{
  margin-top:8px;
  color:var(--ember-ui-text);
  font-size:27px;
  font-weight:950;
}

.emberGamePage .timerDoneText{
  margin:7px 0 17px;
  color:var(--ember-ui-muted);
  font-size:14px;
}

.emberGamePage #flashConfirm{
  min-height:52px!important;
}

.emberLoginPage{
  background:
    radial-gradient(circle at 50% -8%,rgba(255,102,88,.20),transparent 38%),
    linear-gradient(180deg,#150d10,#070506 68%)!important;
}

.emberLoginPage .card{
  max-width:410px!important;
  padding:30px 22px 24px!important;
  border:1px solid var(--ember-ui-warm-border)!important;
  border-radius:28px!important;
  background:linear-gradient(155deg,rgba(42,28,32,.94),rgba(20,15,18,.98))!important;
  box-shadow:0 28px 80px rgba(0,0,0,.42)!important;
}

.emberLoginPage .loginLogo{
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:22px;
  box-shadow:0 15px 34px rgba(0,0,0,.35);
}

.emberLoginPage h1{
  color:var(--ember-ui-text)!important;
  font-size:31px!important;
  letter-spacing:-.8px;
}

.emberLoginPage button{
  min-height:54px;
  background:linear-gradient(135deg,var(--ember-ui-coral),var(--ember-ui-rose))!important;
}

.emberLoginPage .note{
  color:var(--ember-ui-soft)!important;
  font-size:13px!important;
  line-height:1.4;
}

.emberUiDialogOverlay{
  position:fixed;
  inset:0;
  z-index:20000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.emberUiDialogOverlay.isVisible{
  display:flex;
}

body.emberUiDialogOpen{
  overflow:hidden!important;
}

body.emberModalOpen{
  overflow:hidden!important;
}

.emberUiDialogCard{
  width:min(390px,100%);
  padding:22px;
  border:1px solid var(--ember-ui-warm-border);
  border-radius:26px;
  background:linear-gradient(155deg,#261a1f,#141014);
  box-shadow:0 30px 90px rgba(0,0,0,.58);
}

.emberUiDialogKicker{
  color:var(--ember-ui-coral-soft);
  font-size:11px;
  font-weight:900;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.emberUiDialogTitle{
  margin-top:7px;
  color:var(--ember-ui-text);
  font-size:24px;
  font-weight:950;
  line-height:1.1;
}

.emberUiDialogText{
  margin-top:10px;
  color:var(--ember-ui-muted);
  font-size:15px;
  line-height:1.45;
}

.emberUiDialogActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:20px;
}

.emberUiDialogActions.isNotice{
  grid-template-columns:1fr;
}

.emberUiDialogActions button{
  min-height:50px;
  border-radius:16px;
  font-size:15px;
  font-weight:900;
}

.emberUiDialogCancel{
  border:1px solid var(--ember-ui-border);
  background:rgba(255,255,255,.075);
  color:var(--ember-ui-text);
}

.emberUiDialogOk{
  border:0;
  background:linear-gradient(135deg,var(--ember-ui-coral),var(--ember-ui-rose));
  color:#fff;
}

.emberUiDialogOk.isDanger{
  background:linear-gradient(135deg,#d94f55,#9b303d);
}

.emberSectionPage .top{
  min-height:48px;
}

.emberSectionPage .card,
.emberSectionPage .settingsPanel,
.emberSectionPage .sparkSettingsPanel,
.emberSectionPage .sparkPoolEditorPanel{
  border-color:var(--ember-ui-warm-border)!important;
}

.emberSectionPage .primary,
.emberSectionPage .yes,
.emberSectionPage .ask,
.emberSectionPage .savePoolsBtn,
.emberSectionPage .sparkSaveBtn{
  box-shadow:0 12px 26px rgba(217,77,121,.14);
}

.emberLustPage .shell{
  padding-top:max(18px,env(safe-area-inset-top))!important;
  padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
}

.emberLustPage .secondaryBlock{
  border-color:rgba(255,155,143,.16)!important;
  background:rgba(255,102,88,.045)!important;
}

@media (orientation:landscape) and (max-height:600px){
  body.emberGamePage.emberStartActive{
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    transform:none!important;
  }

  body.emberGamePage.emberStartActive .shell{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }

  body.emberGamePage.emberStartActive #startView{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
}

@media(max-height:620px) and (max-width:500px){
  .emberGamePage.emberStartActive{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }

  .emberGamePage.emberStartActive .shell{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }

  .emberGamePage.emberStartActive #startView{
    height:auto!important;
    min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px)!important;
    grid-template-rows:auto 16px auto 18px auto!important;
    overflow:visible!important;
  }

  .emberGamePage.emberStartActive .startHero{
    display:flex!important;
    padding-right:54px!important;
  }

  .emberGamePage.emberStartActive .homeAction{
    min-height:52px!important;
  }

  .emberGamePage.emberStartActive .lustHomeCard{
    min-height:330px!important;
    height:auto!important;
  }

  .emberGamePage.emberStartActive .lustVoteBtn,
  .emberGamePage.emberStartActive .lustRequestBtn{
    min-height:44px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
