/* Expanded world-entry menu. Local Home trial, not a replacement for the desktop dock. */
#public-home #aknav-mobile[data-ak-menu=worlds] {
  --menu-floor: color-mix(in srgb, var(--aku-sky-2) 90%, var(--aku-accent));
  --menu-edge: color-mix(in srgb, var(--aku-line) 72%, var(--aku-text));
  --menu-shadow: color-mix(in srgb, var(--aku-night) 65%, transparent);
  box-sizing: border-box;
  padding: 20px max(20px, calc((100% - 648px) / 2)) 28px;
  background: none !important;
  color: var(--aku-text);
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-padding-block: 72px 24px;
  isolation: isolate;
}
#public-home > #ak-menu-sky {
  --menu-floor: color-mix(in srgb, var(--aku-sky-2) 90%, var(--aku-accent));
  position: fixed; inset: var(--home-header-height,var(--ak-shell-height)) 0 0;
  z-index: 999; width: auto; height: auto;
  background: radial-gradient(ellipse at 85% 2%, color-mix(in srgb, var(--aku-primary) 13%, transparent), transparent 45%), linear-gradient(var(--aku-sky-3), var(--menu-floor)) !important;
  pointer-events: none; contain: paint;
}
#public-home > #ak-menu-sky[hidden] { display: none !important; }
#public-home > #ak-menu-sky i { opacity: .7; }
#public-home > #ak-menu-sky *,
#public-home > #ak-menu-sky *::before,
#public-home > #ak-menu-sky *::after { animation: none !important; pointer-events: none !important; }
/* Home hides the shared sun in favour of its hero sun. That hero is behind
   this dialog, so its local sky needs its own visible daylight sun. */
html[data-theme=light] #public-home > #ak-menu-sky .ak-sun { display: block !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] :is(.ak-mobile-worlds,.ak-mobile-account-slot) { position: relative; z-index: 1; }
/* Legacy site-nav hides the panel above1080px, while the shared burger remains
   visible through1180px. Native [hidden] remains the sole open-state owner. */
#public-home #aknav-mobile[data-ak-menu=worlds]:not([hidden]) { display: block !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-heading {
  position: sticky; top: -20px; z-index: 3; margin: -2px -8px 18px; padding: 8px;
  background: color-mix(in srgb,var(--aku-sky-3) 86%,transparent); backdrop-filter: blur(16px); border-radius: 22px;
  color: var(--aku-text); font: 700 24px/1.45 var(--aku-font-head);
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-close {
  flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px;
  border-radius: 50%; border: 1px solid var(--menu-edge); padding: 0;
  background: var(--aku-sky-1); color: var(--aku-text);
  font: 600 18px/1 var(--aku-font-body); transition: rotate 200ms, background 200ms;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-close:hover { rotate: 12deg; background: var(--menu-floor); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-mobile-worlds {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .aknav-link {
  box-sizing: border-box; position: relative; width: auto; height: auto;
  min-width: 0; margin: 0; white-space: normal; text-decoration: none;
  color: var(--aku-text) !important; font-family: var(--aku-font-body);
  translate: none !important; transform-style: flat !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .aknav-link::before,
#public-home #aknav-mobile[data-ak-menu=worlds] .aknav-link::after { content: none !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px;
  min-height: 48px; padding: 6px 14px; border-radius: 999px;
  border: 1px solid var(--menu-edge) !important;
  background: color-mix(in srgb, var(--aku-primary) 9%, var(--aku-sky-3)) !important;
  box-shadow: 0 3px 0 color-mix(in srgb, var(--aku-line) 38%, transparent) !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick[aria-current=page] { border-color: var(--aku-primary) !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick-art { width: 28px; height: 30px; object-fit: contain; transition: transform 200ms; animation: akMenuFloat 6s ease-in-out infinite; }
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=home] .ak-menu-quick-art { border-radius: 50%; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-here { font: 500 13px/1.45 var(--aku-font-body); color: var(--aku-copy); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world {
  --world: var(--aku-w-finance);
  display: grid; grid-template-columns: minmax(0, 1fr) 28px; grid-template-rows: 124px auto;
  gap: 12px 8px; align-items: center; align-content: start;
  min-height: 204px; padding: 12px 22px 22px; border-radius: 48% 48% 28px 28px;
  border: 1px solid color-mix(in srgb, var(--world) 66%, var(--aku-line)) !important;
  background: radial-gradient(ellipse at 50% 22%, color-mix(in srgb, var(--world) 26%, var(--aku-sky-1)), transparent 76%), linear-gradient(155deg, var(--aku-sky-2), color-mix(in srgb, var(--world) 16%, var(--aku-sky-3))) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--world) 55%, var(--aku-text)), 0 5px 0 color-mix(in srgb, var(--world) 40%, var(--aku-sky-3)), 0 14px 26px var(--menu-shadow) !important;
  transition: border-color 200ms, box-shadow 200ms;
}
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=knowledge] { --world: var(--aku-w-knowledge); }
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=focus] { --world: var(--aku-primary); }
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=interests] { --world: var(--aku-r2); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-art {
  grid-column: 1 / -1; position: relative; display: grid; place-items: center; height: 124px; min-width: 0;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-art::before {
  content: ''; position: absolute; width: 132px; height: 100px; border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--world) 50%, transparent);
  background: radial-gradient(ellipse at 50% 88%, color-mix(in srgb, var(--world) 32%, transparent), transparent 70%);
  box-shadow: 0 0 24px color-mix(in srgb, var(--world) 15%, transparent);
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-mascot {
  position: relative; display: block; width: 120px; max-width: calc(100% - 12px); height: 108px; object-fit: contain;
  filter: drop-shadow(0 6px 6px var(--menu-shadow));
  animation: akMenuFloat 5s ease-in-out infinite; transition: transform 240ms;
}
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=knowledge] .ak-menu-mascot { animation-delay: -.8s; }
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=focus] .ak-menu-mascot { animation-delay: -1.6s; }
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=interests] .ak-menu-mascot { animation-delay: -2.4s; }
#public-home #aknav-mobile[data-art=pixel] .ak-menu-mascot { image-rendering: pixelated; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-copy { display: grid; min-width: 0; gap: 4px; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-title { color: var(--aku-text); font: 700 19px/1.45 var(--aku-font-head); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick .ak-menu-title { font-size: 16px; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-sub { color: var(--aku-copy); font: 400 14px/1.5 var(--aku-font-body); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-arrow {
  display: grid; place-items: center; width: 28px; height: 28px; align-self: center;
  border-radius: 50%; border: 1px solid var(--menu-edge); background: var(--aku-sky-3);
  color: var(--aku-text); font: 600 18px/1 var(--aku-font-body); transition: transform 200ms, background 200ms;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world:is(:hover,:focus-visible) { border-color: var(--world) !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world:is(:hover,:focus-visible) .ak-menu-mascot { transform: translateY(-2px) rotate(-3deg); }
#public-home #aknav-mobile[data-ak-menu=worlds] .aknav-link:is(:hover,:focus-visible) .ak-menu-arrow { transform: translateX(3px); background: color-mix(in srgb, var(--world,var(--aku-w-contact)) 28%, var(--aku-sky-3)); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick:is(:hover,:focus-visible) .ak-menu-quick-art { transform: rotate(-8deg); }
#public-home #aknav-mobile[data-ak-menu=worlds] :is(a,button):focus-visible { outline: 3px solid var(--aku-primary); outline-offset: 4px; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-contact {
  grid-column: 1 / -1; display: grid; grid-template-columns: 38px minmax(0, 1fr) 28px;
  align-items: center; gap: 14px; min-height: 70px; padding: 12px 20px; border-radius: 24px;
  border: 1px solid color-mix(in srgb, var(--aku-w-contact) 65%, var(--aku-line)) !important;
  background: linear-gradient(115deg, color-mix(in srgb, var(--aku-w-contact) 18%, var(--aku-sky-2)), var(--aku-sky-3)) !important;
  box-shadow: inset 3px 0 var(--aku-w-contact), 0 5px 15px var(--menu-shadow) !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-logo { width: 34px; height: 34px; object-fit: contain; animation: akMenuFloat 6s ease-in-out infinite; filter: drop-shadow(0 0 10px color-mix(in srgb,var(--aku-w-contact) 45%,transparent)); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-mobile-account-slot { margin-top: 20px; padding-top: 16px; border-color: var(--aku-line); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-mobile-account-slot:empty { display: none; }
html[data-theme=light] #public-home #aknav-mobile[data-ak-menu=worlds] { --menu-shadow: color-mix(in srgb, var(--aku-ink) 13%, transparent); }
html[data-theme=light] #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world {
  background: radial-gradient(ellipse at 50% 15%, color-mix(in srgb, var(--world) 21%, var(--aku-paper)), transparent 90%), linear-gradient(155deg,var(--aku-paper),color-mix(in srgb,var(--world) 12%,var(--aku-day))) !important;
}
/* Home and About are distinct supporting routes; Finance owns the gold aura. */
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick {
  --quick-tone: var(--aku-accent);
  border-color: color-mix(in srgb,var(--quick-tone) 75%,var(--aku-line)) !important;
  background: linear-gradient(135deg,color-mix(in srgb,var(--quick-tone) 30%,var(--aku-sky-2)),color-mix(in srgb,var(--quick-tone) 12%,var(--aku-sky-3))) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb,var(--quick-tone) 45%,var(--aku-text)),0 3px 0 color-mix(in srgb,var(--quick-tone) 40%,var(--aku-sky-3)),0 8px 18px var(--menu-shadow) !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick[data-world=about] { --quick-tone: var(--aku-r4); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick[aria-current=page] { border-color: var(--quick-tone) !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick .ak-menu-here { color: var(--aku-text); }
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick:is(:hover,:focus-visible) {
  background: linear-gradient(135deg,color-mix(in srgb,var(--quick-tone) 40%,var(--aku-sky-2)),color-mix(in srgb,var(--quick-tone) 18%,var(--aku-sky-3))) !important;
}
html[data-theme=light] #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick {
  background: linear-gradient(135deg,color-mix(in srgb,var(--quick-tone) 18%,var(--aku-paper)),color-mix(in srgb,var(--quick-tone) 9%,var(--aku-day))) !important;
}
html[data-theme=light] #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick:is(:hover,:focus-visible) {
  background: linear-gradient(135deg,color-mix(in srgb,var(--quick-tone) 26%,var(--aku-paper)),color-mix(in srgb,var(--quick-tone) 14%,var(--aku-day))) !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world[data-world=finance] {
  border-color: var(--aku-primary) !important;
  box-shadow: inset 0 0 0 1px var(--aku-w-finance),inset 0 1px 0 var(--aku-primary),0 5px 0 color-mix(in srgb,var(--aku-w-finance) 40%,var(--aku-sky-3)),0 0 0 2px color-mix(in srgb,var(--aku-primary) 30%,transparent),0 0 32px color-mix(in srgb,var(--aku-primary) 38%,transparent),0 16px 28px var(--menu-shadow) !important;
}
#public-home #aknav-mobile[data-ak-menu=worlds] [data-world=finance] .ak-menu-art::before {
  border-color: var(--aku-primary);
  box-shadow: 0 0 24px color-mix(in srgb,var(--aku-primary) 38%,transparent);
}
#public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world[data-world=finance] .ak-menu-arrow {
  border-color: var(--aku-primary); background: var(--aku-primary); color: var(--aku-primary-ink);
}
@keyframes akMenuFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -2px; } }
html[data-motion=paused] #public-home #aknav-mobile[data-ak-menu=worlds] *,
#public-home #aknav-mobile[data-ak-menu=worlds]:is([hidden],.is-idle) * { animation-play-state: paused !important; }
#public-home #aknav-mobile[data-ak-menu=worlds] .is-offscreen { animation-play-state: paused !important; }
html[data-motion=paused] #public-home #aknav-mobile[data-ak-menu=worlds] * { transition: none !important; }
/* Home pauses its background via body.paused while the menu is open. The menu
   follows the actual user/system motion setting, not that background-only flag. */
@media(prefers-reduced-motion:no-preference) {
  html[data-motion=running] #public-home #aknav-mobile[data-ak-menu=worlds]:not([hidden]):not(.is-idle) :is(.ak-menu-mascot,.ak-menu-quick-art,.ak-menu-logo):not(.is-offscreen) {
    animation: akMenuFloat 5s ease-in-out var(--menu-delay,0s) infinite !important;
    animation-play-state: running !important;
    transition: transform 240ms !important;
  }
  html[data-motion=running] #public-home #aknav-mobile[data-ak-menu=worlds] [data-world=knowledge] { --menu-delay: -.8s; }
  html[data-motion=running] #public-home #aknav-mobile[data-ak-menu=worlds] [data-world=focus] { --menu-delay: -1.6s; }
  html[data-motion=running] #public-home #aknav-mobile[data-ak-menu=worlds] [data-world=interests] { --menu-delay: -2.4s; }
  html[data-motion=running] #public-home #aknav-mobile[data-ak-menu=worlds]:not([hidden]):not(.is-idle) .ak-menu-arrow { transition: transform 200ms,background 200ms !important; }
}
@media(prefers-reduced-motion:reduce) {
  #public-home #aknav-mobile[data-ak-menu=worlds] *, #public-home #aknav-mobile[data-ak-menu=worlds] *::before { animation: none !important; transition: none !important; transform: none !important; }
}
@media(max-width:520px) {
  #public-home #aknav-mobile[data-ak-menu=worlds] { padding: 16px 20px 24px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-heading { top: -16px; font-size: 22px; margin-bottom: 16px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-mobile-worlds { gap: 18px 14px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world { padding: 12px 12px 16px; min-height: 204px; grid-template-columns: minmax(0,1fr); grid-template-rows: 108px auto; gap: 10px; border-radius: 46% 46% 24px 24px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-art { height: 108px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-art::before { width: 110px; height: 84px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-mascot { width: 104px; height: 92px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world .ak-menu-copy { text-align: center; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-title { font-size: 17px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world .ak-menu-arrow { position: absolute; right: 10px; top: 92px; width: 24px; height: 24px; font-size: 16px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick { padding: 6px 8px; gap: 5px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick .ak-menu-title { font-size: 15px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-quick-art { width: 24px; height: 26px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-here { flex-basis: 100%; text-align: center; font-size: 13px; }
}
@media(max-height:600px) and (min-width:521px) {
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-world { grid-template-rows: 92px auto; min-height: 184px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-art { height: 92px; }
  #public-home #aknav-mobile[data-ak-menu=worlds] .ak-menu-mascot { height: 76px; }
}
