:root {
  --quest-night:#02091e;
  --quest-deep:#06163b;
  --quest-panel:#092c68;
  --quest-panel-dark:#051b4c;
  --quest-cyan:#55e8ff;
  --quest-cyan-soft:#b8f7ff;
  --quest-gold:#ffd65a;
  --quest-orange:#ff9828;
  --quest-cream:#fff6cf;
  --quest-text:#f7fdff;
  --quest-muted:#b9d6ec;
  --quest-border:rgba(84,218,255,.48);
}

html { background:var(--quest-night); }
body.world-page,
body.storybook-page,
body.quiz-page,
body.awards-page {
  min-height:100vh;
  color:var(--quest-text);
  background:
    radial-gradient(circle at 8% 16%,#56e5ff 0 1px,transparent 2px),
    radial-gradient(circle at 87% 11%,#ffe47d 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 74% 67%,#42dfff 0 1px,transparent 2px),
    radial-gradient(circle at 18% 82%,#fff 0 1px,transparent 2px),
    linear-gradient(145deg,#020718 0%,#071846 48%,#02091e 100%);
  background-attachment:fixed;
  background-size:190px 190px,260px 260px,320px 320px,240px 240px,auto;
}
body.world-page::before,
body.storybook-page::before,
body.quiz-page::before,
body.awards-page::before {
  content:"";
  position:fixed;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% -12%,rgba(39,111,255,.34),transparent 48%),linear-gradient(90deg,rgba(4,16,52,.76),transparent 14%,transparent 86%,rgba(4,16,52,.76));
}

body > header,
body > main,
body > footer { position:relative; z-index:1; }

.topbar {
  width:min(1480px,calc(100% - 32px));
  max-width:1480px;
  min-height:100px;
  margin:16px auto 12px;
  padding:12px 16px;
  border:1px solid var(--quest-border);
  border-radius:22px;
  color:var(--quest-text);
  background:linear-gradient(180deg,rgba(9,42,96,.94),rgba(4,21,61,.94));
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 10px 35px rgba(0,0,0,.32),0 0 28px rgba(34,163,255,.12);
  backdrop-filter:blur(16px);
}
.brand { min-width:78px; }
.brand-logo {
  width:76px;
  height:76px;
  object-fit:contain;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 0 8px rgba(45,214,255,.35)) drop-shadow(0 5px 8px rgba(0,0,0,.3));
}
.topbar nav { display:flex; align-items:center; justify-content:center; gap:7px; }
.topbar nav a {
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:18px;
  color:#d5efff;
  font-size:12px;
  text-decoration:none;
  transition:.18s transform,.18s color,.18s background,.18s border-color;
}
.topbar nav a:hover,
.topbar nav a:focus-visible {
  color:white;
  border-color:#398fdf;
  background:rgba(22,88,168,.5);
  outline:0;
  transform:translateY(-2px);
}
.topbar nav a.active-nav {
  color:#ffe77d!important;
  border-color:#e9b53e;
  background:linear-gradient(180deg,rgba(165,96,17,.72),rgba(95,50,10,.66));
  box-shadow:0 0 10px rgba(255,201,67,.22) inset,0 0 12px rgba(255,181,39,.14);
}
.header-actions { align-items:center; }
.profile-button,.language-toggle,.menu-button,.access-tools button {
  min-height:40px;
  border:1px solid #398fdf;
  color:white;
  background:linear-gradient(180deg,#174e9c,#102b68);
  box-shadow:0 0 8px rgba(51,195,255,.38) inset,0 0 9px rgba(41,150,255,.2);
}
.profile-button:hover,.language-toggle:hover,.menu-button:hover,.access-tools button:hover { color:#fff6bd; background:linear-gradient(180deg,#2269bd,#153c82); }

.world-wrap,.book-wrap,.quiz-wrap {
  width:min(1180px,calc(100% - 32px));
  max-width:1180px;
  margin:0 auto;
  padding-top:48px;
}
.world-wrap h1,.book-top h1,.quiz-hero h1 {
  color:var(--quest-cyan-soft);
  text-shadow:0 0 16px rgba(64,220,255,.3);
}
.world-wrap h2,.book-wrap h2,.quiz-wrap h2 { color:var(--quest-text); }
.eyebrow { color:var(--quest-cyan); }
.eyebrow span:first-child { color:var(--quest-gold); }
.world-lede,.book-top>div:first-child>p:last-child,.quiz-lobby-heading>p { color:var(--quest-muted); }

.button.primary,.send,.daily-challenge .button,.artifact-card .button {
  color:#fff;
  border:1px solid #ffe071;
  background:linear-gradient(180deg,#ffc541,#ed751a);
  box-shadow:0 4px 0 #8c3e0b,0 0 14px rgba(255,175,31,.4);
}
.button.primary:hover,.send:hover,.daily-challenge .button:hover,.artifact-card .button:hover { filter:brightness(1.08); transform:translateY(1px); }
.button.ghost { color:var(--quest-cyan-soft); }

/* Library and grown-up pages */
.trail-card,.reader,.parent-gate,.teacher-grid article,.daily-card {
  color:var(--quest-text);
  border:1px solid var(--quest-border);
  background:linear-gradient(155deg,rgba(9,48,106,.97),rgba(4,24,67,.97));
  box-shadow:0 18px 45px rgba(0,0,0,.3),0 0 18px rgba(30,169,255,.1);
}
.trail-card:hover { border-color:#ffe175; box-shadow:0 18px 35px rgba(0,0,0,.34),0 0 20px rgba(255,196,48,.16); }
.trail-card span,.reader-top>span {
  color:#ffe47a;
  border:1px solid #46dfff;
  background:linear-gradient(145deg,#126db4,#092e71);
  box-shadow:0 0 12px rgba(64,220,255,.3);
}
.trail-card small { color:var(--quest-gold); }
.trail-card h2 { color:var(--quest-text); }
.trail-card p,.reader>p,.teacher-grid p,.daily-card #dailyBody { color:var(--quest-muted); }
.fact-box,.daily-card aside {
  color:var(--quest-cream);
  border:1px solid rgba(255,205,75,.38);
  background:rgba(119,70,12,.38);
}
.fact-box p,.daily-card aside p { color:#dbeeff; }
.parent-gate input {
  color:white;
  border:1px solid #438bd0;
  background:#061b49;
}
.parent-gate input:focus { outline:2px solid var(--quest-gold); outline-offset:2px; }
.clear-profile { color:#ffbd77!important; }

/* Daily story */
.daily-card h2 { color:var(--quest-gold); }
.daily-source { color:var(--quest-cyan); }
.daily-image { border:1px solid var(--quest-border); box-shadow:0 0 22px rgba(41,190,255,.18); }
.daily-challenge { border:1px solid rgba(77,220,255,.45); background:linear-gradient(145deg,#0b3779,#051c4f); }
.daily-note { color:#9fc7df; }

/* Quiz arena */
.quiz-hero {
  border:1px solid var(--quest-border);
  background:linear-gradient(125deg,rgba(8,48,108,.98),rgba(12,91,145,.96));
  box-shadow:0 20px 48px rgba(0,0,0,.34),0 0 24px rgba(32,190,255,.14);
}
.quiz-hero .eyebrow { color:var(--quest-gold); }
.quiz-hero p:not(.eyebrow) { color:#d8efff; }
.quiz-hero-orb {
  border-color:rgba(100,236,255,.34);
  color:#08245b;
  background:linear-gradient(145deg,#ffe77a,#ff9d21);
  box-shadow:0 0 26px rgba(255,189,49,.36);
}
.quiz-card {
  color:var(--quest-text);
  border-color:var(--quest-border);
  background:linear-gradient(150deg,#0b397d,#061d51);
  box-shadow:0 10px 24px rgba(0,0,0,.27);
}
.quiz-card::after { background:rgba(83,224,255,.06); }
.quiz-card:hover { border-color:#ffe071; box-shadow:0 16px 34px rgba(0,0,0,.35),0 0 18px rgba(60,213,255,.13); }
.quiz-card-copy small,.quiz-card-copy em { color:var(--quest-muted); }
.quiz-card-copy strong { color:white; }
.quiz-card-arrow { color:var(--quest-gold); }
.quiz-card-icon,.quiz-stage-icon { color:#062050; box-shadow:0 0 12px rgba(255,201,55,.2); }
.quiz-card span { margin-bottom:0; }
.quiz-card .quiz-card-icon { width:62px; height:62px; flex:0 0 62px; }
.quiz-card .quiz-card-copy { width:auto; height:auto; flex:1; place-items:initial; border-radius:0; background:transparent; }
.quiz-card .quiz-card-arrow { width:auto; height:auto; flex:0 0 auto; place-items:center; border-radius:0; background:transparent; }
.quiz-back { color:var(--quest-cyan); }
.quiz-stage-top p,.quiz-stage-top>strong,.quiz-stage-top>strong small { color:var(--quest-muted); }
.quiz-steps i { background:#173e77; }
.question-card,.quiz-finish {
  color:var(--quest-text);
  border-color:var(--quest-border);
  background:linear-gradient(155deg,#0a3475,#041a4a);
  box-shadow:0 18px 42px rgba(0,0,0,.35);
}
.question-prompt { color:var(--quest-gold); }
.quiz-choice {
  color:#eaf8ff;
  border-color:#2d72b7;
  background:#08265a;
}
.quiz-choice>span { color:#ffe47a; background:#16427a; }
.quiz-choice:hover:not(:disabled) { border-color:#ffe071; background:#163c72; }
.quiz-choice.correct { border-color:#71e391; background:#19714a; }
.quiz-choice.wrong { color:#fff1ee; border-color:#ff9c84; background:#7d3440; }
.quiz-feedback { color:#8ef5ff; }
.quiz-finish>p:not(.eyebrow) { color:var(--quest-muted); }
.rank-reveal { color:#082551; background:#ffe077; }

/* Storybook */
.book-top {
  padding:25px 28px;
  border:1px solid var(--quest-border);
  border-radius:23px;
  background:linear-gradient(150deg,rgba(10,51,111,.95),rgba(4,23,66,.95));
  box-shadow:0 16px 38px rgba(0,0,0,.25);
}
.paper-page {
  color:var(--quest-text);
  border-color:#2f86d0;
  border-radius:18px;
  background:#061b49;
  box-shadow:18px 20px 0 #031232,0 28px 50px rgba(0,0,0,.42),0 0 22px rgba(32,184,255,.12);
}
.paper-page::after { background:linear-gradient(90deg,transparent,#2f72a9,transparent); }
.book-copy { background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(90,218,255,.035) 29px); }
.book-copy #bookText { color:#c4deef; }
.book-fact { color:#e8f5ff; border:1px solid rgba(255,208,75,.38); background:rgba(113,66,11,.38); }
.book-fact span { color:var(--quest-gold); }
.book-image span { color:#092353; background:#ffe176; }
.page-number { color:#8fb7d5; }
.page-arrow { border:1px solid #ffe071; color:#fff; background:linear-gradient(180deg,#ffbd35,#e56a16); box-shadow:0 0 14px rgba(255,176,30,.36); }
.chapter-button {
  color:var(--quest-muted);
  border-color:#286fb1;
  background:#071f52;
}
.chapter-button small { color:var(--quest-gold); }
.chapter-button span { color:#eaf8ff; }
.chapter-button.active { border-color:#ffe071; background:linear-gradient(150deg,#13569b,#113772); box-shadow:0 0 14px rgba(255,196,41,.15); }
.place-card,.artifact-card {
  color:var(--quest-text);
  border-color:var(--quest-border);
  background:linear-gradient(155deg,#0a3475,#041a4a);
  box-shadow:0 16px 35px rgba(0,0,0,.28);
}
.place-passport { background:#0b285d; }
.place-compass { color:#ffe477; background:#1267ad; }
.place-passport strong { color:white; }
.place-passport p,.place-result,.artifact-card>p { color:var(--quest-muted); }
.place-choice { color:#eaf8ff; border-color:#3274b4; background:#08265a; }
.place-choice:hover { background:#15427b; }
.place-choice.correct { border-color:#76e899; background:#1b754d; }
.place-choice.wrong { border-color:#ff9b85; background:#7c3340; }
.artifact-card>span { color:#08224f; background:var(--quest-gold); }

/* Awards */
.rank-card {
  border:1px solid var(--quest-border);
  background:linear-gradient(145deg,#0c3b7d,#061d50);
  box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.rank-card p { color:var(--quest-muted); }
.rank-star { color:#ffe071; border:1px solid #3fd9ff; background:#0b5ca1; box-shadow:0 0 16px rgba(55,218,255,.27); }
.badge {
  color:var(--quest-text);
  border-color:#2e75b8;
  background:linear-gradient(150deg,#0a3371,#061d50);
}
.badge small { color:var(--quest-muted); }
.badge.earned { border-color:#ffe071; background:linear-gradient(150deg,#705014,#143c76); box-shadow:0 0 16px rgba(255,197,45,.14); }
.privacy-note { color:#c4deee; border-left-color:var(--quest-cyan); background:#09285c; }
.privacy-note a { color:#ffe071; }

/* Profile modal */
.profile-modal { background:rgba(1,7,25,.78); backdrop-filter:blur(9px); }
.profile-card {
  color:var(--quest-text);
  border:1px solid var(--quest-border);
  background:linear-gradient(155deg,#0a3475,#041a4a);
  box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 22px rgba(38,200,255,.13);
}
.profile-star { color:#08214c; background:var(--quest-gold); }
.profile-card>p:not(.eyebrow) { color:var(--quest-muted); }
.profile-card input { color:white; border-color:#3278b8; background:#061c4b; }
.age-choice { border-color:#377ec0; color:#d8efff; background:#07265b; }
.age-choice:hover,.age-choice.selected { border-color:#ffe071; background:#124b8e; }
.skip-profile { color:#aacde5; }

.topbar .menu-button { display:none; }
@media (max-width:760px) {
  .topbar { width:calc(100% - 18px); min-height:76px; padding:10px; }
  .brand { min-width:54px; }
  .brand-logo { width:54px; height:54px; border-radius:11px; }
  .topbar nav { display:none; }
  .topbar .menu-button { display:grid; }
  .topbar.menu-open nav {
    top:72px;
    right:10px;
    left:10px;
    border-color:var(--quest-border);
    background:rgba(4,22,62,.98);
  }
  .topbar.menu-open nav a { color:#d9f2ff; }
  .topbar.menu-open nav a:hover,.topbar.menu-open nav a:focus-visible { color:white; background:#15519a; }
  .world-wrap,.book-wrap,.quiz-wrap { width:calc(100% - 18px); padding-top:30px; }
  .world-wrap h1,.book-top h1 { font-size:clamp(40px,12vw,56px); }
  .book-top { padding:21px; }
  .paper-page { box-shadow:0 20px 42px rgba(0,0,0,.4); }
  .quiz-hero { padding:28px 22px; }
}

@media (max-width:420px) {
  .quiz-hero-orb { display:none; }
  .rank-card { padding:22px; }
  .rank-star { width:58px; height:58px; }
}

@media print {
  body.world-page,body.storybook-page,body.quiz-page,body.awards-page { color:#173c59; background:white!important; }
  body.world-page::before,body.storybook-page::before,body.quiz-page::before,body.awards-page::before { display:none!important; }
  .certificate { color:white; }
}
