/* Entry assets load before React. Identity/progress/reveal stay owned by index.html. */
.entry-world{min-height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;padding:220px 24px 80px;box-sizing:border-box;color:#203653;color-scheme:light;background:#f8f4e9 url('/worlds/day-arena.webp?v=409') center top/cover fixed;font-family:Rubik,Assistant,sans-serif}
.entry-world__shade{position:fixed;inset:0;z-index:-1;background:linear-gradient(transparent 20%,#fff9ef33 48%,#fff9ef88)}
.entry-card{width:min(100%,490px);padding:34px;text-align:center;border-radius:28px;background:#fffdf5ed;border:1px solid #fff;box-shadow:0 18px 55px #69563524,inset 0 0 0 5px #e4d6b533;backdrop-filter:blur(12px);box-sizing:border-box}
.entry-eyebrow{display:block;color:#617963;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:16px}
.entry-title{font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.2;margin:0 0 18px;color:#203653}
.entry-description{font-size:17px;line-height:1.7;color:#55647a;margin:0}
.entry-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;margin:26px 0 16px;border:1px solid #254ca4;border-radius:16px;background:#3261c3;color:white;font:700 17px Rubik,Assistant,sans-serif;box-shadow:0 5px 0 #23468e;cursor:pointer;transition:transform .2s,background .2s}
.entry-google svg{background:white;padding:5px;box-sizing:content-box;border-radius:50%}
.entry-google:hover{background:#234fae;transform:translateY(-2px)}
.entry-google:active{transform:translateY(3px);box-shadow:0 2px 0 #23468e}
.entry-google:focus-visible{outline:3px solid #ba841b;outline-offset:6px}
.entry-note{font-size:12px;line-height:1.6;color:#657184;margin:18px 0 0}
.entry-world__caption{position:absolute;bottom:26px;font-size:13px;color:#365342;font-weight:700}
.entry-world--permission{padding-top:180px}
.entry-world--permission .entry-card{width:min(100%,760px);padding:24px}
.entry-world .access-gate-v204{height:auto;min-height:0;background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
.entry-world .access-gate-v204__brand img{max-height:64px;width:auto;margin:auto}
.entry-world .access-gate-v204__panel{background:transparent;box-shadow:none;border:0;padding:16px 0 0}
.entry-world .access-gate-v204__title{color:#203653;font-size:clamp(24px,3vw,34px)}
.entry-world .access-gate-v204__subtitle,.entry-world .access-gate-v204__help,.entry-world .access-gate-v204__step p{color:#55647a}
.entry-world .access-gate-v204__step{background:#f5f1e7;color:#203653;box-shadow:none;border:1px solid #e4dccb}
.entry-world .access-gate-v204__secondary{color:#234fae;background:#eef2fc;min-height:48px}
@media(max-width:600px){.entry-world{background-image:url('/worlds/day-arena-mobile.webp?v=409');padding:260px 18px 64px;align-items:center}.entry-card{padding:26px 22px;border-radius:24px}.entry-title{font-size:30px}.entry-description{font-size:15px}.entry-world--permission{padding-top:190px}.entry-world--permission .entry-card{padding:18px}.entry-world .access-gate-v204__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.entry-world .access-gate-v204__step{padding:10px 5px}.entry-world .access-gate-v204__step h3{font-size:12px}.entry-world .access-gate-v204__step p{font-size:11px}.entry-world .access-gate-v204__help{font-size:12px}}
@media(max-height:650px){.entry-world{padding-top:150px;padding-bottom:50px}.entry-card{padding:20px}.entry-world__caption{bottom:16px}}
@media(prefers-reduced-motion:reduce){.entry-google{transition:none}}

/* v409 — single loading-screen implementation. */
html:root body #chagai-preloader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
  color: #173d77 !important;
  background: #f3dfba url('/worlds/loading-book-v443.webp?v=459') center center / cover no-repeat !important;
  font-family: Rubik, Assistant, Arial, sans-serif !important;
  color-scheme: light !important;
}
html:root body #chagai-preloader::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: rgba(255,249,236,.055) !important;
  backdrop-filter: saturate(.88) contrast(.98) !important;
  -webkit-backdrop-filter: saturate(.88) contrast(.98) !important;
}
html:root body #chagai-preloader::after,
html:root body #chagai-preloader .chagai-loader__reveal-edge,
html:root body #chagai-rocket-layer,
html:root body #chagai-preloader :is(.chagai-loader__cards,.chagai-loader__logo-wrap,.chagai-loader__subtitle,.chagai-loader__hero-head,.chagai-loader__meta-copy,.chagai-loader__dice,.chagai-loader__controller,.chagai-loader__trophy,.chagai-loader__cloud) {
  display: none !important;
}
html:root body #chagai-preloader .chagai-loader__content.chagai-loader__content--book {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
html:root body #chagai-preloader .chagai-loader__welcome {
  position: absolute !important;
  left: 15.7% !important;
  top: 34.3% !important;
  width: 34.8% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(12px, 1.25vh, 18px) !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html:root body #chagai-preloader .chagai-loader__avatar-shell,
html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic {
  width: clamp(86px, 7.35vw, 116px) !important;
  height: clamp(86px, 7.35vw, 116px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid rgba(227,169,62,.78) !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg,#fffef9,#f2dfb8) !important;
  box-shadow:
    0 0 0 5px rgba(255,253,243,.90),
    0 0 0 7px rgba(211,150,45,.34),
    0 12px 24px rgba(74,44,9,.16) !important;
}
html:root body #chagai-preloader .chagai-loader__avatar {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 50% !important;
}
html:root body #chagai-preloader .chagai-loader__avatar-fallback {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg,#b9ddff,#edf7ff) !important;
}
html:root body #chagai-preloader .chagai-loader__avatar-shell:not(.is-generic) .chagai-loader__avatar-fallback { display: none !important; }
html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic .chagai-loader__avatar { opacity: 0 !important; }
html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic .chagai-loader__avatar-fallback::before {
  content: '●' !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 42% !important;
  transform: translateY(-18%) !important;
}
html:root body #chagai-preloader .chagai-loader__welcome-copy {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
html:root body #chagai-preloader .chagai-loader__title {
  position: relative !important;
  display: grid !important;
  justify-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 52px 12px !important;
  color: #173d77 !important;
  text-align: center !important;
  line-height: .98 !important;
}
html:root body #chagai-preloader .chagai-loader__title::before,
html:root body #chagai-preloader .chagai-loader__title::after {
  content: '❧' !important;
  position: absolute !important;
  top: 46% !important;
  color: #c9821f !important;
  font: 400 clamp(25px,2vw,34px)/1 Georgia, serif !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.75) !important;
  opacity: .92 !important;
}
html:root body #chagai-preloader .chagai-loader__title::before { right: 10px !important; transform: translateY(-50%) rotate(18deg) !important; }
html:root body #chagai-preloader .chagai-loader__title::after { left: 10px !important; transform: translateY(-50%) scaleX(-1) rotate(18deg) !important; }
html:root body #chagai-preloader .chagai-loader__title-kicker,
html:root body #chagai-preloader .chagai-loader__title-name {
  font-family: 'Heebo', 'Secular One', Rubik, Assistant, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
  letter-spacing: -.035em !important;
  paint-order: stroke fill !important;
}
html:root body #chagai-preloader .chagai-loader__title-kicker {
  display: block !important;
  color: #1a478c !important;
  font-size: clamp(27px, 2.45vw, 39px) !important;
  font-weight: 800 !important;
  line-height: 1.01 !important;
  letter-spacing: -.02em !important;
  -webkit-text-stroke: .55px rgba(9,47,99,.15) !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.92),
    0 4px 0 rgba(213,159,53,.16),
    0 8px 16px rgba(31,68,115,.10) !important;
}
html:root body #chagai-preloader .chagai-loader__title-name {
  display: block !important;
  margin-top: 1px !important;
  color: #0f3a80 !important;
  font-size: clamp(42px, 4.25vw, 66px) !important;
  font-weight: 400 !important;
  line-height: .94 !important;
  -webkit-text-stroke: 1px rgba(8,43,92,.22) !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.96),
    0 5px 0 rgba(208,151,43,.20),
    0 9px 18px rgba(22,58,105,.14) !important;
}
html:root body #chagai-preloader .chagai-loader__title-name::after {
  content: '⌁' !important;
  display: block !important;
  margin: 6px auto -2px !important;
  color: #d18b22 !important;
  font: 700 25px/1 Georgia, serif !important;
  letter-spacing: .08em !important;
  transform: scaleX(1.9) !important;
  opacity: .9 !important;
}
html:root body #chagai-preloader .chagai-loader__launch-line {
  position: absolute !important;
  left: 17.6% !important;
  top: 62.6% !important;
  width: 31.2% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html:root body #chagai-preloader .chagai-loader__progress-shell {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html:root body #chagai-preloader .chagai-loader__progress-track {
  position: relative !important;
  width: 100% !important;
  height: clamp(16px, 1.45vw, 21px) !important;
  overflow: hidden !important;
  border: 2px solid rgba(201,134,35,.72) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg,rgba(255,252,239,.94),rgba(235,218,183,.91)) !important;
  box-shadow:
    0 0 0 3px rgba(255,250,231,.70),
    inset 0 2px 5px rgba(77,49,11,.12),
    0 5px 12px rgba(74,44,9,.08) !important;
}
html:root body #chagai-preloader .chagai-loader__progress-bar {
  position: absolute !important;
  inset: 2px auto 2px 2px !important;
  width: calc(var(--loader-progress,7%) - 4px) !important;
  min-width: 8px !important;
  height: auto !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg,#35b2ff 0%,#1682f2 48%,#0f67d9 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.45),
    inset 0 -2px 0 rgba(4,64,159,.18),
    0 0 10px rgba(43,145,255,.28) !important;
  transition: width .12s linear !important;
}
html:root body #chagai-preloader .chagai-loader__progress-bar::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg,transparent 20%,rgba(255,255,255,.62) 50%,transparent 78%) !important;
  transform: translateX(-110%) !important;
  animation: chagai-loader-shine 1.55s ease-in-out infinite !important;
}
html:root body #chagai-preloader .chagai-loader__progress-meta {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 30px !important;
  margin: 8px 0 0 !important;
  padding: 0 72px !important;
}
html:root body #chagai-preloader .chagai-loader__progress-meta::before,
html:root body #chagai-preloader .chagai-loader__progress-meta::after {
  content: '◆' !important;
  color: #d18b22 !important;
  font-size: 10px !important;
  opacity: .9 !important;
}
html:root body #chagai-preloader .chagai-loader__progress-meta::before { margin-left: 17px !important; }
html:root body #chagai-preloader .chagai-loader__progress-meta::after { margin-right: 17px !important; }
html:root body #chagai-preloader .chagai-loader__percent {
  min-width: 82px !important;
  color: #123f82 !important;
  font-family: 'Secular One', Rubik, Assistant, Arial, sans-serif !important;
  font-size: clamp(22px, 2.08vw, 32px) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .01em !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.9), 0 4px 10px rgba(31,68,115,.1) !important;
}
html:root body #chagai-preloader .chagai-loader__status-pill { display: none !important; }

@keyframes chagai-loader-shine { 0% { transform: translateX(-110%); } 55%,100% { transform: translateX(135%); } }

@media (max-width: 900px) and (orientation: portrait) {
  html:root body #chagai-preloader {
    background-image: url('/worlds/loading-book-mobile-v443.webp?v=459') !important;
    background-position: center top !important;
    background-size: cover !important;
  }
  html:root body #chagai-preloader .chagai-loader__welcome {
    left: 17.2% !important;
    top: 35.0% !important;
    width: 65.8% !important;
    gap: 10px !important;
  }
  html:root body #chagai-preloader .chagai-loader__avatar-shell,
  html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic {
    width: clamp(76px, 20.5vw, 94px) !important;
    height: clamp(76px, 20.5vw, 94px) !important;
    padding: 4px !important;
  }
  html:root body #chagai-preloader .chagai-loader__title {
    padding: 0 36px 12px !important;
  }
  html:root body #chagai-preloader .chagai-loader__title::before,
  html:root body #chagai-preloader .chagai-loader__title::after {
    font-size: 22px !important;
  }
  html:root body #chagai-preloader .chagai-loader__title-kicker {
    font-size: clamp(25px, 6.9vw, 32px) !important;
  }
  html:root body #chagai-preloader .chagai-loader__title-name {
    font-size: clamp(35px, 9.6vw, 46px) !important;
  }
  html:root body #chagai-preloader .chagai-loader__title-name::after {
    margin-top: 5px !important;
    font-size: 20px !important;
  }
  html:root body #chagai-preloader .chagai-loader__launch-line {
    left: 20.2% !important;
    top: 56.5% !important;
    width: 59.8% !important;
  }
  html:root body #chagai-preloader .chagai-loader__progress-track {
    height: 16px !important;
    border-width: 2px !important;
  }
  html:root body #chagai-preloader .chagai-loader__progress-meta {
    margin-top: 9px !important;
    padding: 0 30px !important;
  }
  html:root body #chagai-preloader .chagai-loader__percent {
    min-width: 66px !important;
    font-size: 24px !important;
  }
}

@media (max-height: 720px) and (max-width: 700px) {
  html:root body #chagai-preloader .chagai-loader__welcome { top: 34.5% !important; }
  html:root body #chagai-preloader .chagai-loader__launch-line { top: 56.1% !important; }
}

@media (prefers-reduced-motion: reduce) {
  html:root body #chagai-preloader .chagai-loader__progress-bar::after { animation: none !important; }
}

/* v426: text and artwork share the exact same cover coordinate frame. */
html:root body #chagai-preloader {
 --loader-scene-w:max(100vw,calc(100dvh * 1124 / 992));
 --loader-scene-h:max(100dvh,calc(100vw * 992 / 1124));
 border-radius:0 !important;
}
html:root body #chagai-preloader .chagai-loader__content.chagai-loader__content--book {
 inset:auto !important; left:50% !important; top:calc((100dvh - var(--loader-scene-h)) / 2) !important;
 width:var(--loader-scene-w) !important; height:var(--loader-scene-h) !important; transform:translateX(-50%) !important;
}
html:root body #chagai-preloader .chagai-loader__welcome { top:35.5% !important; }
@media (max-width:900px) and (orientation:portrait) {
 html:root body #chagai-preloader { --loader-scene-w:max(100vw,calc(100dvh * 436 / 992)); --loader-scene-h:max(100dvh,calc(100vw * 992 / 436)); }
 html:root body #chagai-preloader .chagai-loader__content.chagai-loader__content--book { top:0 !important; }
 html:root body #chagai-preloader .chagai-loader__welcome { top:37% !important; gap:6px !important; }
 html:root body #chagai-preloader .chagai-loader__avatar-shell,
 html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic { width:clamp(68px,18vw,84px) !important; height:clamp(68px,18vw,84px) !important; }
 html:root body #chagai-preloader .chagai-loader__title { padding:0 20px 6px !important; }
 html:root body #chagai-preloader .chagai-loader__title-kicker { font-size:clamp(22px,6.2vw,29px) !important; }
 html:root body #chagai-preloader .chagai-loader__title-name { font-size:clamp(32px,8.6vw,40px) !important; }
 html:root body #chagai-preloader .chagai-loader__title-name::after { display:none !important; }
 html:root body #chagai-preloader .chagai-loader__launch-line { top:56.5% !important; }
}

html:root body #chagai-preloader, html:root body #chagai-preloader * { box-sizing:border-box !important; }
html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic .chagai-loader__avatar { display:none !important; }
@media (max-width:900px) and (orientation:landscape) {
 html:root body #chagai-preloader .chagai-loader__welcome { gap:6px !important; }
 html:root body #chagai-preloader .chagai-loader__avatar-shell,
 html:root body #chagai-preloader .chagai-loader__avatar-shell.is-generic { width:64px !important; height:64px !important; }
 html:root body #chagai-preloader .chagai-loader__title { padding:0 20px 6px !important; }
 html:root body #chagai-preloader .chagai-loader__title-kicker { font-size:22px !important; }
 html:root body #chagai-preloader .chagai-loader__title-name { font-size:34px !important; }
 html:root body #chagai-preloader .chagai-loader__title-name::after { display:none !important; }
}

/* v432: balanced avatar and greeting within the blank book page. */
html:root body #chagai-preloader .chagai-loader__welcome {top:40% !important;gap:10px !important;}
html:root body #chagai-preloader :is(.chagai-loader__avatar-shell,.chagai-loader__avatar-shell.is-generic) {width:clamp(72px,6vw,104px) !important;height:clamp(72px,6vw,104px) !important;}
html:root body #chagai-preloader .chagai-loader__title {padding:0 16px !important;line-height:1.1 !important;}
html:root body #chagai-preloader .chagai-loader__title::before,
html:root body #chagai-preloader .chagai-loader__title::after,
html:root body #chagai-preloader .chagai-loader__title-name::after {display:none !important;}
html:root body #chagai-preloader .chagai-loader__title-kicker {font-size:clamp(24px,1.9vw,34px) !important;line-height:1.15 !important;}
html:root body #chagai-preloader .chagai-loader__title-name {font-size:clamp(36px,3.2vw,56px) !important;line-height:1.1 !important;margin-top:4px !important;}
html:root body #chagai-preloader :is(.chagai-loader__avatar-shell,.chagai-loader__avatar-shell.is-generic) {animation:chagai-avatar-arrive .55s ease-out both;}
html.chagai-app-reveal #root {animation:chagai-soft-arrive .55s ease-out both;}
@keyframes chagai-avatar-arrive {from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
@keyframes chagai-soft-arrive {from{opacity:.45;}to{opacity:1;}}
@media(max-width:900px) and (orientation:portrait) {
 html:root body #chagai-preloader .chagai-loader__welcome {top:38% !important;gap:6px !important;}
 html:root body #chagai-preloader :is(.chagai-loader__avatar-shell,.chagai-loader__avatar-shell.is-generic) {width:clamp(60px,16vw,78px) !important;height:clamp(60px,16vw,78px) !important;}
 html:root body #chagai-preloader .chagai-loader__title-kicker {font-size:clamp(20px,6vw,27px) !important;}
 html:root body #chagai-preloader .chagai-loader__title-name {font-size:clamp(30px,8.4vw,38px) !important;}
}
@media(max-width:900px) and (orientation:landscape) {
 html:root body #chagai-preloader .chagai-loader__welcome {top:38% !important;gap:5px !important;}
 html:root body #chagai-preloader :is(.chagai-loader__avatar-shell,.chagai-loader__avatar-shell.is-generic) {width:56px !important;height:56px !important;}
 html:root body #chagai-preloader .chagai-loader__title-kicker {font-size:21px !important;}
 html:root body #chagai-preloader .chagai-loader__title-name {font-size:30px !important;}
}
@media(prefers-reduced-motion:reduce) {
 html.chagai-app-reveal #root,html:root body #chagai-preloader :is(.chagai-loader__avatar-shell,.chagai-loader__avatar-shell.is-generic) {animation:none !important;}
}
html[data-motion="off"].chagai-app-reveal #root,
html[data-motion="off"] body #chagai-preloader .chagai-loader__avatar-shell,
html[data-motion="off"] body #chagai-preloader .chagai-loader__progress-bar::after {animation:none !important;}

/* v433: lower the portrait into the open page, clear of its upper frame. */
@media(min-width:901px) {
 html:root body #chagai-preloader .chagai-loader__welcome {top:42% !important;}
}
