/* Navigation only: never target answer tiles, drawing tools or scene objects. */
html.bavilo-game-ui [data-bavilo-header] { font-family: var(--bavilo-font); }
html.bavilo-game-ui .bavilo-nav-controls {
  display:flex;align-items:center;gap:8px;flex:0 0 auto;
  margin:0;padding:0;min-width:0;background:none;border:0;box-shadow:none;
}
html.bavilo-game-ui [data-bavilo-control] {
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;width:48px;height:48px;min-width:48px;min-height:48px;
  flex:0 0 48px;margin:0;padding:0;border:1px solid var(--bavilo-line);
  border-radius:16px;background:var(--bavilo-cream) !important;
  color:var(--bavilo-ink);box-shadow:var(--bavilo-button-shadow);text-shadow:none;
  font-size:0!important;line-height:1;text-decoration:none;filter:none;
  cursor:pointer;vertical-align:middle;-webkit-tap-highlight-color:transparent;
  transition:background-color .16s,transform .16s;
}
html.bavilo-game-ui [data-bavilo-control]:not([data-bavilo-control="home"]) > * { display:none!important; }
html.bavilo-game-ui [data-bavilo-control="home"] svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8; }
html.bavilo-game-ui [data-bavilo-control]:hover:not(:disabled) { background:#ffdbcb!important;transform:translateY(-1px); }
html.bavilo-game-ui [data-bavilo-control]:active:not(:disabled) { transform:translateY(1px); }
html.bavilo-game-ui [data-bavilo-control]:focus-visible { outline:3px solid var(--bavilo-focus-ring);outline-offset:4px; }
html.bavilo-game-ui [data-bavilo-control]:disabled { cursor:default;opacity:.5; }
html.bavilo-game-ui [data-bavilo-control][hidden] { display:none!important; }
html.bavilo-game-ui [data-bavilo-control]:not([data-bavilo-control="home"])::before {
  content:'';display:block;position:static;width:24px;height:24px;flex:none;
  background:currentColor;mask:var(--bavilo-control-icon) center/contain no-repeat;
  -webkit-mask:var(--bavilo-control-icon) center/contain no-repeat;
}
html.bavilo-game-ui [data-bavilo-control="back"] { --bavilo-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 5-7 7 7 7M3 12h18'/%3E%3C/svg%3E"); }
html.bavilo-game-ui [data-bavilo-control="sound"] { --bavilo-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 5 9H2v6h3l6 5ZM16 8q4 4 0 8m3-11q7 7 0 14'/%3E%3C/svg%3E"); }
html.bavilo-game-ui [data-bavilo-control="sound"][data-bavilo-muted="true"] { --bavilo-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4 5 9H2v6h3l6 5ZM16 9l6 6m0-6-6 6'/%3E%3C/svg%3E");background:#f1eee8!important; }
html.bavilo-game-ui [data-bavilo-control="restart"] { --bavilo-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 4v6h6M4 10a8 8 0 1 1 0 5'/%3E%3C/svg%3E"); }
html.bavilo-game-ui [data-bavilo-control="pause"] { --bavilo-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M8 5v14M16 5v14'/%3E%3C/svg%3E"); }
html.bavilo-game-ui .bavilo-navigation-logo {
  box-sizing:border-box;object-fit:contain;filter:none;
  padding:3px 6px;border:1px solid var(--bavilo-logo-border,#fff);border-radius:12px;
  background:var(--bavilo-logo-surface,linear-gradient(145deg,#fff,#fffdf8));
  box-shadow:var(--bavilo-logo-shadow,0 3px 0 #28274112,0 9px 22px #28274112);
}
html.bavilo-game-ui .bavilo-game-brand {
  padding:3px 7px;border:1px solid var(--bavilo-logo-border,#fff);border-radius:13px;
  background:var(--bavilo-logo-surface,linear-gradient(145deg,#fff,#fffdf8));
  box-shadow:var(--bavilo-logo-shadow,0 3px 0 #28274112,0 9px 22px #28274112);
}
html.bavilo-game-ui .bavilo-game-brand img { display:block;width:136px;height:40px;object-fit:contain; }
html.bavilo-game-ui .bavilo-game-logo-dock {
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  width:112px;height:48px;min-width:112px;padding:7px 11px;
  border:1px solid var(--bavilo-logo-border,#fff);border-radius:15px;
  background:var(--bavilo-logo-surface,linear-gradient(145deg,#fff,#fffdf8));
  box-shadow:var(--bavilo-logo-shadow,0 3px 0 #28274112,0 9px 22px #28274112);
  text-decoration:none;overflow:hidden;
}
html.bavilo-game-ui .bavilo-game-logo-dock img { display:block;width:88px;height:32px;object-fit:contain; }
html.bavilo-game-ui .bavilo-game-logo-dock:hover { background:#fff!important;transform:translateY(-1px); }
html.bavilo-game-ui .bavilo-game-logo-dock:focus-visible { outline:3px solid var(--bavilo-focus-ring);outline-offset:4px; }
html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock) {
  position:relative;isolation:isolate;padding:4px 8px 4px 0;
}
html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock)::before {
  content:'';position:absolute;z-index:-1;top:-8px;right:0;bottom:-8px;left:-100vmax;
  border:1px solid var(--bavilo-logo-border,#fff);border-left:0;
  border-radius:0 16px 16px 0;background:var(--bavilo-logo-surface,linear-gradient(145deg,#fff,#fffdf8));
  box-shadow:0 6px 18px #28274110;
}
html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock) .bavilo-game-logo-dock {
  border:0;background:transparent;box-shadow:none;
}
html.bavilo-game-ui--janko .top-actions > [data-bavilo-control="sound"] { order:1; }
html.bavilo-game-ui--janko .top-actions > [data-bavilo-control="restart"] { order:2; }
html.bavilo-game-ui--numbers [data-bavilo-header] #world-return { display:none; }
html.bavilo-game-ui--birthday #world > header[data-bavilo-header] { display:flex;flex-wrap:wrap;height:auto;min-height:0; }
html.bavilo-game-ui--birthday #world > header[data-bavilo-header] > .header-right { margin-left:auto; }
html.bavilo-game-ui--birthday #world > header[data-bavilo-header] > .brand { order:3;flex:1 0 100%;text-align:center; }
html.bavilo-game-ui--studio .shell .topbar { grid-template-columns:auto minmax(0,1fr) auto; }
/* Leave room for controls without pushing a long game title off screen. */
html.bavilo-game-ui [data-bavilo-header] :is(.brand,.heading,.titlebox,.top-theme) { min-width:0; }
@media(max-width:700px) {
  html.bavilo-game-ui .bavilo-nav-controls { gap:5px; }
  html.bavilo-game-ui .bavilo-game-logo-dock { width:88px;height:44px;min-width:88px;padding:7px 9px;border-radius:14px; }
  html.bavilo-game-ui .bavilo-game-logo-dock img { width:68px;height:28px; }
  html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock) { padding-right:6px; }
  html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock)::before { top:-6px;bottom:-6px;border-radius:0 14px 14px 0; }
  html.bavilo-game-ui [data-bavilo-control] { width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;border-radius:14px; }
  html.bavilo-game-ui [data-bavilo-header] h1 { text-wrap:balance; }
  html.bavilo-game-ui--studio .shell .topbar { display:flex;flex-wrap:wrap;gap:8px;height:auto;min-height:0; }
  html.bavilo-game-ui--studio .shell .topbar>.heading { order:3;flex:1 0 100%;padding:10px 12px;border-radius:16px;background:var(--bavilo-cream); }
  html.bavilo-game-ui--studio .shell .topbar>.header-tools { margin-left:auto;display:flex;flex-wrap:nowrap;gap:5px; }
  html.bavilo-game-ui--studio .studio-inline-level { width:90px;max-width:90px;min-width:0;font-size:10px; }
  html.bavilo-game-ui--studio .shell .topbar .heading h1 { margin:4px 0 0;font-size:18px;line-height:1.2; }
  html.bavilo-game-ui--studio .shell .topbar .eyebrow { font-size:10px; }
  html.bavilo-game-ui--birds .topbar { gap:6px; }
  html.bavilo-game-ui--birds .topbar .brand { flex:1; }
  html.bavilo-game-ui--birds .topbar .brand h1 { white-space:normal;font-size:12px;line-height:1.1;padding:5px; }
  html.bavilo-game-ui--birds .topbar .brand>img { width:66px;height:24px; }
  html.bavilo-game-ui--birds .topbar .book-button { margin-left:0;padding:5px;min-width:42px; }
  html.bavilo-game-ui--birds .topbar .book-button svg { display:none; }
  html.bavilo-game-ui--janko .topbar { flex-wrap:wrap;gap:10px;padding:12px;height:auto;min-height:0; }
  html.bavilo-game-ui--janko .topbar>.top-actions { margin-left:auto; }
  html.bavilo-game-ui--janko .topbar>.bavilo-game-brand {
    order:3;display:flex;justify-content:center;
    flex:0 0 auto;width:max-content;margin:0 -12px 0 auto;padding:7px 18px 7px 11px;
    border-right:0;border-radius:14px 0 0 14px!important;
  }
  html.bavilo-game-ui--numbers body>header { flex-wrap:wrap;gap:10px; }
  html.bavilo-game-ui--numbers body>header>.brand { order:3;flex-basis:100%; }
  html.bavilo-game-ui--numbers body>header>nav:not(.bavilo-nav-controls) { margin-left:auto;gap:6px;flex-wrap:wrap; }
  html.bavilo-game-ui--birthday #world > header[data-bavilo-header] { gap:8px;padding:12px; }
  html.bavilo-game-ui--birthday #world > header[data-bavilo-header] > .brand { padding:6px 10px;border-radius:14px; }
  html.bavilo-game-ui--birthday #world > header[data-bavilo-header] > .brand h1 { font-size:16px; }
}
/* These scenes scale as one canvas; retain their original coordinate units. */
html:is(.bavilo-game-ui--alphabet,.bavilo-game-ui--alphabet-production) [data-bavilo-control] { width:64px;height:64px;min-width:64px;min-height:64px;flex-basis:64px; }
html:is(.bavilo-game-ui--alphabet,.bavilo-game-ui--alphabet-production) [data-bavilo-control]::before,
html:is(.bavilo-game-ui--alphabet,.bavilo-game-ui--alphabet-production) [data-bavilo-control="home"] svg { width:30px;height:30px; }
@media(prefers-reduced-motion:reduce){html.bavilo-game-ui [data-bavilo-control]{transition:none}}

/* Scene-specific navigation retains its original placement and local steps. */
html.bavilo-game-ui--space .bavilo-space-exit-nav{position:fixed;left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:42;display:flex;align-items:center;gap:8px;pointer-events:auto;}
html.bavilo-game-ui--space body:not([data-mode="title"]):not([data-mode="party"]) .bavilo-space-exit-nav{display:none;}
html.bavilo-game-ui--space .bavilo-space-exit-nav a.space-exit{position:static;inset:auto;z-index:auto;}
html.bavilo-game-ui--space :is(.bavilo-space-exit-nav a, #topbar #btnBack, #topbar #btnSound, #factReplay, #cardReplay){font-family:var(--bavilo-font, Nunito, sans-serif);font-weight:850;color:var(--bavilo-ink, #17172f);border-color:#17172f26;border-radius:16px;text-shadow:none;box-shadow:0 3px 0 #17172f1c, 0 8px 18px #17172f0a;background:var(--bavilo-cream, #fffaf0);pointer-events:auto;}
html.bavilo-game-ui--space :is(#btnExplore, #btnQuiz, #btnAgain, #btnPartyExplore){font-family:var(--bavilo-font, Nunito, sans-serif);font-weight:850;color:var(--bavilo-ink, #17172f);border-color:#17172f26;border-radius:16px;text-shadow:none;box-shadow:0 3px 0 #17172f1c, 0 8px 18px #17172f0a;background:var(--bavilo-gold, #ffb49f);}
html.bavilo-game-ui--space :is(.bavilo-space-exit-nav a, #topbar #btnBack, #topbar #btnSound, #factReplay, #cardReplay, #btnExplore, #btnQuiz, #btnAgain, #btnPartyExplore):focus-visible{outline:3px solid var(--bavilo-ink, #17172f);outline-offset:4px;}
html.bavilo-game-ui--forest-discovery :is(.forest-header .round-button, .bavi-dock #replay, .mission #hint){font-family:var(--bavilo-font, Nunito, sans-serif);font-weight:850;color:var(--bavilo-ink, #17172f);border-color:#17172f26;border-radius:16px;text-shadow:none;box-shadow:0 3px 0 #17172f1c, 0 8px 18px #17172f0a;background:var(--bavilo-cream, #fffaf0);}
html.bavilo-game-ui--forest-discovery :is(#start.gold-button, .forest-scene > .gold-button.again){font-family:var(--bavilo-font, Nunito, sans-serif);font-weight:850;color:var(--bavilo-ink, #17172f);border-color:#17172f26;border-radius:16px;text-shadow:none;box-shadow:0 3px 0 #17172f1c, 0 8px 18px #17172f0a;background:var(--bavilo-gold, #ffb49f);}
html.bavilo-game-ui--forest-discovery :is(.forest-header .round-button, .bavi-dock #replay, .mission #hint, #start.gold-button, .forest-scene > .gold-button.again):focus-visible{outline:3px solid var(--bavilo-ink, #17172f);outline-offset:4px;}

html.bavilo-game-ui [data-bavilo-control="sound"].muted::after{display:none}

/* One compact brand treatment, whether supplied by the game or navigation.
   Keep themed artwork, game titles and existing link handlers intact. */
html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-shell="true"] {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;flex:0 0 auto!important;
  width:140px!important;max-width:100%!important;min-width:0!important;
  height:52px!important;min-height:0!important;margin:0!important;padding:5px 9px!important;
  border:1px solid #fff!important;border-radius:14px!important;
  background:#fffefb!important;box-shadow:0 2px 6px #28274112!important;
}
html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-image="true"] {
  box-sizing:border-box!important;width:120px!important;height:40px!important;max-width:100%!important;
  object-fit:contain!important;object-position:center!important;filter:none!important;
}
html.bavilo-game-ui [data-bavilo-title-only="true"] > span { font-size:clamp(14px,1.5vw,20px);line-height:1.25; }
html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-shell="true"][hidden],
html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-image="true"][hidden] { display:none!important; }
html.bavilo-game-ui [data-bavilo-brand-shell="true"] > [data-bavilo-brand-image="true"] {
  padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html.bavilo-game-ui [data-bavilo-brand-shell="true"]::after,
html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock)::before { display:none!important; }
html.bavilo-game-ui .bavilo-nav-controls:has(.bavilo-game-logo-dock) { padding:0; }
@media(max-width:700px) {
  html.bavilo-game-ui header[data-bavilo-header]:has(>[data-bavilo-title-only]) { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px; }
  html.bavilo-game-ui header[data-bavilo-header]:has(>[data-bavilo-title-only]) > .bavilo-nav-controls { grid-column:1/-1;grid-row:1; }
  html.bavilo-game-ui header[data-bavilo-header] > [data-bavilo-title-only] { grid-column:1;grid-row:2;min-width:0; }
  html.bavilo-game-ui header[data-bavilo-header]:has(>[data-bavilo-title-only]) > nav:not(.bavilo-nav-controls) { grid-column:2;grid-row:2;display:flex;gap:6px;margin-left:0; }
  html.bavilo-game-ui .forest-header[data-bavilo-header],
  html.bavilo-game-ui .game > .topbar[data-bavilo-header],
  html.bavilo-game-ui .game > header[data-bavilo-header]:has(>span.heading) { display:flex!important;flex-wrap:wrap!important;gap:8px!important;height:auto!important;min-height:0!important; }
  html.bavilo-game-ui .forest-header[data-bavilo-header] > :is(.title-plaque,.title),
  html.bavilo-game-ui .game > .topbar[data-bavilo-header] > .heading,
  html.bavilo-game-ui .game > header[data-bavilo-header] > span.heading { order:3;flex:1 0 100%;min-width:0; }
  html.bavilo-game-ui .forest-header[data-bavilo-header] > nav:not(.bavilo-nav-controls),
  html.bavilo-game-ui .game > .topbar[data-bavilo-header] > .top-actions { margin-left:auto; }
  html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-shell="true"] { width:112px!important;height:44px!important;padding:5px 7px!important;border-radius:12px!important; }
  html.bavilo-game-ui [data-bavilo-header] [data-bavilo-brand-image="true"] { width:96px!important;height:32px!important; }
  html.bavilo-game-ui .a-top[data-bavilo-header] { display:flex!important;flex-wrap:wrap;gap:8px; }
  html.bavilo-game-ui .a-top[data-bavilo-header] > .a-spacer { display:none; }
  html.bavilo-game-ui .a-top[data-bavilo-header] > div:has(>h1) { order:3;flex:1 0 100%;min-width:0; }
  html.bavilo-game-ui .a-top[data-bavilo-header] > [data-bavilo-control="sound"] { margin-left:auto; }
  html.bavilo-game-ui header.top[data-bavilo-header]:has(.game-title-row) {
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    height:auto!important;min-height:0!important;gap:6px 10px!important;padding:10px 12px!important;
  }
  html.bavilo-game-ui [data-bavilo-header] .game-title-row { display:contents!important; }
  html.bavilo-game-ui [data-bavilo-header] .game-title-row > .bavilo-nav-controls { grid-column:1;grid-row:1; }
  html.bavilo-game-ui [data-bavilo-header] .game-title-row > [data-bavilo-brand-shell] { grid-column:2;grid-row:1;justify-self:end; }
  html.bavilo-game-ui [data-bavilo-header] .game-title-row > .game-title { grid-column:1/-1;grid-row:2;min-width:0;width:auto;max-width:100%;padding:8px 12px!important; }
  html.bavilo-game-ui header.top[data-bavilo-header]:has(.game-title-row) > .topnav { grid-column:1/-1;grid-row:3;display:flex;width:100%;justify-content:flex-end;gap:8px; }
  html.bavilo-game-ui header.top[data-bavilo-header]:has(.game-title-row) > .topnav > label { margin-right:auto; }
  html.bavilo-game-ui header.top[data-bavilo-header]:has(.game-title-row) > .game-top-progress { display:none; }
}

/* Generated activities previously reserved a single grid cell for Back. */
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] {
  display:flex!important;align-items:center;gap:10px;
}
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] .bavilo-nav-controls { width:auto;min-width:max-content; }
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] .generated-heading { flex:1; }
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] [data-bavilo-control] {
  width:48px;height:48px;min-width:48px;min-height:48px;flex-basis:48px;
  background:var(--bavilo-cream)!important;border:1px solid var(--bavilo-line)!important;
  border-radius:16px;box-shadow:var(--bavilo-button-shadow)!important;filter:none;color:var(--bavilo-ink);
}
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] [data-bavilo-muted="true"] { background:#f1eee8!important; }
html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] [data-bavilo-control]:hover { background:#ffdbcb!important; }
@media(max-width:700px) {
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] { flex-wrap:wrap;gap:8px; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] [data-bavilo-control] { width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;border-radius:14px; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > [data-bavilo-control="sound"] { order:1;margin-left:auto; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > [data-bavilo-control="restart"] { order:2; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > .generated-heading { order:3;flex:1 0 100%; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > .bavilo-inline-level { order:4; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > #round-label { order:5;margin-left:auto; }
  html.bavilo-game-ui--themes body.bavilo-refined .a-top[data-bavilo-header] > .a-spacer { display:none; }
}
