/* shared/shell.css — injected app bar / breadcrumb / footer. Theme via brand.css tokens. */
.vub-skip{position:absolute;left:8px;top:-48px;z-index:60;background:var(--gold);color:var(--navy-deep);font-weight:700;padding:10px 16px;border-radius:8px;text-decoration:none;transition:top .15s}
.vub-skip:focus{top:8px}
.vub-appbar{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#0C2E55,var(--navy-deep));border-bottom:2px solid var(--gold);box-shadow:0 2px 18px rgba(0,0,0,.35)}
.vub-appbar .in{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px;height:70px}
.vub-appbar a.home{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.vub-appbar img.seal{height:46px;width:auto;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.vub-appbar .bn{font-family:var(--font-display);font-weight:800;color:#fff;font-size:20px;line-height:1.05;white-space:nowrap}
.vub-appbar .bt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.vub-appbar .sp{flex:1}
.vub-controls{display:flex;align-items:center;gap:10px}
.vub-textsize{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy-light);border-radius:10px;padding:5px 8px 5px 12px;color:#EAF0FA}
.vub-textsize .lab{font-size:13px;font-weight:600}
.vub-textsize button{all:unset;cursor:pointer;color:#fff;min-width:44px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--navy-light);border-radius:8px;font-size:16px;font-weight:800;letter-spacing:.01em}
.vub-textsize .status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.vub-textsize button:disabled{opacity:.45;cursor:not-allowed}
.vub-help,.vub-instr{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 16px;border-radius:10px;font-size:14.5px;font-weight:700;text-decoration:none}
.vub-help{border:1px solid var(--navy-light);color:#EAF0FA}.vub-help .i{color:var(--gold-light)}
.vub-instr{background:var(--red);border:1px solid var(--red-dark);color:#fff;box-shadow:0 2px 10px rgba(179,25,66,.45)}
.vub-help:hover{background:rgba(94,134,196,.28)}.vub-instr:hover{background:var(--red-dark)}
/* breadcrumb (used by lessons in M5) */
.vub-crumb{background:#F3EFE7;border-bottom:1px solid var(--border);font-size:14px;color:var(--muted)}
.vub-crumb .in{max-width:1080px;margin:0 auto;padding:8px 24px}
.vub-crumb b{color:var(--navy)} .vub-crumb a{color:var(--navy-mid)}
/* footer */
.vub-footer{background:linear-gradient(180deg,#0C2E55,#05192F);color:#AEC0DA;border-top:2px solid var(--gold)}
.vub-footer .in{max-width:1080px;margin:0 auto;padding:24px;display:flex;gap:14px;align-items:center;justify-content:center;text-align:center;font-size:.95rem}
.vub-footer img{height:30px;width:auto}
/* suppress glossary's own floating FAB when the shell provides Help */
body.vub-has-shell .vub-help-fab{display:none!important}
.vub-appbar :focus-visible,.vub-footer :focus-visible{outline:3px solid var(--gold-light);outline-offset:3px;border-radius:6px}
@media (max-width:720px){
  .vub-appbar .in{height:66px;padding:0 14px;gap:10px}
  .vub-appbar img.seal{height:42px}
  .vub-appbar .bn{font-size:18px}
  .vub-appbar .bt{display:none}
  .vub-controls{gap:6px;min-width:0;flex:0 0 auto}
  .vub-textsize{gap:5px;padding:4px 6px}
  .vub-textsize .lab{display:none}
  .vub-textsize button{min-width:40px;min-height:34px}
  .vub-help,.vub-instr{height:38px;padding:0 11px;border-radius:8px}
}
@media (max-width:520px){
  .vub-appbar .in{height:68px;padding:0 10px;gap:8px}
  .vub-appbar a.home{gap:8px;flex:1 1 auto}
  .vub-appbar img.seal{height:40px}
  .vub-appbar .bn{font-size:17px}
  .vub-appbar .sp{display:none}
  .vub-controls{gap:5px}
  .vub-textsize{padding:3px;border-radius:8px}
  .vub-textsize button{min-width:36px;min-height:31px}
  .vub-help,.vub-instr{width:38px;padding:0;justify-content:center}
  .vub-help .label,.vub-instr .label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .vub-instr .chev{font-size:15px}
}
